@vialiq/flux-ui 0.0.1
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 +409 -0
- package/_index.scss +13 -0
- package/components/_button.scss +25 -0
- package/components/_index.scss +3 -0
- package/flux-ui.css +1 -0
- package/flux-ui.css.map +1 -0
- package/flux-ui.scss +15 -0
- package/index.d.ts +11 -0
- package/index.js +205 -0
- package/package.json +37 -0
- package/styles/_index.scss +7 -0
- package/styles/_layout.scss +223 -0
- package/styles/_reset.scss +192 -0
- package/styles/_root.scss +112 -0
- package/styles/_theme.scss +175 -0
- package/styles/_utilities.scss +434 -0
- package/styles/_variables.scss +323 -0
- package/styles/index.d.ts +26 -0
- package/styles/index.js +10 -0
- package/tokens/index.d.ts +218 -0
- package/tokens/index.js +205 -0
package/index.js
ADDED
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
// libs/flux-ui/src/tokens/index.ts
|
|
2
|
+
var tokens = {
|
|
3
|
+
/**
|
|
4
|
+
* COLOR TOKENS
|
|
5
|
+
* Primary brand colors, semantic colors for states, and functional colors
|
|
6
|
+
*/
|
|
7
|
+
colors: {
|
|
8
|
+
primary: "var(--vi-color-primary)",
|
|
9
|
+
secondary: "var(--vi-color-secondary)",
|
|
10
|
+
success: "var(--vi-color-success)",
|
|
11
|
+
warning: "var(--vi-color-warning)",
|
|
12
|
+
error: "var(--vi-color-error)",
|
|
13
|
+
info: "var(--vi-color-info)",
|
|
14
|
+
// Neutral palette (grey aliases)
|
|
15
|
+
neutral: {
|
|
16
|
+
100: "var(--vi-color-grey-100)",
|
|
17
|
+
200: "var(--vi-color-grey-200)",
|
|
18
|
+
300: "var(--vi-color-grey-300)",
|
|
19
|
+
400: "var(--vi-color-grey-400)",
|
|
20
|
+
500: "var(--vi-color-grey-500)",
|
|
21
|
+
600: "var(--vi-color-grey-600)",
|
|
22
|
+
700: "var(--vi-color-grey-700)",
|
|
23
|
+
800: "var(--vi-color-grey-800)",
|
|
24
|
+
900: "var(--vi-color-grey-900)"
|
|
25
|
+
},
|
|
26
|
+
// Color palettes
|
|
27
|
+
palettes: {
|
|
28
|
+
grey: {
|
|
29
|
+
100: "var(--vi-color-grey-100)",
|
|
30
|
+
200: "var(--vi-color-grey-200)",
|
|
31
|
+
300: "var(--vi-color-grey-300)",
|
|
32
|
+
400: "var(--vi-color-grey-400)",
|
|
33
|
+
500: "var(--vi-color-grey-500)",
|
|
34
|
+
600: "var(--vi-color-grey-600)",
|
|
35
|
+
700: "var(--vi-color-grey-700)",
|
|
36
|
+
800: "var(--vi-color-grey-800)",
|
|
37
|
+
900: "var(--vi-color-grey-900)"
|
|
38
|
+
},
|
|
39
|
+
red: {
|
|
40
|
+
100: "var(--vi-color-red-100)",
|
|
41
|
+
200: "var(--vi-color-red-200)",
|
|
42
|
+
300: "var(--vi-color-red-300)",
|
|
43
|
+
400: "var(--vi-color-red-400)",
|
|
44
|
+
500: "var(--vi-color-red-500)",
|
|
45
|
+
600: "var(--vi-color-red-600)",
|
|
46
|
+
700: "var(--vi-color-red-700)",
|
|
47
|
+
800: "var(--vi-color-red-800)",
|
|
48
|
+
900: "var(--vi-color-red-900)"
|
|
49
|
+
},
|
|
50
|
+
yellow: {
|
|
51
|
+
100: "var(--vi-color-yellow-100)",
|
|
52
|
+
200: "var(--vi-color-yellow-200)",
|
|
53
|
+
300: "var(--vi-color-yellow-300)",
|
|
54
|
+
400: "var(--vi-color-yellow-400)",
|
|
55
|
+
500: "var(--vi-color-yellow-500)",
|
|
56
|
+
600: "var(--vi-color-yellow-600)",
|
|
57
|
+
700: "var(--vi-color-yellow-700)",
|
|
58
|
+
800: "var(--vi-color-yellow-800)",
|
|
59
|
+
900: "var(--vi-color-yellow-900)"
|
|
60
|
+
},
|
|
61
|
+
green: {
|
|
62
|
+
100: "var(--vi-color-green-100)",
|
|
63
|
+
200: "var(--vi-color-green-200)",
|
|
64
|
+
300: "var(--vi-color-green-300)",
|
|
65
|
+
400: "var(--vi-color-green-400)",
|
|
66
|
+
500: "var(--vi-color-green-500)",
|
|
67
|
+
600: "var(--vi-color-green-600)",
|
|
68
|
+
700: "var(--vi-color-green-700)",
|
|
69
|
+
800: "var(--vi-color-green-800)",
|
|
70
|
+
900: "var(--vi-color-green-900)"
|
|
71
|
+
},
|
|
72
|
+
blue: {
|
|
73
|
+
100: "var(--vi-color-blue-100)",
|
|
74
|
+
200: "var(--vi-color-blue-200)",
|
|
75
|
+
300: "var(--vi-color-blue-300)",
|
|
76
|
+
400: "var(--vi-color-blue-400)",
|
|
77
|
+
500: "var(--vi-color-blue-500)",
|
|
78
|
+
600: "var(--vi-color-blue-600)",
|
|
79
|
+
700: "var(--vi-color-blue-700)",
|
|
80
|
+
800: "var(--vi-color-blue-800)",
|
|
81
|
+
900: "var(--vi-color-blue-900)"
|
|
82
|
+
},
|
|
83
|
+
purple: {
|
|
84
|
+
100: "var(--vi-color-purple-100)",
|
|
85
|
+
200: "var(--vi-color-purple-200)",
|
|
86
|
+
300: "var(--vi-color-purple-300)",
|
|
87
|
+
400: "var(--vi-color-purple-400)",
|
|
88
|
+
500: "var(--vi-color-purple-500)",
|
|
89
|
+
600: "var(--vi-color-purple-600)",
|
|
90
|
+
700: "var(--vi-color-purple-700)",
|
|
91
|
+
800: "var(--vi-color-purple-800)",
|
|
92
|
+
900: "var(--vi-color-purple-900)"
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
// Functional colors
|
|
96
|
+
background: "var(--vi-color-background)",
|
|
97
|
+
foreground: "var(--vi-color-foreground)",
|
|
98
|
+
border: "var(--vi-color-border)"
|
|
99
|
+
},
|
|
100
|
+
/**
|
|
101
|
+
* SPACING TOKENS
|
|
102
|
+
* 8px base unit system: xs (8px), sm (16px), md (24px), lg (32px), xl (40px), etc.
|
|
103
|
+
*/
|
|
104
|
+
spacing: {
|
|
105
|
+
xs: "var(--vi-spacing-xs)",
|
|
106
|
+
sm: "var(--vi-spacing-sm)",
|
|
107
|
+
md: "var(--vi-spacing-md)",
|
|
108
|
+
lg: "var(--vi-spacing-lg)",
|
|
109
|
+
xl: "var(--vi-spacing-xl)",
|
|
110
|
+
"2xl": "var(--vi-spacing-2xl)",
|
|
111
|
+
"3xl": "var(--vi-spacing-3xl)"
|
|
112
|
+
},
|
|
113
|
+
/**
|
|
114
|
+
* TYPOGRAPHY TOKENS
|
|
115
|
+
* Font families, sizes, weights, and line heights
|
|
116
|
+
*/
|
|
117
|
+
typography: {
|
|
118
|
+
fontFamily: {
|
|
119
|
+
base: "var(--vi-font-family-base)",
|
|
120
|
+
mono: "var(--vi-font-family-mono)"
|
|
121
|
+
},
|
|
122
|
+
fontSize: {
|
|
123
|
+
xs: "var(--vi-font-size-xs)",
|
|
124
|
+
sm: "var(--vi-font-size-sm)",
|
|
125
|
+
base: "var(--vi-font-size-base)",
|
|
126
|
+
lg: "var(--vi-font-size-lg)",
|
|
127
|
+
xl: "var(--vi-font-size-xl)",
|
|
128
|
+
"2xl": "var(--vi-font-size-2xl)",
|
|
129
|
+
"3xl": "var(--vi-font-size-3xl)"
|
|
130
|
+
},
|
|
131
|
+
fontWeight: {
|
|
132
|
+
light: 300,
|
|
133
|
+
normal: 400,
|
|
134
|
+
medium: 500,
|
|
135
|
+
semibold: 600,
|
|
136
|
+
bold: 700
|
|
137
|
+
},
|
|
138
|
+
lineHeight: {
|
|
139
|
+
tight: 1.2,
|
|
140
|
+
normal: 1.5,
|
|
141
|
+
relaxed: 1.75
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
/**
|
|
145
|
+
* SHADOW TOKENS
|
|
146
|
+
* Depth levels for elevation
|
|
147
|
+
*/
|
|
148
|
+
shadows: {
|
|
149
|
+
sm: "var(--vi-shadow-sm)",
|
|
150
|
+
md: "var(--vi-shadow-md)",
|
|
151
|
+
lg: "var(--vi-shadow-lg)",
|
|
152
|
+
xl: "var(--vi-shadow-xl)"
|
|
153
|
+
},
|
|
154
|
+
/**
|
|
155
|
+
* BORDER TOKENS
|
|
156
|
+
* Border radius and widths
|
|
157
|
+
*/
|
|
158
|
+
borders: {
|
|
159
|
+
radius: {
|
|
160
|
+
sm: "var(--vi-border-radius-sm)",
|
|
161
|
+
md: "var(--vi-border-radius-md)",
|
|
162
|
+
lg: "var(--vi-border-radius-lg)",
|
|
163
|
+
xl: "var(--vi-border-radius-xl)"
|
|
164
|
+
},
|
|
165
|
+
width: {
|
|
166
|
+
thin: "var(--vi-border-width-thin)",
|
|
167
|
+
base: "var(--vi-border-width-base)",
|
|
168
|
+
thick: "var(--vi-border-width-thick)"
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
/**
|
|
172
|
+
* BREAKPOINT TOKENS
|
|
173
|
+
* Responsive design breakpoints (raw pixel values, not CSS vars)
|
|
174
|
+
* Use in a JS template literal: `@media (min-width: ${tokens.breakpoints.sm})`
|
|
175
|
+
* Use in plain CSS: @media (min-width: 640px)
|
|
176
|
+
*/
|
|
177
|
+
breakpoints: {
|
|
178
|
+
xs: "0",
|
|
179
|
+
sm: "640px",
|
|
180
|
+
md: "768px",
|
|
181
|
+
lg: "1024px",
|
|
182
|
+
xl: "1280px",
|
|
183
|
+
"2xl": "1536px"
|
|
184
|
+
},
|
|
185
|
+
/**
|
|
186
|
+
* Z-INDEX TOKENS
|
|
187
|
+
* Stacking context levels (raw integers, not CSS vars)
|
|
188
|
+
* Use in CSS: z-index: tokens.zIndex.modal (e.g. 1050)
|
|
189
|
+
*/
|
|
190
|
+
zIndex: {
|
|
191
|
+
hide: -1,
|
|
192
|
+
auto: "auto",
|
|
193
|
+
base: 0,
|
|
194
|
+
dropdown: 1e3,
|
|
195
|
+
sticky: 1020,
|
|
196
|
+
fixed: 1030,
|
|
197
|
+
backdrop: 1040,
|
|
198
|
+
modal: 1050,
|
|
199
|
+
popover: 1060,
|
|
200
|
+
tooltip: 1070
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
export {
|
|
204
|
+
tokens
|
|
205
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@vialiq/flux-ui",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Custom minimal CSS/SASS framework for microfrontend product",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"module": "./index.js",
|
|
8
|
+
"types": "./index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./index.js",
|
|
12
|
+
"types": "./index.d.ts"
|
|
13
|
+
},
|
|
14
|
+
"./tokens": {
|
|
15
|
+
"import": "./tokens/index.js",
|
|
16
|
+
"types": "./tokens/index.d.ts"
|
|
17
|
+
},
|
|
18
|
+
"./styles": "./styles/_index.scss",
|
|
19
|
+
"./styles/*": "./styles/_*.scss",
|
|
20
|
+
"./components": "./components/_index.scss",
|
|
21
|
+
"./components/*": "./components/_*.scss",
|
|
22
|
+
"./flux-ui.css": "./flux-ui.css"
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
"index.js",
|
|
26
|
+
"index.d.ts",
|
|
27
|
+
"index.js.map",
|
|
28
|
+
"index.d.ts.map",
|
|
29
|
+
"*.scss",
|
|
30
|
+
"styles/",
|
|
31
|
+
"components/",
|
|
32
|
+
"tokens/",
|
|
33
|
+
"flux-ui.css",
|
|
34
|
+
"flux-ui.css.map",
|
|
35
|
+
"README.md"
|
|
36
|
+
]
|
|
37
|
+
}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layout Utilities
|
|
3
|
+
* ================
|
|
4
|
+
* Flexbox and Grid utility styles for common layout patterns
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
@use './variables' as *;
|
|
8
|
+
|
|
9
|
+
@layer utilities {
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// FLEXBOX
|
|
12
|
+
// ============================================================================
|
|
13
|
+
|
|
14
|
+
.flex {
|
|
15
|
+
display: flex;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.flex-col {
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.flex-row {
|
|
23
|
+
flex-direction: row;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.flex-wrap {
|
|
27
|
+
flex-wrap: wrap;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.flex-nowrap {
|
|
31
|
+
flex-wrap: nowrap;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.justify-start {
|
|
35
|
+
justify-content: flex-start;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.justify-center {
|
|
39
|
+
justify-content: center;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.justify-end {
|
|
43
|
+
justify-content: flex-end;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.justify-between {
|
|
47
|
+
justify-content: space-between;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.justify-around {
|
|
51
|
+
justify-content: space-around;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.items-start {
|
|
55
|
+
align-items: flex-start;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.items-center {
|
|
59
|
+
align-items: center;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.items-end {
|
|
63
|
+
align-items: flex-end;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.items-stretch {
|
|
67
|
+
align-items: stretch;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.gap-xs {
|
|
71
|
+
gap: $spacing-xs;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.gap-sm {
|
|
75
|
+
gap: $spacing-sm;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.gap-md {
|
|
79
|
+
gap: $spacing-md;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.gap-lg {
|
|
83
|
+
gap: $spacing-lg;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.gap-xl {
|
|
87
|
+
gap: $spacing-xl;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.flex-1 {
|
|
91
|
+
flex: 1;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.flex-grow {
|
|
95
|
+
flex-grow: 1;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.flex-shrink-0 {
|
|
99
|
+
flex-shrink: 0;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// ============================================================================
|
|
103
|
+
// GRID
|
|
104
|
+
// ============================================================================
|
|
105
|
+
|
|
106
|
+
.grid {
|
|
107
|
+
display: grid;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.grid-cols-1 {
|
|
111
|
+
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.grid-cols-2 {
|
|
115
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.grid-cols-3 {
|
|
119
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.grid-cols-4 {
|
|
123
|
+
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.grid-cols-auto-fit {
|
|
127
|
+
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// ============================================================================
|
|
131
|
+
// DISPLAY
|
|
132
|
+
// ============================================================================
|
|
133
|
+
|
|
134
|
+
.hidden {
|
|
135
|
+
display: none;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.block {
|
|
139
|
+
display: block;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.inline-block {
|
|
143
|
+
display: inline-block;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.inline {
|
|
147
|
+
display: inline;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// ============================================================================
|
|
151
|
+
// POSITIONING
|
|
152
|
+
// ============================================================================
|
|
153
|
+
|
|
154
|
+
.relative {
|
|
155
|
+
position: relative;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.absolute {
|
|
159
|
+
position: absolute;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.fixed {
|
|
163
|
+
position: fixed;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.static {
|
|
167
|
+
position: static;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.sticky {
|
|
171
|
+
position: sticky;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// ============================================================================
|
|
175
|
+
// SIZING
|
|
176
|
+
// ============================================================================
|
|
177
|
+
|
|
178
|
+
.w-full {
|
|
179
|
+
width: 100%;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.w-auto {
|
|
183
|
+
width: auto;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.h-full {
|
|
187
|
+
height: 100%;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.h-auto {
|
|
191
|
+
height: auto;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.min-h-screen {
|
|
195
|
+
min-height: 100vh;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.max-w-container {
|
|
199
|
+
max-width: 1200px;
|
|
200
|
+
margin-left: auto;
|
|
201
|
+
margin-right: auto;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
// ============================================================================
|
|
205
|
+
// OVERFLOW
|
|
206
|
+
// ============================================================================
|
|
207
|
+
|
|
208
|
+
.overflow-hidden {
|
|
209
|
+
overflow: hidden;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.overflow-auto {
|
|
213
|
+
overflow: auto;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.overflow-x-auto {
|
|
217
|
+
overflow-x: auto;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
.overflow-y-auto {
|
|
221
|
+
overflow-y: auto;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reset Styles
|
|
3
|
+
* ============
|
|
4
|
+
* Minimal, MFE-safe reset that doesn't conflict with other frameworks.
|
|
5
|
+
* Uses CSS Layers for cascade management.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
@use './variables' as *;
|
|
9
|
+
|
|
10
|
+
@layer reset {
|
|
11
|
+
// ============================================================================
|
|
12
|
+
// BOX MODEL
|
|
13
|
+
// ============================================================================
|
|
14
|
+
|
|
15
|
+
*,
|
|
16
|
+
*::before,
|
|
17
|
+
*::after {
|
|
18
|
+
box-sizing: border-box;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// ============================================================================
|
|
22
|
+
// DOCUMENT ROOT
|
|
23
|
+
// ============================================================================
|
|
24
|
+
|
|
25
|
+
html {
|
|
26
|
+
// Improve line spacing, prevent font size inflation
|
|
27
|
+
-webkit-text-size-adjust: 100%;
|
|
28
|
+
-ms-text-size-adjust: 100%;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// ============================================================================
|
|
32
|
+
// BODY
|
|
33
|
+
// ============================================================================
|
|
34
|
+
|
|
35
|
+
body {
|
|
36
|
+
margin: 0;
|
|
37
|
+
padding: 0;
|
|
38
|
+
font-family: $font-family-base;
|
|
39
|
+
font-size: $font-size-base;
|
|
40
|
+
line-height: $line-height-normal;
|
|
41
|
+
color: $color-foreground;
|
|
42
|
+
background-color: $color-background;
|
|
43
|
+
-webkit-font-smoothing: antialiased;
|
|
44
|
+
-moz-osx-font-smoothing: grayscale;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// ============================================================================
|
|
48
|
+
// TEXT ELEMENTS
|
|
49
|
+
// ============================================================================
|
|
50
|
+
|
|
51
|
+
p, h1, h2, h3, h4, h5, h6, ul, ol, dl {
|
|
52
|
+
margin: 0;
|
|
53
|
+
padding: 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
h1, h2, h3, h4, h5, h6 {
|
|
57
|
+
font-weight: inherit;
|
|
58
|
+
font-size: inherit;
|
|
59
|
+
line-height: inherit;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
ul, ol {
|
|
63
|
+
list-style: none;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// ============================================================================
|
|
67
|
+
// LINKS
|
|
68
|
+
// ============================================================================
|
|
69
|
+
|
|
70
|
+
a {
|
|
71
|
+
color: inherit;
|
|
72
|
+
text-decoration: none;
|
|
73
|
+
background-color: transparent;
|
|
74
|
+
|
|
75
|
+
&:active,
|
|
76
|
+
&:hover {
|
|
77
|
+
outline: 0;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// ============================================================================
|
|
82
|
+
// CODE
|
|
83
|
+
// ============================================================================
|
|
84
|
+
|
|
85
|
+
code, pre, samp {
|
|
86
|
+
font-family: $font-family-mono;
|
|
87
|
+
font-size: 1em;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
pre {
|
|
91
|
+
margin: 0;
|
|
92
|
+
overflow: auto;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// ============================================================================
|
|
96
|
+
// FORM ELEMENTS
|
|
97
|
+
// ============================================================================
|
|
98
|
+
|
|
99
|
+
button,
|
|
100
|
+
input,
|
|
101
|
+
select,
|
|
102
|
+
textarea {
|
|
103
|
+
margin: 0;
|
|
104
|
+
padding: 0;
|
|
105
|
+
font-family: inherit;
|
|
106
|
+
font-size: 100%;
|
|
107
|
+
line-height: 1.15;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
button,
|
|
111
|
+
input[type="button"],
|
|
112
|
+
input[type="reset"],
|
|
113
|
+
input[type="submit"] {
|
|
114
|
+
background: transparent;
|
|
115
|
+
border: 0;
|
|
116
|
+
cursor: pointer;
|
|
117
|
+
-webkit-appearance: button;
|
|
118
|
+
|
|
119
|
+
&::-moz-focus-inner {
|
|
120
|
+
padding: 0;
|
|
121
|
+
border: 0;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
input[type="checkbox"] {
|
|
126
|
+
padding: 0;
|
|
127
|
+
-webkit-appearance: checkbox;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
input[type="radio"] {
|
|
131
|
+
padding: 0;
|
|
132
|
+
-webkit-appearance: radio;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
textarea {
|
|
136
|
+
overflow: auto;
|
|
137
|
+
resize: vertical;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// ============================================================================
|
|
141
|
+
// TABLES
|
|
142
|
+
// ============================================================================
|
|
143
|
+
|
|
144
|
+
table {
|
|
145
|
+
border-collapse: collapse;
|
|
146
|
+
border-spacing: 0;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
td,
|
|
150
|
+
th {
|
|
151
|
+
padding: 0;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// ============================================================================
|
|
155
|
+
// IMAGES & MEDIA
|
|
156
|
+
// ============================================================================
|
|
157
|
+
|
|
158
|
+
img,
|
|
159
|
+
svg {
|
|
160
|
+
max-width: 100%;
|
|
161
|
+
height: auto;
|
|
162
|
+
display: block;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
img {
|
|
166
|
+
border: 0;
|
|
167
|
+
vertical-align: middle;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// ============================================================================
|
|
171
|
+
// EMBEDDED CONTENT
|
|
172
|
+
// ============================================================================
|
|
173
|
+
|
|
174
|
+
iframe,
|
|
175
|
+
video {
|
|
176
|
+
max-width: 100%;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// ============================================================================
|
|
180
|
+
// MISCELLANEOUS
|
|
181
|
+
// ============================================================================
|
|
182
|
+
|
|
183
|
+
[hidden] {
|
|
184
|
+
display: none;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
hr {
|
|
188
|
+
margin: 0;
|
|
189
|
+
border: 0;
|
|
190
|
+
border-top: 1px solid $color-border;
|
|
191
|
+
}
|
|
192
|
+
}
|