@gitbutler/design-core 1.0.3 → 1.2.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.
- package/README.md +79 -8
- package/core.css +23 -0
- package/package.json +14 -2
- package/styles/base.css +36 -0
- package/styles/reset.css +244 -0
- package/styles/text.css +137 -0
- package/utility/general.css +55 -0
- package/utility/helpers.css +205 -0
- package/utility/layout.min.css +1 -0
- package/utility/utility.css +3 -0
package/README.md
CHANGED
|
@@ -15,13 +15,13 @@ npm install @gitbutler/design-core
|
|
|
15
15
|
Import the design tokens CSS file:
|
|
16
16
|
|
|
17
17
|
```css
|
|
18
|
-
@import
|
|
18
|
+
@import "@gitbutler/design-core/tokens";
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
Or in JavaScript/TypeScript:
|
|
22
22
|
|
|
23
23
|
```javascript
|
|
24
|
-
import
|
|
24
|
+
import "@gitbutler/design-core/tokens";
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
This provides CSS custom properties for colors, spacing, typography, and other design tokens with automatic light/dark mode support.
|
|
@@ -31,7 +31,7 @@ This provides CSS custom properties for colors, spacing, typography, and other d
|
|
|
31
31
|
Import the raw design tokens data:
|
|
32
32
|
|
|
33
33
|
```javascript
|
|
34
|
-
import tokens from
|
|
34
|
+
import tokens from "@gitbutler/design-core/tokens.json";
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
### Fonts
|
|
@@ -39,24 +39,95 @@ import tokens from '@gitbutler/design-core/tokens.json';
|
|
|
39
39
|
Import all fonts:
|
|
40
40
|
|
|
41
41
|
```css
|
|
42
|
-
@import
|
|
42
|
+
@import "@gitbutler/design-core/fonts";
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
Or import individual font families:
|
|
46
46
|
|
|
47
47
|
```css
|
|
48
|
-
@import
|
|
49
|
-
@import
|
|
50
|
-
@import
|
|
51
|
-
@import
|
|
48
|
+
@import "@gitbutler/design-core/fonts/inter/Inter-Regular.woff2";
|
|
49
|
+
@import "@gitbutler/design-core/fonts/geist-mono/GeistMono-Regular.woff2";
|
|
50
|
+
@import "@gitbutler/design-core/fonts/but-head/But-Head-Regular.woff2";
|
|
51
|
+
@import "@gitbutler/design-core/fonts/pp-editorial/PPEditorialNew-Regular.woff2";
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
+
### Core Styles
|
|
55
|
+
|
|
56
|
+
Import the core CSS styles:
|
|
57
|
+
|
|
58
|
+
```css
|
|
59
|
+
@import "@gitbutler/design-core/core";
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Style Utilities
|
|
63
|
+
|
|
64
|
+
Import individual style utilities:
|
|
65
|
+
|
|
66
|
+
```css
|
|
67
|
+
@import "@gitbutler/design-core/styles"; /* Base styles */
|
|
68
|
+
@import "@gitbutler/design-core/styles/base"; /* Base styles */
|
|
69
|
+
@import "@gitbutler/design-core/styles/reset"; /* CSS reset */
|
|
70
|
+
@import "@gitbutler/design-core/styles/text"; /* Text utilities */
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Utility Classes
|
|
74
|
+
|
|
75
|
+
Import all utility classes at once:
|
|
76
|
+
|
|
77
|
+
```css
|
|
78
|
+
@import "@gitbutler/design-core/utility";
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Or in JavaScript/TypeScript:
|
|
82
|
+
|
|
83
|
+
```javascript
|
|
84
|
+
import "@gitbutler/design-core/utility";
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Or import individual utility class files:
|
|
88
|
+
|
|
89
|
+
```css
|
|
90
|
+
@import "@gitbutler/design-core/utility/general"; /* Border radius, colors, borders */
|
|
91
|
+
@import "@gitbutler/design-core/utility/helpers"; /* Scrollbar helpers, stack utilities */
|
|
92
|
+
@import "@gitbutler/design-core/utility/layout"; /* Spacing, positioning, flexbox, overflow, text alignment */
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**General utilities** include:
|
|
96
|
+
|
|
97
|
+
- Border radius (`.radius-s`, `.radius-m`, `.radius-ml`, `.radius-l`)
|
|
98
|
+
- Background colors (`.clr-bg-1`, `.clr-bg-2`, `.clr-bg-3` and their muted variants)
|
|
99
|
+
- Borders (`.clr-border-1`, `.clr-border-2`, `.clr-border-3`)
|
|
100
|
+
- Text colors (`.clr-text-1`, `.clr-text-2`, `.clr-text-3`)
|
|
101
|
+
|
|
102
|
+
**Helper utilities** include:
|
|
103
|
+
|
|
104
|
+
- Scrollbar utilities (`.hide-native-scrollbar`, `.scrollbar`)
|
|
105
|
+
- Stack layouts (`.stack-v`, `.stack-h`)
|
|
106
|
+
|
|
107
|
+
**Layout utilities** include:
|
|
108
|
+
|
|
109
|
+
- Spacing (margin, padding, gap in 2px increments from 2px to 48px)
|
|
110
|
+
- Positioning (`.relative`, `.absolute`, `.fixed`, `.sticky`, positioning utilities)
|
|
111
|
+
- Size (`.full-width`, `.full-height`)
|
|
112
|
+
- Flexbox (`.flex`, `.flex-col`, alignment and justify utilities, flex grow/shrink)
|
|
113
|
+
- Overflow (`.overflow-hidden`, `.overflow-auto`, `.overflow-scroll`, `.overflow-visible`)
|
|
114
|
+
- Text alignment (`.text-center`, `.text-left`, `.text-right`, `.text-nowrap`)
|
|
115
|
+
|
|
54
116
|
## Available Exports
|
|
55
117
|
|
|
56
118
|
- `@gitbutler/design-core/tokens` - CSS custom properties
|
|
57
119
|
- `@gitbutler/design-core/tokens.json` - Design tokens as JSON
|
|
58
120
|
- `@gitbutler/design-core/fonts` - All font CSS declarations
|
|
59
121
|
- `@gitbutler/design-core/fonts/*` - Individual font files
|
|
122
|
+
- `@gitbutler/design-core/core` - Core CSS styles
|
|
123
|
+
- `@gitbutler/design-core/styles` - Base style utilities
|
|
124
|
+
- `@gitbutler/design-core/styles/base` - Base styles
|
|
125
|
+
- `@gitbutler/design-core/styles/reset` - CSS reset
|
|
126
|
+
- `@gitbutler/design-core/styles/text` - Text utilities
|
|
127
|
+
- `@gitbutler/design-core/utility` - All utility classes (combined)
|
|
128
|
+
- `@gitbutler/design-core/utility/general` - General utility classes (borders, colors)
|
|
129
|
+
- `@gitbutler/design-core/utility/helpers` - Helper utility classes (scrollbar, stacks)
|
|
130
|
+
- `@gitbutler/design-core/utility/layout` - Layout utility classes (spacing, flexbox, positioning)
|
|
60
131
|
|
|
61
132
|
## Included Fonts
|
|
62
133
|
|
package/core.css
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitButler Design Core - Single Import
|
|
3
|
+
*
|
|
4
|
+
* This file provides a convenient single import for both fonts and design tokens.
|
|
5
|
+
*
|
|
6
|
+
* USAGE:
|
|
7
|
+
* Import this file: @import '@gitbutler/design-core/core';
|
|
8
|
+
* Or in JS: import '@gitbutler/design-core/core';
|
|
9
|
+
*
|
|
10
|
+
* INCLUDES:
|
|
11
|
+
* - All font definitions (fonts/fonts.css)
|
|
12
|
+
* - All design tokens (tokens/tokens.css)
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/* reset */
|
|
16
|
+
@import "./styles/reset.css";
|
|
17
|
+
/* Import design tokens */
|
|
18
|
+
@import "./tokens/tokens.css";
|
|
19
|
+
/* Import font definitions */
|
|
20
|
+
@import "./fonts/fonts.css";
|
|
21
|
+
/* Base styles */
|
|
22
|
+
@import "./styles/base.css";
|
|
23
|
+
@import "./styles/text.css";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gitbutler/design-core",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Design tokens for GitButler applications",
|
|
6
6
|
"keywords": [
|
|
@@ -19,7 +19,16 @@
|
|
|
19
19
|
"./tokens": "./tokens/tokens.css",
|
|
20
20
|
"./tokens.json": "./tokens/tokens.json",
|
|
21
21
|
"./fonts": "./fonts/fonts.css",
|
|
22
|
-
"./fonts/*": "./fonts/*"
|
|
22
|
+
"./fonts/*": "./fonts/*",
|
|
23
|
+
"./core": "./core.css",
|
|
24
|
+
"./styles": "./styles/base.css",
|
|
25
|
+
"./styles/base": "./styles/base.css",
|
|
26
|
+
"./styles/reset": "./styles/reset.css",
|
|
27
|
+
"./styles/text": "./styles/text.css",
|
|
28
|
+
"./utility": "./utility/utility.css",
|
|
29
|
+
"./utility/general": "./utility/general.css",
|
|
30
|
+
"./utility/helpers": "./utility/helpers.css",
|
|
31
|
+
"./utility/layout": "./utility/layout.min.css"
|
|
23
32
|
},
|
|
24
33
|
"scripts": {
|
|
25
34
|
"build": "npx tz build",
|
|
@@ -35,6 +44,9 @@
|
|
|
35
44
|
"files": [
|
|
36
45
|
"tokens/",
|
|
37
46
|
"fonts/",
|
|
47
|
+
"styles/",
|
|
48
|
+
"utility/",
|
|
49
|
+
"core.css",
|
|
38
50
|
"README.md"
|
|
39
51
|
],
|
|
40
52
|
"publishConfig": {
|
package/styles/base.css
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitButler Base Styles
|
|
3
|
+
*
|
|
4
|
+
* This file contains foundational CSS styles including resets, basic typography,
|
|
5
|
+
* and common element styling that serves as a base for GitButler applications.
|
|
6
|
+
*
|
|
7
|
+
* USAGE:
|
|
8
|
+
* Import this file: @import '@gitbutler/design-core/base';
|
|
9
|
+
* Or in JS: import '@gitbutler/design-core/base';
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/* CSS Reset and Normalization */
|
|
13
|
+
*,
|
|
14
|
+
*::before,
|
|
15
|
+
*::after {
|
|
16
|
+
box-sizing: border-box;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
* {
|
|
20
|
+
margin: 0;
|
|
21
|
+
padding: 0;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
html {
|
|
25
|
+
font-size: 16px;
|
|
26
|
+
line-height: 1.5;
|
|
27
|
+
-webkit-font-smoothing: antialiased;
|
|
28
|
+
-moz-osx-font-smoothing: grayscale;
|
|
29
|
+
text-rendering: optimizeLegibility;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
body {
|
|
33
|
+
overflow-x: hidden;
|
|
34
|
+
color: var(--clr-text-1);
|
|
35
|
+
font-family: var;
|
|
36
|
+
}
|
package/styles/reset.css
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/* BOILERPLATE CSS */
|
|
2
|
+
/* reset all styles */
|
|
3
|
+
@layer reset {
|
|
4
|
+
/* base */
|
|
5
|
+
*,
|
|
6
|
+
:after,
|
|
7
|
+
:before {
|
|
8
|
+
box-sizing: border-box;
|
|
9
|
+
border: 0 solid;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
html {
|
|
13
|
+
overscroll-behavior: none;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
body {
|
|
17
|
+
margin: 0;
|
|
18
|
+
padding: 0;
|
|
19
|
+
line-height: inherit;
|
|
20
|
+
line-height: inherit;
|
|
21
|
+
font-family:
|
|
22
|
+
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
|
|
23
|
+
Arial, "Noto Sans", sans-serif;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* elements */
|
|
27
|
+
hr {
|
|
28
|
+
height: 0;
|
|
29
|
+
border-top-width: 1px;
|
|
30
|
+
color: inherit;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
abbr:where([title]) {
|
|
34
|
+
-webkit-text-decoration: underline dotted;
|
|
35
|
+
text-decoration: underline dotted;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
h1,
|
|
39
|
+
h2,
|
|
40
|
+
h3,
|
|
41
|
+
h4,
|
|
42
|
+
h5,
|
|
43
|
+
h6 {
|
|
44
|
+
font-weight: inherit;
|
|
45
|
+
font-size: inherit;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
a {
|
|
49
|
+
color: inherit;
|
|
50
|
+
text-decoration: inherit;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
b,
|
|
54
|
+
strong {
|
|
55
|
+
font-weight: bolder;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
code,
|
|
59
|
+
kbd,
|
|
60
|
+
pre,
|
|
61
|
+
samp {
|
|
62
|
+
font-size: 1em;
|
|
63
|
+
font-family:
|
|
64
|
+
Söhne Mono,
|
|
65
|
+
monospace;
|
|
66
|
+
font-variation-settings: normal;
|
|
67
|
+
font-feature-settings: normal;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
small {
|
|
71
|
+
font-size: 80%;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
sub,
|
|
75
|
+
sup {
|
|
76
|
+
position: relative;
|
|
77
|
+
font-size: 75%;
|
|
78
|
+
line-height: 0;
|
|
79
|
+
vertical-align: baseline;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
sub {
|
|
83
|
+
bottom: -0.25em;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
sup {
|
|
87
|
+
top: -0.5em;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
table {
|
|
91
|
+
border-color: inherit;
|
|
92
|
+
border-collapse: collapse;
|
|
93
|
+
text-indent: 0;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
button,
|
|
97
|
+
input,
|
|
98
|
+
optgroup,
|
|
99
|
+
select,
|
|
100
|
+
textarea {
|
|
101
|
+
margin: 0;
|
|
102
|
+
padding: 0;
|
|
103
|
+
color: inherit;
|
|
104
|
+
font-weight: inherit;
|
|
105
|
+
font-size: 100%;
|
|
106
|
+
line-height: inherit;
|
|
107
|
+
font-family: inherit;
|
|
108
|
+
font-variation-settings: inherit;
|
|
109
|
+
font-feature-settings: inherit;
|
|
110
|
+
letter-spacing: inherit;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
button,
|
|
114
|
+
select {
|
|
115
|
+
text-transform: none;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
button,
|
|
119
|
+
input:where([type="button"]),
|
|
120
|
+
input:where([type="reset"]),
|
|
121
|
+
input:where([type="submit"]) {
|
|
122
|
+
-webkit-appearance: button;
|
|
123
|
+
background-image: none;
|
|
124
|
+
background-color: transparent;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
:-moz-focusring {
|
|
128
|
+
outline: auto;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
:-moz-ui-invalid {
|
|
132
|
+
box-shadow: none;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
progress {
|
|
136
|
+
vertical-align: baseline;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
::-webkit-inner-spin-button,
|
|
140
|
+
::-webkit-outer-spin-button {
|
|
141
|
+
height: auto;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
[type="search"] {
|
|
145
|
+
-webkit-appearance: textfield;
|
|
146
|
+
outline-offset: -2px;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
::-webkit-search-decoration {
|
|
150
|
+
-webkit-appearance: none;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
::-webkit-file-upload-button {
|
|
154
|
+
-webkit-appearance: button;
|
|
155
|
+
font: inherit;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
summary {
|
|
159
|
+
display: list-item;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
blockquote,
|
|
163
|
+
dd,
|
|
164
|
+
dl,
|
|
165
|
+
figure,
|
|
166
|
+
h1,
|
|
167
|
+
h2,
|
|
168
|
+
h3,
|
|
169
|
+
h4,
|
|
170
|
+
h5,
|
|
171
|
+
h6,
|
|
172
|
+
hr,
|
|
173
|
+
p,
|
|
174
|
+
pre {
|
|
175
|
+
margin: 0;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
fieldset {
|
|
179
|
+
margin: 0;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
fieldset,
|
|
183
|
+
legend {
|
|
184
|
+
padding: 0;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
menu,
|
|
188
|
+
ol,
|
|
189
|
+
ul {
|
|
190
|
+
margin: 0;
|
|
191
|
+
padding: 0;
|
|
192
|
+
list-style: none;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
dialog {
|
|
196
|
+
padding: 0;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
textarea {
|
|
200
|
+
resize: vertical;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
input::-moz-placeholder,
|
|
204
|
+
textarea::-moz-placeholder {
|
|
205
|
+
color: #9ca3af;
|
|
206
|
+
opacity: 1;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
input::placeholder,
|
|
210
|
+
textarea::placeholder {
|
|
211
|
+
color: #9ca3af;
|
|
212
|
+
opacity: 1;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
[role="button"],
|
|
216
|
+
button {
|
|
217
|
+
cursor: pointer;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
:disabled {
|
|
221
|
+
cursor: default;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
audio,
|
|
225
|
+
canvas,
|
|
226
|
+
embed,
|
|
227
|
+
iframe,
|
|
228
|
+
img,
|
|
229
|
+
object,
|
|
230
|
+
video {
|
|
231
|
+
display: block;
|
|
232
|
+
vertical-align: middle;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
img,
|
|
236
|
+
video {
|
|
237
|
+
max-width: 100%;
|
|
238
|
+
height: auto;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
[hidden] {
|
|
242
|
+
display: none;
|
|
243
|
+
}
|
|
244
|
+
}
|
package/styles/text.css
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--font-mono: var(--text-fontfamily-mono), monospace;
|
|
3
|
+
--font-default: var(--text-fontfamily-default), sans-serif;
|
|
4
|
+
--font-accent: var(--text-fontfamily-accent), serif;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
/* text Base Classes */
|
|
8
|
+
.text-9 {
|
|
9
|
+
font-weight: var(--text-weight-regular);
|
|
10
|
+
font-size: 0.563rem;
|
|
11
|
+
line-height: var(--text-lineheight-default);
|
|
12
|
+
font-family: var(--font-default);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.text-10 {
|
|
16
|
+
font-weight: var(--text-weight-regular);
|
|
17
|
+
font-size: 0.625rem;
|
|
18
|
+
line-height: var(--text-lineheight-default);
|
|
19
|
+
font-family: var(--font-default);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.text-11 {
|
|
23
|
+
font-weight: var(--text-weight-regular);
|
|
24
|
+
font-size: 0.6875rem;
|
|
25
|
+
line-height: var(--text-lineheight-default);
|
|
26
|
+
font-family: var(--font-default);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.text-12 {
|
|
30
|
+
font-weight: var(--text-weight-regular);
|
|
31
|
+
font-size: 0.75rem;
|
|
32
|
+
line-height: var(--text-lineheight-default);
|
|
33
|
+
font-family: var(--font-default);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.text-13 {
|
|
37
|
+
font-weight: var(--text-weight-regular);
|
|
38
|
+
font-size: 0.8125rem;
|
|
39
|
+
line-height: var(--text-lineheight-default);
|
|
40
|
+
font-family: var(--font-default);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.text-14 {
|
|
44
|
+
font-weight: var(--text-weight-regular);
|
|
45
|
+
font-size: 0.875rem;
|
|
46
|
+
line-height: var(--text-lineheight-default);
|
|
47
|
+
font-family: var(--font-default);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.text-15 {
|
|
51
|
+
font-weight: var(--text-weight-regular);
|
|
52
|
+
font-size: 0.938rem;
|
|
53
|
+
line-height: var(--text-lineheight-default);
|
|
54
|
+
font-family: var(--font-default);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.text-16 {
|
|
58
|
+
font-weight: var(--text-weight-regular);
|
|
59
|
+
font-size: 1rem;
|
|
60
|
+
line-height: var(--text-lineheight-default);
|
|
61
|
+
font-family: var(--font-default);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.text-18 {
|
|
65
|
+
font-weight: var(--text-weight-regular);
|
|
66
|
+
font-size: 1.125rem;
|
|
67
|
+
line-height: var(--text-lineheight-default);
|
|
68
|
+
font-family: var(--font-default);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* text Head Classes */
|
|
72
|
+
.text-head-20 {
|
|
73
|
+
font-weight: var(--text-weight-bold);
|
|
74
|
+
font-size: 1.25rem;
|
|
75
|
+
line-height: var(--text-lineheight-default);
|
|
76
|
+
font-family: var(--font-default);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.text-head-22 {
|
|
80
|
+
font-weight: var(--text-weight-bold);
|
|
81
|
+
font-size: 1.375rem;
|
|
82
|
+
line-height: var(--text-lineheight-default);
|
|
83
|
+
font-family: var(--font-default);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.text-head-24 {
|
|
87
|
+
font-weight: var(--text-weight-bold);
|
|
88
|
+
font-size: 1.5rem;
|
|
89
|
+
line-height: var(--text-lineheight-default);
|
|
90
|
+
font-family: var(--font-default);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* Serif Classes */
|
|
94
|
+
.text-serif-42 {
|
|
95
|
+
font-weight: 400;
|
|
96
|
+
font-size: 2.625rem;
|
|
97
|
+
line-height: var(--text-lineheight-accent);
|
|
98
|
+
font-family: var(--font-accent);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.text-serif-32 {
|
|
102
|
+
font-weight: 400;
|
|
103
|
+
font-size: 2rem;
|
|
104
|
+
line-height: var(--text-lineheight-accent);
|
|
105
|
+
font-family: var(--font-accent);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/* MODIFIERS */
|
|
109
|
+
|
|
110
|
+
.text-body {
|
|
111
|
+
line-height: var(--text-lineheight-body);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.text-semibold {
|
|
115
|
+
font-weight: var(--text-weight-semibold);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.text-bold {
|
|
119
|
+
font-weight: var(--text-weight-bold);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.text-monospace {
|
|
123
|
+
font-family: var(--fontfamily-mono);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.text-balance {
|
|
127
|
+
text-wrap: balance;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.text-pre {
|
|
131
|
+
white-space: pre-wrap;
|
|
132
|
+
word-break: break-word;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.text-italic {
|
|
136
|
+
font-style: italic;
|
|
137
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/* Border radius */
|
|
2
|
+
.radius-s {
|
|
3
|
+
border-radius: var(--radius-s);
|
|
4
|
+
}
|
|
5
|
+
.radius-m {
|
|
6
|
+
border-radius: var(--radius-m);
|
|
7
|
+
}
|
|
8
|
+
.radius-ml {
|
|
9
|
+
border-radius: var(--radius-ml);
|
|
10
|
+
}
|
|
11
|
+
.radius-l {
|
|
12
|
+
border-radius: var(--radius-l);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/* Background colors */
|
|
16
|
+
.clr-bg-1 {
|
|
17
|
+
background-color: var(--clr-bg-1);
|
|
18
|
+
}
|
|
19
|
+
.clr-bg-1-muted {
|
|
20
|
+
background-color: var(--clr-bg-1-muted);
|
|
21
|
+
}
|
|
22
|
+
.clr-bg-2 {
|
|
23
|
+
background-color: var(--clr-bg-2);
|
|
24
|
+
}
|
|
25
|
+
.clr-bg-2-muted {
|
|
26
|
+
background-color: var(--clr-bg-2-muted);
|
|
27
|
+
}
|
|
28
|
+
.clr-bg-3 {
|
|
29
|
+
background-color: var(--clr-bg-3);
|
|
30
|
+
}
|
|
31
|
+
.clr-bg-3-muted {
|
|
32
|
+
background-color: var(--clr-bg-3-muted);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* Borders */
|
|
36
|
+
.clr-border-1 {
|
|
37
|
+
border: 1px solid var(--clr-border-1);
|
|
38
|
+
}
|
|
39
|
+
.clr-border-2 {
|
|
40
|
+
border: 1px solid var(--clr-border-2);
|
|
41
|
+
}
|
|
42
|
+
.clr-border-3 {
|
|
43
|
+
border: 1px solid var(--clr-border-3);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/* Text colors */
|
|
47
|
+
.clr-text-1 {
|
|
48
|
+
color: var(--clr-text-1);
|
|
49
|
+
}
|
|
50
|
+
.clr-text-2 {
|
|
51
|
+
color: var(--clr-text-2);
|
|
52
|
+
}
|
|
53
|
+
.clr-text-3 {
|
|
54
|
+
color: var(--clr-text-3);
|
|
55
|
+
}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/* scrollbar helpers */
|
|
2
|
+
.hide-native-scrollbar {
|
|
3
|
+
-ms-overflow-style: none;
|
|
4
|
+
scrollbar-width: none;
|
|
5
|
+
|
|
6
|
+
&::-webkit-scrollbar {
|
|
7
|
+
display: none;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/* custom scrollbar */
|
|
12
|
+
.scrollbar,
|
|
13
|
+
pre {
|
|
14
|
+
&::-webkit-scrollbar {
|
|
15
|
+
width: 14px;
|
|
16
|
+
background-color: transaparent;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&::-webkit-scrollbar-track {
|
|
20
|
+
background-color: transaparent;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&::-webkit-scrollbar-thumb {
|
|
24
|
+
border: 4px solid rgba(0, 0, 0, 0);
|
|
25
|
+
border-radius: 12px;
|
|
26
|
+
background-clip: padding-box;
|
|
27
|
+
background-color: var(--clr-border-1);
|
|
28
|
+
opacity: 0.3;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&::-webkit-scrollbar-thumb:hover {
|
|
32
|
+
opacity: 0.8;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&::-webkit-scrollbar-button {
|
|
36
|
+
display: none;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&::-webkit-scrollbar-corner {
|
|
40
|
+
background-color: transparent;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.stack-v {
|
|
45
|
+
display: flex;
|
|
46
|
+
flex-direction: column;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.stack-h {
|
|
50
|
+
display: flex;
|
|
51
|
+
flex-direction: row;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.truncate {
|
|
55
|
+
overflow: hidden;
|
|
56
|
+
text-overflow: ellipsis;
|
|
57
|
+
white-space: nowrap;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.no-select {
|
|
61
|
+
cursor: default;
|
|
62
|
+
user-select: none;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.hide-when-empty {
|
|
66
|
+
&:empty {
|
|
67
|
+
display: none;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.no-pointer-events {
|
|
72
|
+
pointer-events: none;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.pointer-events {
|
|
76
|
+
pointer-events: auto;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.underline {
|
|
80
|
+
text-decoration: underline;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.underline-dotted {
|
|
84
|
+
text-decoration: underline dotted;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.underline,
|
|
88
|
+
.underline-dotted {
|
|
89
|
+
text-underline-offset: 3px;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.capitalize {
|
|
93
|
+
display: inline-block;
|
|
94
|
+
}
|
|
95
|
+
.capitalize:first-letter {
|
|
96
|
+
text-transform: capitalize;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/* OPACITY */
|
|
100
|
+
.op-10 {
|
|
101
|
+
opacity: 0.1;
|
|
102
|
+
}
|
|
103
|
+
.op-20 {
|
|
104
|
+
opacity: 0.2;
|
|
105
|
+
}
|
|
106
|
+
.op-30 {
|
|
107
|
+
opacity: 0.3;
|
|
108
|
+
}
|
|
109
|
+
.op-40 {
|
|
110
|
+
opacity: 0.4;
|
|
111
|
+
}
|
|
112
|
+
.op-50 {
|
|
113
|
+
opacity: 0.5;
|
|
114
|
+
}
|
|
115
|
+
.op-60 {
|
|
116
|
+
opacity: 0.6;
|
|
117
|
+
}
|
|
118
|
+
.op-70 {
|
|
119
|
+
opacity: 0.7;
|
|
120
|
+
}
|
|
121
|
+
.op-80 {
|
|
122
|
+
opacity: 0.8;
|
|
123
|
+
}
|
|
124
|
+
.op-90 {
|
|
125
|
+
opacity: 0.9;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/* ANIMATION */
|
|
129
|
+
|
|
130
|
+
.wiggle-animation {
|
|
131
|
+
animation: wiggle-animation 0.35s forwards;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
@keyframes wiggle-animation {
|
|
135
|
+
0% {
|
|
136
|
+
transform: translateX(-3px);
|
|
137
|
+
}
|
|
138
|
+
25% {
|
|
139
|
+
transform: translateX(3px);
|
|
140
|
+
}
|
|
141
|
+
50% {
|
|
142
|
+
transform: translateX(-2px);
|
|
143
|
+
}
|
|
144
|
+
75% {
|
|
145
|
+
transform: translateX(2px);
|
|
146
|
+
}
|
|
147
|
+
100% {
|
|
148
|
+
transform: translateX(0);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.highlight-animation {
|
|
153
|
+
animation: highlight-animation 0.5s forwards;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
@keyframes highlight-animation {
|
|
157
|
+
0% {
|
|
158
|
+
transform: translate(0, 0) rotate(0deg);
|
|
159
|
+
box-shadow: 0 0 0 0
|
|
160
|
+
color-mix(in srgb, var(--clr-theme-pop-element), transparent, 0.5);
|
|
161
|
+
}
|
|
162
|
+
12.5% {
|
|
163
|
+
transform: translate(-1px, -1px) rotate(-0.5deg);
|
|
164
|
+
box-shadow: 0 0 0 1px var(--clr-theme-pop-element);
|
|
165
|
+
}
|
|
166
|
+
25% {
|
|
167
|
+
transform: translate(1px, 0px) rotate(0.5deg);
|
|
168
|
+
box-shadow: 0 0 0 1.5px var(--clr-theme-pop-element);
|
|
169
|
+
}
|
|
170
|
+
37.5% {
|
|
171
|
+
transform: translate(-1px, 1px) rotate(-0.3deg);
|
|
172
|
+
box-shadow: 0 0 0 2px var(--clr-theme-pop-element);
|
|
173
|
+
}
|
|
174
|
+
50% {
|
|
175
|
+
transform: translate(1px, -1px) rotate(0.3deg);
|
|
176
|
+
box-shadow: 0 0 0 2px var(--clr-theme-pop-element);
|
|
177
|
+
}
|
|
178
|
+
62.5% {
|
|
179
|
+
transform: translate(-1px, 0px) rotate(-0.2deg);
|
|
180
|
+
box-shadow: 0 0 0 1.5px var(--clr-theme-pop-element);
|
|
181
|
+
}
|
|
182
|
+
75% {
|
|
183
|
+
transform: translate(1px, 1px) rotate(0.2deg);
|
|
184
|
+
box-shadow: 0 0 0 1px var(--clr-theme-pop-element);
|
|
185
|
+
}
|
|
186
|
+
87.5% {
|
|
187
|
+
transform: translate(0px, -1px) rotate(-0.1deg);
|
|
188
|
+
box-shadow: 0 0 0 0.5px var(--clr-theme-pop-element);
|
|
189
|
+
}
|
|
190
|
+
100% {
|
|
191
|
+
transform: translate(0, 0) rotate(0deg);
|
|
192
|
+
box-shadow: 0 0 0 0
|
|
193
|
+
color-mix(in srgb, var(--clr-theme-pop-element), transparent, 0.5);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/* ACCESSIBILITY */
|
|
198
|
+
.focus-state {
|
|
199
|
+
outline: none;
|
|
200
|
+
outline-offset: 2px;
|
|
201
|
+
|
|
202
|
+
&:focus-visible {
|
|
203
|
+
outline: 0.094rem solid var(--focus-color);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*Spasing*/.gap-2{gap:2px;}.p-2{padding:2px;}.p-l-2{padding-left:2px;}.p-r-2{padding-right:2px;}.p-t-2{padding-top:2px;}.p-b-2{padding-bottom:2px;}.m-2{margin:2px;}.m-l-2{margin-left:2px;}.m-r-2{margin-right:2px;}.m-t-2{margin-top:2px;}.m-b-2{margin-bottom:2px;}.gap-4{gap:4px;}.p-4{padding:4px;}.p-l-4{padding-left:4px;}.p-r-4{padding-right:4px;}.p-t-4{padding-top:4px;}.p-b-4{padding-bottom:4px;}.m-4{margin:4px;}.m-l-4{margin-left:4px;}.m-r-4{margin-right:4px;}.m-t-4{margin-top:4px;}.m-b-4{margin-bottom:4px;}.gap-6{gap:6px;}.p-6{padding:6px;}.p-l-6{padding-left:6px;}.p-r-6{padding-right:6px;}.p-t-6{padding-top:6px;}.p-b-6{padding-bottom:6px;}.m-6{margin:6px;}.m-l-6{margin-left:6px;}.m-r-6{margin-right:6px;}.m-t-6{margin-top:6px;}.m-b-6{margin-bottom:6px;}.gap-8{gap:8px;}.p-8{padding:8px;}.p-l-8{padding-left:8px;}.p-r-8{padding-right:8px;}.p-t-8{padding-top:8px;}.p-b-8{padding-bottom:8px;}.m-8{margin:8px;}.m-l-8{margin-left:8px;}.m-r-8{margin-right:8px;}.m-t-8{margin-top:8px;}.m-b-8{margin-bottom:8px;}.gap-10{gap:10px;}.p-10{padding:10px;}.p-l-10{padding-left:10px;}.p-r-10{padding-right:10px;}.p-t-10{padding-top:10px;}.p-b-10{padding-bottom:10px;}.m-10{margin:10px;}.m-l-10{margin-left:10px;}.m-r-10{margin-right:10px;}.m-t-10{margin-top:10px;}.m-b-10{margin-bottom:10px;}.gap-12{gap:12px;}.p-12{padding:12px;}.p-l-12{padding-left:12px;}.p-r-12{padding-right:12px;}.p-t-12{padding-top:12px;}.p-b-12{padding-bottom:12px;}.m-12{margin:12px;}.m-l-12{margin-left:12px;}.m-r-12{margin-right:12px;}.m-t-12{margin-top:12px;}.m-b-12{margin-bottom:12px;}.gap-14{gap:14px;}.p-14{padding:14px;}.p-l-14{padding-left:14px;}.p-r-14{padding-right:14px;}.p-t-14{padding-top:14px;}.p-b-14{padding-bottom:14px;}.m-14{margin:14px;}.m-l-14{margin-left:14px;}.m-r-14{margin-right:14px;}.m-t-14{margin-top:14px;}.m-b-14{margin-bottom:14px;}.gap-16{gap:16px;}.p-16{padding:16px;}.p-l-16{padding-left:16px;}.p-r-16{padding-right:16px;}.p-t-16{padding-top:16px;}.p-b-16{padding-bottom:16px;}.m-16{margin:16px;}.m-l-16{margin-left:16px;}.m-r-16{margin-right:16px;}.m-t-16{margin-top:16px;}.m-b-16{margin-bottom:16px;}.gap-20{gap:20px;}.p-20{padding:20px;}.p-l-20{padding-left:20px;}.p-r-20{padding-right:20px;}.p-t-20{padding-top:20px;}.p-b-20{padding-bottom:20px;}.m-20{margin:20px;}.m-l-20{margin-left:20px;}.m-r-20{margin-right:20px;}.m-t-20{margin-top:20px;}.m-b-20{margin-bottom:20px;}.gap-24{gap:24px;}.p-24{padding:24px;}.p-l-24{padding-left:24px;}.p-r-24{padding-right:24px;}.p-t-24{padding-top:24px;}.p-b-24{padding-bottom:24px;}.m-24{margin:24px;}.m-l-24{margin-left:24px;}.m-r-24{margin-right:24px;}.m-t-24{margin-top:24px;}.m-b-24{margin-bottom:24px;}.gap-28{gap:28px;}.p-28{padding:28px;}.p-l-28{padding-left:28px;}.p-r-28{padding-right:28px;}.p-t-28{padding-top:28px;}.p-b-28{padding-bottom:28px;}.m-28{margin:28px;}.m-l-28{margin-left:28px;}.m-r-28{margin-right:28px;}.m-t-28{margin-top:28px;}.m-b-28{margin-bottom:28px;}.gap-32{gap:32px;}.p-32{padding:32px;}.p-l-32{padding-left:32px;}.p-r-32{padding-right:32px;}.p-t-32{padding-top:32px;}.p-b-32{padding-bottom:32px;}.m-32{margin:32px;}.m-l-32{margin-left:32px;}.m-r-32{margin-right:32px;}.m-t-32{margin-top:32px;}.m-b-32{margin-bottom:32px;}.gap-36{gap:36px;}.p-36{padding:36px;}.p-l-36{padding-left:36px;}.p-r-36{padding-right:36px;}.p-t-36{padding-top:36px;}.p-b-36{padding-bottom:36px;}.m-36{margin:36px;}.m-l-36{margin-left:36px;}.m-r-36{margin-right:36px;}.m-t-36{margin-top:36px;}.m-b-36{margin-bottom:36px;}.gap-40{gap:40px;}.p-40{padding:40px;}.p-l-40{padding-left:40px;}.p-r-40{padding-right:40px;}.p-t-40{padding-top:40px;}.p-b-40{padding-bottom:40px;}.m-40{margin:40px;}.m-l-40{margin-left:40px;}.m-r-40{margin-right:40px;}.m-t-40{margin-top:40px;}.m-b-40{margin-bottom:40px;}.gap-44{gap:44px;}.p-44{padding:44px;}.p-l-44{padding-left:44px;}.p-r-44{padding-right:44px;}.p-t-44{padding-top:44px;}.p-b-44{padding-bottom:44px;}.m-44{margin:44px;}.m-l-44{margin-left:44px;}.m-r-44{margin-right:44px;}.m-t-44{margin-top:44px;}.m-b-44{margin-bottom:44px;}.gap-48{gap:48px;}.p-48{padding:48px;}.p-l-48{padding-left:48px;}.p-r-48{padding-right:48px;}.p-t-48{padding-top:48px;}.p-b-48{padding-bottom:48px;}.m-48{margin:48px;}.m-l-48{margin-left:48px;}.m-r-48{margin-right:48px;}.m-t-48{margin-top:48px;}.m-b-48{margin-bottom:48px;}/*Position*/.relative{position:relative;}.absolute{position:absolute;}.fixed{position:fixed;}.sticky{position:sticky;}.top-0{top:0;}.bottom-0{bottom:0;}.left-0{left:0;}.right-0{right:0;}/*Size*/.full-width{width:100%;}.full-height{height:100%;}/*Flexbox*/.flex{display:flex;}.flex-col{flex-direction:column;}.items-center{align-items:center;}.justify-center{justify-content:center;}.justify-between{justify-content:space-between;}.justify-end{justify-content:flex-end;}.full-width{width:100%;}.full-height{height:100%;}.flex-1{flex:1;}.flex-2{flex:2;}.flex-3{flex:3;}.flex-4{flex:4;}.flex-5{flex:5;}.flex-shrink-0{flex-shrink:0;}.flex-wrap{flex-wrap:wrap;}.flex-nowrap{flex-wrap:nowrap;}.grow{flex-grow:1;}/*Overflow*/.overflow-hidden{overflow:hidden;}.overflow-auto{overflow:auto;}.overflow-scroll{overflow:scroll;}.overflow-visible{overflow:visible;}/*Text*/.text-center{text-align:center;}.text-left{text-align:left;}.text-right{text-align:right;}.text-nowrap{white-space:nowrap;}
|