@carbon/styles 0.17.0 → 1.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/package.json +23 -10
- package/scss/__tests__/__snapshots__/colors-test.js.snap +404 -0
- package/scss/__tests__/__snapshots__/config-test.js.snap +44 -0
- package/scss/__tests__/__snapshots__/motion-test.js.snap +39 -0
- package/scss/__tests__/breakpoint-test.js +42 -0
- package/scss/__tests__/colors-test.js +28 -0
- package/scss/__tests__/config-test.js +53 -0
- package/scss/__tests__/grid-test.js +48 -0
- package/scss/__tests__/layer-test.js +82 -0
- package/scss/__tests__/motion-test.js +37 -0
- package/scss/__tests__/reset-test.js +28 -0
- package/scss/__tests__/theme-test.js +151 -0
- package/scss/__tests__/themes-test.js +36 -0
- package/scss/__tests__/type-test.js +77 -0
- package/scss/_breakpoint.scss +2 -1
- package/scss/_config.scss +9 -2
- package/scss/_reset.scss +5 -1
- package/scss/_spacing.scss +1 -1
- package/scss/_theme.scss +4 -4
- package/scss/_themes.scss +2 -1
- package/scss/components/__tests__/accordion-test.js +47 -0
- package/scss/components/__tests__/breadcrumb-test.js +27 -0
- package/scss/components/__tests__/button-test.js +71 -0
- package/scss/components/__tests__/checkbox-test.js +27 -0
- package/scss/components/__tests__/code-snippet-test.js +44 -0
- package/scss/components/__tests__/combo-box-test.js +27 -0
- package/scss/components/__tests__/content-switcher-test.js +27 -0
- package/scss/components/__tests__/copy-button-test.js +27 -0
- package/scss/components/__tests__/data-table-test.js +85 -0
- package/scss/components/__tests__/date-picker-test.js +26 -0
- package/scss/components/__tests__/dropdown-test.js +27 -0
- package/scss/components/__tests__/file-uploader.js +27 -0
- package/scss/components/__tests__/form-test.js +43 -0
- package/scss/components/__tests__/inline-loading-test.js +26 -0
- package/scss/components/__tests__/link-test.js +26 -0
- package/scss/components/__tests__/list-box-test.js +36 -0
- package/scss/components/__tests__/list-test.js +26 -0
- package/scss/components/__tests__/loading-test.js +26 -0
- package/scss/components/__tests__/menu-test.js +27 -0
- package/scss/components/__tests__/modal-test.js +27 -0
- package/scss/components/__tests__/multiselect-test.js +27 -0
- package/scss/components/__tests__/notification-test.js +49 -0
- package/scss/components/__tests__/number-input-test.js +27 -0
- package/scss/components/__tests__/overflow-menu-test.js +27 -0
- package/scss/components/__tests__/pagination-nav-test.js +26 -0
- package/scss/components/__tests__/pagination-test.js +26 -0
- package/scss/components/__tests__/progress-bar-test.js +26 -0
- package/scss/components/__tests__/progress-indicator-test.js +26 -0
- package/scss/components/__tests__/radio-button-test.js +25 -0
- package/scss/components/__tests__/search-test.js +25 -0
- package/scss/components/__tests__/select-test.js +26 -0
- package/scss/components/__tests__/skeleton-test.js +26 -0
- package/scss/components/__tests__/slider-test.js +26 -0
- package/scss/components/__tests__/structured-list-test.js +27 -0
- package/scss/components/__tests__/tabs-test.js +27 -0
- package/scss/components/__tests__/tag-test.js +25 -0
- package/scss/components/__tests__/text-area-test.js +26 -0
- package/scss/components/__tests__/text-input-test.js +26 -0
- package/scss/components/__tests__/tile-test.js +26 -0
- package/scss/components/__tests__/time-picker-test.js +26 -0
- package/scss/components/__tests__/toggle-test.js +27 -0
- package/scss/components/__tests__/tooltip-test.js +25 -0
- package/scss/components/__tests__/treeview-test.js +25 -0
- package/scss/components/__tests__/ui-shell-test.js +27 -0
- package/scss/components/accordion/_accordion.scss +1 -1
- package/scss/components/aspect-ratio/_aspect-ratio.scss +2 -2
- package/scss/components/breadcrumb/_breadcrumb.scss +1 -1
- package/scss/components/button/_button.scss +3 -9
- package/scss/components/button/_tokens.scss +1 -0
- package/scss/components/code-snippet/_code-snippet.scss +32 -47
- package/scss/components/content-switcher/_content-switcher.scss +0 -2
- package/scss/components/copy-button/_copy-button.scss +0 -59
- package/scss/components/dropdown/_dropdown.scss +0 -1
- package/scss/components/modal/_modal.scss +1 -1
- package/scss/components/notification/_actionable-notification.scss +58 -19
- package/scss/components/notification/_inline-notification.scss +9 -21
- package/scss/components/notification/_toast-notification.scss +29 -58
- package/scss/components/notification/_tokens.scss +2 -1
- package/scss/components/pagination/_unstable_pagination.scss +1 -1
- package/scss/components/progress-indicator/_progress-indicator.scss +5 -5
- package/scss/components/radio-button/_radio-button.scss +2 -10
- package/scss/components/tabs/_tabs.scss +1 -1
- package/scss/components/tag/_tokens.scss +1 -0
- package/scss/components/text-input/_text-input.scss +7 -22
- package/scss/components/tile/_tile.scss +60 -29
- package/scss/components/toggletip/_toggletip.scss +1 -2
- package/scss/fonts/__tests__/__snapshots__/fonts-test.js.snap +269 -0
- package/scss/fonts/__tests__/fonts-test.js +197 -0
- package/scss/fonts/_src.scss +42 -31
- package/scss/grid/_css-grid.scss +11 -0
- package/scss/grid/_flexbox.scss +1 -1
- package/scss/grid/_index.scss +7 -2
- package/scss/grid/_mixins.scss +9 -0
- package/scss/type/_reset.scss +1 -1
- package/scss/utilities/__tests__/custom-property-test.js +50 -0
- package/scss/utilities/_component-tokens.scss +2 -1
- package/scss/utilities/_convert.scss +2 -4
- package/scss/utilities/_high-contrast-mode.scss +2 -4
- package/docs/sass.md +0 -462
- package/scss/grid/_config.scss +0 -18
package/scss/fonts/_src.scss
CHANGED
|
@@ -21,50 +21,42 @@ $-filenames: (
|
|
|
21
21
|
IBM-Plex-Serif: 'IBMPlexSerif',
|
|
22
22
|
);
|
|
23
23
|
|
|
24
|
-
$-
|
|
24
|
+
$-akamai-filenames: (
|
|
25
25
|
IBM-Plex-Mono: (
|
|
26
|
-
name: '
|
|
27
|
-
|
|
28
|
-
hash: '-F63fjptAgt5VM-kVkqdyU8n1i8q131nj-otFQ',
|
|
26
|
+
name: 'IBM-Plex-Mono',
|
|
27
|
+
filename: 'IBMPlexMono',
|
|
29
28
|
),
|
|
30
29
|
IBM-Plex-Sans-Arabic: (
|
|
31
|
-
name: '
|
|
32
|
-
|
|
33
|
-
hash: 'Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ys43PW5fslBEg0',
|
|
30
|
+
name: 'IBM-Plex-Sans-Arabic',
|
|
31
|
+
filename: 'IBMPlexSansArabic',
|
|
34
32
|
),
|
|
35
33
|
IBM-Plex-Sans-Devanagari: (
|
|
36
|
-
name: '
|
|
37
|
-
|
|
38
|
-
hash: 'XRXH3JCMvG4IDoS9SubXB6W-UX5iehIMBFR2-O_PX0j1Uc7wCWQq',
|
|
34
|
+
name: 'IBM-Plex-Sans-Devanagari',
|
|
35
|
+
filename: 'IBMPlexSansDevanagari',
|
|
39
36
|
),
|
|
40
37
|
IBM-Plex-Sans-Hebrew: (
|
|
41
|
-
name: '
|
|
42
|
-
|
|
43
|
-
hash: 'BCa2qYENg9Kw1mpLpO0bGM5lfHAAZHhDXE2v-lgVrjaNzC4',
|
|
38
|
+
name: 'IBM-Plex-Sans-Hebrew',
|
|
39
|
+
filename: 'IBMPlexSansHebrew',
|
|
44
40
|
),
|
|
45
41
|
IBM-Plex-Sans-Thai-Looped: (
|
|
46
|
-
name: '
|
|
47
|
-
|
|
48
|
-
hash: 'tss_AoJJRAhL3BTrK3r2xxbFhvKfyBB6l7hHT30L9BiKoXOrFCUb6Q',
|
|
42
|
+
name: 'IBM-Plex-Sans-Thai-Looped',
|
|
43
|
+
filename: 'IBMPlexSansThaiLooped',
|
|
49
44
|
),
|
|
50
45
|
IBM-Plex-Sans-Thai: (
|
|
51
|
-
name: '
|
|
52
|
-
|
|
53
|
-
hash: 'm8JPje1VVIzcq1HzJq2AEdo2Tj_qvLqMBNYgR8BKU4cX',
|
|
46
|
+
name: 'IBM-Plex-Sans-Thai',
|
|
47
|
+
filename: 'IBMPlexSansThai',
|
|
54
48
|
),
|
|
55
49
|
IBM-Plex-Sans: (
|
|
56
|
-
name: '
|
|
57
|
-
|
|
58
|
-
hash: 'zYXgKVElMYYaJe8bpLHnCwDKhdzeFaxOedfTDw',
|
|
50
|
+
name: 'IBM-Plex-Sans',
|
|
51
|
+
filename: 'IBMPlexSans',
|
|
59
52
|
),
|
|
60
53
|
IBM-Plex-Serif: (
|
|
61
|
-
name: '
|
|
62
|
-
|
|
63
|
-
hash: 'jizDREVNn1dOx-zrZ2X3pZvkTiUS2zcZiVbJsNo',
|
|
54
|
+
name: 'IBM-Plex-Serif',
|
|
55
|
+
filename: 'IBMPlexSerif',
|
|
64
56
|
),
|
|
65
57
|
);
|
|
66
58
|
|
|
67
|
-
@function -get-
|
|
59
|
+
@function -get-akamai-filename($map, $keys...) {
|
|
68
60
|
@each $key in $keys {
|
|
69
61
|
$map: map.get($map, $key);
|
|
70
62
|
}
|
|
@@ -88,15 +80,34 @@ $-google-filenames: (
|
|
|
88
80
|
/// @param {List} $formats
|
|
89
81
|
/// @returns List
|
|
90
82
|
@function -default-resolver($name, $weight, $style, $unicode-range, $formats) {
|
|
91
|
-
@if (config.$use-
|
|
92
|
-
$
|
|
93
|
-
$
|
|
94
|
-
|
|
83
|
+
@if (config.$use-akamai-cdn) {
|
|
84
|
+
$name: -get-akamai-filename($-akamai-filenames, $name, 'name');
|
|
85
|
+
$filename: -get-akamai-filename($-akamai-filenames, $name, 'filename');
|
|
86
|
+
|
|
87
|
+
// Special case for weight = Regular (400)
|
|
88
|
+
@if $weight == Regular {
|
|
89
|
+
@if $style == italic {
|
|
90
|
+
$filename: '#{$filename}-Italic';
|
|
91
|
+
} @else {
|
|
92
|
+
$filename: '#{$filename}-Regular';
|
|
93
|
+
}
|
|
94
|
+
} @else {
|
|
95
|
+
// Otherwise add weight + optional style (italic)
|
|
96
|
+
$filename: '#{$filename}-#{$weight}';
|
|
97
|
+
@if $style == italic {
|
|
98
|
+
$filename: '#{$filename}Italic';
|
|
99
|
+
}
|
|
100
|
+
}
|
|
95
101
|
|
|
96
102
|
$filenames: ();
|
|
97
103
|
|
|
98
104
|
@each $format in $formats {
|
|
99
|
-
$url: 'https://
|
|
105
|
+
$url: 'https://1.www.s81c.com/common/carbon/plex/fonts/#{$name}';
|
|
106
|
+
@if $unicode-range {
|
|
107
|
+
$url: 'https://1.www.s81c.com/common/carbon/plex/fonts/#{$name}/fonts/split/#{$format}/#{$filename}-#{$unicode-range}';
|
|
108
|
+
} @else {
|
|
109
|
+
$url: 'https://1.www.s81c.com/common/carbon/plex/fonts/#{$name}/fonts/complete/#{$format}/#{$filename}';
|
|
110
|
+
}
|
|
100
111
|
|
|
101
112
|
// Add extension
|
|
102
113
|
$url: '#{$url}.#{$format}';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright IBM Corp. 2018, 2018
|
|
3
|
+
//
|
|
4
|
+
// This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
// LICENSE file in the root directory of this source tree.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
@use '../config';
|
|
9
|
+
@use '@carbon/grid';
|
|
10
|
+
|
|
11
|
+
@include grid.css-grid();
|
package/scss/grid/_flexbox.scss
CHANGED
package/scss/grid/_index.scss
CHANGED
|
@@ -5,9 +5,14 @@
|
|
|
5
5
|
// LICENSE file in the root directory of this source tree.
|
|
6
6
|
//
|
|
7
7
|
|
|
8
|
-
@forward 'config';
|
|
9
|
-
@use '@carbon/grid';
|
|
10
8
|
@use '../config';
|
|
9
|
+
@forward '@carbon/grid' show
|
|
10
|
+
$grid-gutter,
|
|
11
|
+
$grid-gutter-condensed,
|
|
12
|
+
$grid-breakpoints,
|
|
13
|
+
flex-grid,
|
|
14
|
+
css-grid;
|
|
15
|
+
@use '@carbon/grid';
|
|
11
16
|
|
|
12
17
|
@if config.$use-flexbox-grid == true {
|
|
13
18
|
@include grid.flex-grid();
|
package/scss/type/_reset.scss
CHANGED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2018, 2018
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @jest-environment node
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
const { SassRenderer } = require('@carbon/test-utils/scss');
|
|
13
|
+
const css = require('css');
|
|
14
|
+
|
|
15
|
+
const { render } = SassRenderer.create(__dirname);
|
|
16
|
+
|
|
17
|
+
describe('scss/utilities/custom-property', () => {
|
|
18
|
+
it('should support getting the property name from a value', async () => {
|
|
19
|
+
const { unwrap } = await render(`
|
|
20
|
+
@use '../../config' with (
|
|
21
|
+
$prefix: 'cds',
|
|
22
|
+
);
|
|
23
|
+
@use '../custom-property';
|
|
24
|
+
|
|
25
|
+
$_: get('name', custom-property.get-name('test'));
|
|
26
|
+
`);
|
|
27
|
+
expect(unwrap('name')).toBe('--cds-test');
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it('should support emitting a declaration for a CSS Custom Property', async () => {
|
|
31
|
+
const { result } = await render(`
|
|
32
|
+
@use '../../config' with (
|
|
33
|
+
$prefix: 'cds',
|
|
34
|
+
);
|
|
35
|
+
@use '../custom-property';
|
|
36
|
+
|
|
37
|
+
.test {
|
|
38
|
+
@include custom-property.declaration(test, #000000);
|
|
39
|
+
}
|
|
40
|
+
`);
|
|
41
|
+
const { stylesheet } = css.parse(result.css.toString());
|
|
42
|
+
const selector = stylesheet.rules.find((rule) => {
|
|
43
|
+
return rule.selectors.includes('.test');
|
|
44
|
+
});
|
|
45
|
+
const [declaration] = selector.declarations;
|
|
46
|
+
|
|
47
|
+
expect(declaration.property).toBe('--cds-test');
|
|
48
|
+
expect(declaration.value).toBe('#000000');
|
|
49
|
+
});
|
|
50
|
+
});
|
|
@@ -20,8 +20,7 @@ $base-font-size: 16px !default;
|
|
|
20
20
|
/// @group utilities
|
|
21
21
|
@function rem($px) {
|
|
22
22
|
@if unit($px) != 'px' {
|
|
23
|
-
|
|
24
|
-
@warn "Expected argument $px to be of type `px`, instead received: `#{unit($px)}`";
|
|
23
|
+
@error "Expected argument $px to be of type `px`, instead received: `#{unit($px)}`";
|
|
25
24
|
}
|
|
26
25
|
|
|
27
26
|
@if meta.function-exists('div', 'math') {
|
|
@@ -38,8 +37,7 @@ $base-font-size: 16px !default;
|
|
|
38
37
|
/// @group utilities
|
|
39
38
|
@function em($px) {
|
|
40
39
|
@if unit($px) != 'px' {
|
|
41
|
-
|
|
42
|
-
@warn "Expected argument $px to be of type `px`, instead received: `#{unit($px)}`";
|
|
40
|
+
@error "Expected argument $px to be of type `px`, instead received: `#{unit($px)}`";
|
|
43
41
|
}
|
|
44
42
|
|
|
45
43
|
@if meta.function-exists('div', 'math') {
|
|
@@ -5,15 +5,13 @@
|
|
|
5
5
|
// LICENSE file in the root directory of this source tree.
|
|
6
6
|
//
|
|
7
7
|
|
|
8
|
-
/// Windows
|
|
8
|
+
/// High Contrast Mode mixin for Windows and macOS
|
|
9
9
|
/// @access public
|
|
10
10
|
/// @example @include high-contrast-mode;
|
|
11
11
|
/// @group utilities
|
|
12
12
|
/// Set HCM styles at the end of each file to ensure they are not overwritten
|
|
13
13
|
@mixin high-contrast-mode($type: '') {
|
|
14
|
-
@media screen and (-ms-high-contrast: active),
|
|
15
|
-
(forced-colors: active),
|
|
16
|
-
(prefers-contrast) {
|
|
14
|
+
@media screen and (-ms-high-contrast: active), (forced-colors: active) {
|
|
17
15
|
@if ($type == 'icon-fill') {
|
|
18
16
|
fill: ButtonText;
|
|
19
17
|
}
|