@carbon/element-styles 0.3.6 → 0.3.7-rc.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 +51 -33
- package/css/prebuilt/editorial.css +1 -1
- package/css/prebuilt/expressive.css +2 -2
- package/css/prebuilt/productive.css +2 -2
- package/index.scss +2 -2
- package/package.json +30 -16
- package/scss/_config.scss +1 -1
- package/scss/elements/_heading/index.scss +3 -3
- package/scss/elements/_input/index.scss +11 -11
- package/scss/elements/_labelled-input/index.scss +41 -39
- package/scss/elements/_layer/index.scss +29 -17
- package/scss/elements/abbreviation/index.scss +5 -5
- package/scss/elements/address/index.scss +5 -5
- package/scss/elements/anchor/index.scss +10 -10
- package/scss/elements/block-quotation/index.scss +7 -7
- package/scss/elements/body/index.scss +6 -6
- package/scss/elements/bold-text/index.scss +4 -4
- package/scss/elements/button/index.scss +19 -19
- package/scss/elements/checkbox/index.scss +16 -14
- package/scss/elements/code/index.scss +6 -6
- package/scss/elements/color-input/index.scss +24 -27
- package/scss/elements/combo-box/index.scss +22 -20
- package/scss/elements/date-input/index.scss +18 -16
- package/scss/elements/date-time-input/index.scss +18 -16
- package/scss/elements/deleted-text/index.scss +6 -6
- package/scss/elements/description-list/index.scss +5 -5
- package/scss/elements/details/index.scss +12 -11
- package/scss/elements/dialog/index.scss +63 -49
- package/scss/elements/email-input/index.scss +17 -15
- package/scss/elements/fieldset/index.scss +11 -9
- package/scss/elements/file-input/index.scss +10 -9
- package/scss/elements/footer/index.scss +6 -6
- package/scss/elements/header-navigation/index.scss +11 -11
- package/scss/elements/heading-level-1/index.scss +5 -5
- package/scss/elements/heading-level-2/index.scss +5 -5
- package/scss/elements/heading-level-3/index.scss +5 -5
- package/scss/elements/heading-level-4/index.scss +5 -5
- package/scss/elements/heading-level-5/index.scss +5 -5
- package/scss/elements/heading-level-6/index.scss +5 -5
- package/scss/elements/horizontal-rule/index.scss +8 -8
- package/scss/elements/image/index.scss +3 -3
- package/scss/elements/inline-loading/index.scss +11 -12
- package/scss/elements/inline-quotation/index.scss +4 -4
- package/scss/elements/inserted-text/index.scss +6 -6
- package/scss/elements/italic-text/index.scss +4 -4
- package/scss/elements/keyboard-input/index.scss +6 -6
- package/scss/elements/label/index.scss +9 -9
- package/scss/elements/main/index.scss +6 -6
- package/scss/elements/marked-text/index.scss +7 -7
- package/scss/elements/menu/index.scss +13 -12
- package/scss/elements/number-input/index.scss +15 -13
- package/scss/elements/ordered-list/index.scss +5 -5
- package/scss/elements/paragraph/index.scss +4 -4
- package/scss/elements/password-input/index.scss +16 -14
- package/scss/elements/popover/index.scss +32 -37
- package/scss/elements/preformatted/index.scss +5 -5
- package/scss/elements/progress-bar/index.scss +20 -18
- package/scss/elements/radio-button/index.scss +14 -12
- package/scss/elements/range-input/index.scss +13 -11
- package/scss/elements/search-input/index.scss +18 -16
- package/scss/elements/select/index.scss +24 -22
- package/scss/elements/side-navigation/index.scss +11 -11
- package/scss/elements/small-text/index.scss +5 -5
- package/scss/elements/table/index.scss +16 -12
- package/scss/elements/tabs/index.scss +20 -16
- package/scss/elements/telephone-number-input/index.scss +17 -15
- package/scss/elements/text-area/index.scss +20 -16
- package/scss/elements/text-input/index.scss +17 -15
- package/scss/elements/tile/index.scss +14 -13
- package/scss/elements/time-input/index.scss +18 -16
- package/scss/elements/toggle/index.scss +20 -16
- package/scss/elements/tooltip/index.scss +13 -11
- package/scss/elements/tree-view/index.scss +11 -11
- package/scss/elements/unordered-list/index.scss +7 -7
- package/scss/elements/url-input/index.scss +17 -15
- package/scss/layout/_density.scss +6 -6
- package/scss/layout/_mode.scss +269 -161
- package/scss/layout/_size.scss +16 -10
- package/scss/layout/index.scss +3 -3
- package/scss/prebuilt/editorial/_elements.scss +34 -32
- package/scss/prebuilt/editorial/_layout.scss +4 -4
- package/scss/prebuilt/editorial/index.scss +9 -9
- package/scss/prebuilt/expressive/_elements.scss +74 -70
- package/scss/prebuilt/expressive/_layout.scss +4 -4
- package/scss/prebuilt/expressive/index.scss +9 -9
- package/scss/prebuilt/productive/_elements.scss +69 -67
- package/scss/prebuilt/productive/_layout.scss +4 -4
- package/scss/prebuilt/productive/index.scss +9 -9
- package/scss/utilities/_carbon.scss +28 -25
- package/scss/utilities/_icons.scss +1 -1
- package/scss/utilities/_tokens.scss +5 -5
package/README.md
CHANGED
|
@@ -21,13 +21,22 @@ You can also use any of the [prebuilt stylesheets](#using-prebuilts) via our CDN
|
|
|
21
21
|
|
|
22
22
|
```html
|
|
23
23
|
<!-- specific version (recommended) -->
|
|
24
|
-
<link
|
|
24
|
+
<link
|
|
25
|
+
rel="stylesheet"
|
|
26
|
+
href="https://1.www.s81c.com/common/carbon/element-styles/version/v[x.y.z]/prebuilt/expressive.css"
|
|
27
|
+
/>
|
|
25
28
|
|
|
26
29
|
<!-- "latest" tag -->
|
|
27
|
-
<link
|
|
30
|
+
<link
|
|
31
|
+
rel="stylesheet"
|
|
32
|
+
href="https://1.www.s81c.com/common/carbon/element-styles/tag/v0/latest/prebuilt/expressive.css"
|
|
33
|
+
/>
|
|
28
34
|
|
|
29
35
|
<!-- "next" tag -->
|
|
30
|
-
<link
|
|
36
|
+
<link
|
|
37
|
+
rel="stylesheet"
|
|
38
|
+
href="https://1.www.s81c.com/common/carbon/element-styles/tag/v0/next/prebuilt/expressive.css"
|
|
39
|
+
/>
|
|
31
40
|
```
|
|
32
41
|
|
|
33
42
|
### Importing individual elements
|
|
@@ -35,7 +44,7 @@ You can also use any of the [prebuilt stylesheets](#using-prebuilts) via our CDN
|
|
|
35
44
|
To make use of individual elements, import them via `@use` and include their `styles` mixin in your Sass stylesheets:
|
|
36
45
|
|
|
37
46
|
```scss
|
|
38
|
-
@use
|
|
47
|
+
@use "@carbon/element-styles/scss/elements/button";
|
|
39
48
|
|
|
40
49
|
@include button.styles;
|
|
41
50
|
```
|
|
@@ -47,19 +56,23 @@ Every element has a default selector on which it's styles are emitted. You can c
|
|
|
47
56
|
The `button` element for example expects to be emitted on a `<button>` tag. By default, it's selector is simply `button`. If you only want to emit these styles on buttons that are explicitly of type button, you can do so via the `with` syntax of Sass or each time you include the mixin.
|
|
48
57
|
|
|
49
58
|
```scss
|
|
50
|
-
@use
|
|
51
|
-
|
|
52
|
-
|
|
59
|
+
@use "@carbon/element-styles/scss/elements/button" with (
|
|
60
|
+
$config: (
|
|
61
|
+
selector: 'button[type="button"]',
|
|
62
|
+
)
|
|
63
|
+
);
|
|
53
64
|
|
|
54
65
|
@include button.styles;
|
|
55
66
|
```
|
|
56
67
|
|
|
57
68
|
```scss
|
|
58
|
-
@use
|
|
69
|
+
@use "@carbon/element-styles/scss/elements/button";
|
|
59
70
|
|
|
60
|
-
@include button.styles(
|
|
61
|
-
|
|
62
|
-
|
|
71
|
+
@include button.styles(
|
|
72
|
+
(
|
|
73
|
+
selector: 'button[type="button"]',
|
|
74
|
+
)
|
|
75
|
+
);
|
|
63
76
|
```
|
|
64
77
|
|
|
65
78
|
#### Configuring elements
|
|
@@ -67,31 +80,37 @@ The `button` element for example expects to be emitted on a `<button>` tag. By d
|
|
|
67
80
|
Some elements have additional configuration options to adjust their visual appearance. You can configure these options the same way as you can configure the selector: via the `with` syntax of Sass or each time you include the mixin:
|
|
68
81
|
|
|
69
82
|
```scss
|
|
70
|
-
@use
|
|
71
|
-
|
|
72
|
-
|
|
83
|
+
@use "@carbon/element-styles/scss/elements/button" with (
|
|
84
|
+
$config: (
|
|
85
|
+
kind: "ghost",
|
|
86
|
+
)
|
|
87
|
+
);
|
|
73
88
|
|
|
74
89
|
@include button.styles;
|
|
75
90
|
```
|
|
76
91
|
|
|
77
92
|
```scss
|
|
78
|
-
@use
|
|
93
|
+
@use "@carbon/element-styles/scss/elements/button";
|
|
79
94
|
|
|
80
|
-
@include button.styles(
|
|
81
|
-
|
|
82
|
-
|
|
95
|
+
@include button.styles(
|
|
96
|
+
(
|
|
97
|
+
kind: "ghost",
|
|
98
|
+
)
|
|
99
|
+
);
|
|
83
100
|
```
|
|
84
101
|
|
|
85
102
|
Combining these options with custom selectors means you can emit multiple variants of the same element depending on their context:
|
|
86
103
|
|
|
87
104
|
```scss
|
|
88
|
-
@use
|
|
105
|
+
@use "@carbon/element-styles/scss/elements/button";
|
|
89
106
|
|
|
90
107
|
@include button.styles;
|
|
91
|
-
@include button.styles(
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
108
|
+
@include button.styles(
|
|
109
|
+
(
|
|
110
|
+
selector: 'button[type="submit"]',
|
|
111
|
+
kind: "primary",
|
|
112
|
+
)
|
|
113
|
+
);
|
|
95
114
|
```
|
|
96
115
|
|
|
97
116
|
### Using prebuilts
|
|
@@ -168,17 +187,17 @@ Only includes non-interactive elements with their default selectors. Uses an exp
|
|
|
168
187
|
**Important**: in order for button styles to work, you must emit the Carbon's component tokens for buttons. If you're using `@carbon/styles` that's likely already the case. For convenience, this library also provides an `emit-carbon-tokens` mixin which includes the necessary component tokens.
|
|
169
188
|
|
|
170
189
|
```scss
|
|
171
|
-
@use
|
|
190
|
+
@use "@carbon/element-styles";
|
|
172
191
|
|
|
173
192
|
:root {
|
|
174
|
-
@include element-styles.emit-carbon-tokens(
|
|
193
|
+
@include element-styles.emit-carbon-tokens("white");
|
|
175
194
|
}
|
|
176
195
|
```
|
|
177
196
|
|
|
178
197
|
To also generate CSS custom properties of all available colors, use the `emit-carbon-colors` mixin:
|
|
179
198
|
|
|
180
199
|
```scss
|
|
181
|
-
@use
|
|
200
|
+
@use "@carbon/element-styles";
|
|
182
201
|
|
|
183
202
|
:root {
|
|
184
203
|
@include element-styles.emit-carbon-colors;
|
|
@@ -217,10 +236,10 @@ Controls the density of elements, mostly through inline padding.
|
|
|
217
236
|
#### Example
|
|
218
237
|
|
|
219
238
|
```scss
|
|
220
|
-
@use
|
|
239
|
+
@use "@carbon/element-styles/scss/layout";
|
|
221
240
|
|
|
222
241
|
:root {
|
|
223
|
-
@include layout.density(
|
|
242
|
+
@include layout.density("condensed");
|
|
224
243
|
}
|
|
225
244
|
|
|
226
245
|
.callout {
|
|
@@ -269,10 +288,10 @@ Controls the overall visual impression through font sizes and spacings.
|
|
|
269
288
|
#### Example
|
|
270
289
|
|
|
271
290
|
```scss
|
|
272
|
-
@use
|
|
291
|
+
@use "@carbon/element-styles/scss/layout";
|
|
273
292
|
|
|
274
293
|
:root {
|
|
275
|
-
@include layout.mode(
|
|
294
|
+
@include layout.mode("expressive");
|
|
276
295
|
}
|
|
277
296
|
|
|
278
297
|
.callout {
|
|
@@ -310,10 +329,10 @@ Controls the height of elements.
|
|
|
310
329
|
#### Example
|
|
311
330
|
|
|
312
331
|
```scss
|
|
313
|
-
@use
|
|
332
|
+
@use "@carbon/element-styles/scss/layout";
|
|
314
333
|
|
|
315
334
|
:root {
|
|
316
|
-
@include layout.size(
|
|
335
|
+
@include layout.size("lg");
|
|
317
336
|
}
|
|
318
337
|
|
|
319
338
|
.callout header {
|
|
@@ -331,7 +350,6 @@ The goal of this library is to provide opinionated styles for native HTML elemen
|
|
|
331
350
|
|
|
332
351
|
However, there is one exception to this: the tile element. Tiles are one of the most fundamental and widely used components in Carbon. The default selector for tile styles is `[data-tile]`.
|
|
333
352
|
|
|
334
|
-
|
|
335
353
|
### 2. Logical layouts
|
|
336
354
|
|
|
337
355
|
Layout decisions that should be consistent across multiple elements are not the responsibility of those elements. Rather, their parent layout (page or zone) should control aspects like the size, density, and overall apperance.
|