@cloudscape-design/components-themeable 3.0.1359 → 3.0.1361
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/lib/__tests__/theming.test.d.ts +2 -0
- package/lib/__tests__/theming.test.d.ts.map +1 -0
- package/lib/__tests__/theming.test.js +47 -0
- package/lib/__tests__/theming.test.js.map +1 -0
- package/lib/internal/manifest.json +1 -1
- package/lib/internal/scss/alert/styles.scss +13 -12
- package/lib/internal/scss/badge/styles.scss +38 -49
- package/lib/internal/scss/button/styles.scss +51 -51
- package/lib/internal/scss/cards/styles.scss +4 -0
- package/lib/internal/scss/container/styles.scss +2 -0
- package/lib/internal/scss/icon/hover-motion.scss +24 -12
- package/lib/internal/scss/input/styles.scss +4 -0
- package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +175 -174
- package/lib/internal/scss/internal/styles/forms/mixins.scss +11 -2
- package/lib/internal/scss/internal/styles/style-api.scss +60 -10
- package/lib/internal/scss/pagination/styles.scss +3 -1
- package/lib/internal/scss/table/styles.scss +5 -0
- package/lib/internal/template/alert/styles.css.js +27 -27
- package/lib/internal/template/alert/styles.scoped.css +50 -50
- package/lib/internal/template/alert/styles.selectors.js +27 -27
- package/lib/internal/template/annotation-context/annotation/styles.css.js +13 -13
- package/lib/internal/template/annotation-context/annotation/styles.scoped.css +21 -21
- package/lib/internal/template/annotation-context/annotation/styles.selectors.js +13 -13
- package/lib/internal/template/app-layout/notifications/styles.css.js +3 -3
- package/lib/internal/template/app-layout/notifications/styles.scoped.css +7 -7
- package/lib/internal/template/app-layout/notifications/styles.selectors.js +3 -3
- package/lib/internal/template/app-layout/visual-refresh/styles.css.js +86 -86
- package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +258 -258
- package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +32 -32
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +89 -89
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +32 -32
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +6 -6
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +13 -13
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +6 -6
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +30 -30
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +68 -68
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +30 -30
- package/lib/internal/template/attribute-editor/styles.css.js +15 -15
- package/lib/internal/template/attribute-editor/styles.scoped.css +28 -28
- package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
- package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
- package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +28 -28
- package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
- package/lib/internal/template/button/styles.css.js +23 -23
- package/lib/internal/template/button/styles.scoped.css +261 -261
- package/lib/internal/template/button/styles.selectors.js +23 -23
- package/lib/internal/template/button-dropdown/filter.d.ts +1 -1
- package/lib/internal/template/button-dropdown/filter.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/internal.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/internal.js +9 -3
- package/lib/internal/template/button-dropdown/internal.js.map +1 -1
- package/lib/internal/template/button-dropdown/item-element/styles.css.js +21 -21
- package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +37 -37
- package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +21 -21
- package/lib/internal/template/button-dropdown/utils/use-button-dropdown.d.ts +5 -3
- package/lib/internal/template/button-dropdown/utils/use-button-dropdown.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js +14 -2
- package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js.map +1 -1
- package/lib/internal/template/cards/styles.css.js +39 -38
- package/lib/internal/template/cards/styles.scoped.css +42 -39
- package/lib/internal/template/cards/styles.selectors.js +39 -38
- package/lib/internal/template/checkbox/styles.css.js +3 -3
- package/lib/internal/template/checkbox/styles.scoped.css +11 -11
- package/lib/internal/template/checkbox/styles.selectors.js +3 -3
- package/lib/internal/template/container/styles.css.js +33 -33
- package/lib/internal/template/container/styles.scoped.css +57 -56
- package/lib/internal/template/container/styles.selectors.js +33 -33
- package/lib/internal/template/content-layout/styles.css.js +14 -14
- package/lib/internal/template/content-layout/styles.scoped.css +27 -27
- package/lib/internal/template/content-layout/styles.selectors.js +14 -14
- package/lib/internal/template/dropdown/styles.css.js +20 -20
- package/lib/internal/template/dropdown/styles.scoped.css +49 -49
- package/lib/internal/template/dropdown/styles.selectors.js +20 -20
- package/lib/internal/template/file-token-group/styles.css.js +23 -23
- package/lib/internal/template/file-token-group/styles.scoped.css +36 -36
- package/lib/internal/template/file-token-group/styles.selectors.js +23 -23
- package/lib/internal/template/flashbar/styles.css.js +50 -50
- package/lib/internal/template/flashbar/styles.scoped.css +192 -192
- package/lib/internal/template/flashbar/styles.selectors.js +50 -50
- package/lib/internal/template/help-panel/styles.css.js +6 -6
- package/lib/internal/template/help-panel/styles.scoped.css +72 -72
- package/lib/internal/template/help-panel/styles.selectors.js +6 -6
- package/lib/internal/template/input/index.d.ts.map +1 -1
- package/lib/internal/template/input/index.js +3 -2
- package/lib/internal/template/input/index.js.map +1 -1
- package/lib/internal/template/input/interfaces.d.ts +6 -0
- package/lib/internal/template/input/interfaces.d.ts.map +1 -1
- package/lib/internal/template/input/interfaces.js.map +1 -1
- package/lib/internal/template/input/internal.d.ts +0 -1
- package/lib/internal/template/input/internal.d.ts.map +1 -1
- package/lib/internal/template/input/internal.js +26 -12
- package/lib/internal/template/input/internal.js.map +1 -1
- package/lib/internal/template/input/styles.css.js +29 -28
- package/lib/internal/template/input/styles.scoped.css +134 -131
- package/lib/internal/template/input/styles.selectors.js +29 -28
- package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
- package/lib/internal/template/internal/components/drag-handle-wrapper/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/drag-handle-wrapper/index.js +2 -1
- package/lib/internal/template/internal/components/drag-handle-wrapper/index.js.map +1 -1
- package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +30 -30
- package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +58 -58
- package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +30 -30
- package/lib/internal/template/internal/components/option/styles.css.js +17 -17
- package/lib/internal/template/internal/components/option/styles.scoped.css +31 -31
- package/lib/internal/template/internal/components/option/styles.selectors.js +17 -17
- package/lib/internal/template/internal/components/radio-button/styles.css.js +7 -7
- package/lib/internal/template/internal/components/radio-button/styles.scoped.css +18 -18
- package/lib/internal/template/internal/components/radio-button/styles.selectors.js +7 -7
- package/lib/internal/template/internal/components/selectable-item/styles.css.js +22 -22
- package/lib/internal/template/internal/components/selectable-item/styles.scoped.css +57 -57
- package/lib/internal/template/internal/components/selectable-item/styles.selectors.js +22 -22
- package/lib/internal/template/internal/components/token-list/styles.css.js +10 -10
- package/lib/internal/template/internal/components/token-list/styles.scoped.css +25 -25
- package/lib/internal/template/internal/components/token-list/styles.selectors.js +10 -10
- package/lib/internal/template/internal/environment.js +2 -2
- package/lib/internal/template/internal/environment.json +2 -2
- package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts +1 -0
- package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts.map +1 -1
- package/lib/internal/template/internal/generated/custom-css-properties/index.js +174 -173
- package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
- package/lib/internal/template/internal/generated/styles/tokens.js +200 -200
- package/lib/internal/template/internal/generated/theming/index.cjs +200 -200
- package/lib/internal/template/internal/generated/theming/index.js +200 -200
- package/lib/internal/template/internal/utils/focus-visible.d.ts +15 -0
- package/lib/internal/template/internal/utils/focus-visible.d.ts.map +1 -0
- package/lib/internal/template/internal/utils/focus-visible.js +21 -0
- package/lib/internal/template/internal/utils/focus-visible.js.map +1 -0
- package/lib/internal/template/item-card/styles.css.js +14 -14
- package/lib/internal/template/item-card/styles.scoped.css +63 -63
- package/lib/internal/template/item-card/styles.selectors.js +14 -14
- package/lib/internal/template/link/styles.css.js +21 -21
- package/lib/internal/template/link/styles.scoped.css +104 -104
- package/lib/internal/template/link/styles.selectors.js +21 -21
- package/lib/internal/template/modal/styles.css.js +31 -31
- package/lib/internal/template/modal/styles.scoped.css +48 -48
- package/lib/internal/template/modal/styles.selectors.js +31 -31
- package/lib/internal/template/pagination/internal.js +1 -1
- package/lib/internal/template/pagination/internal.js.map +1 -1
- package/lib/internal/template/pagination/styles.css.js +12 -12
- package/lib/internal/template/pagination/styles.scoped.css +31 -31
- package/lib/internal/template/pagination/styles.selectors.js +12 -12
- package/lib/internal/template/progress-bar/styles.css.js +19 -19
- package/lib/internal/template/progress-bar/styles.scoped.css +58 -58
- package/lib/internal/template/progress-bar/styles.selectors.js +19 -19
- package/lib/internal/template/prompt-input/styles.css.js +26 -26
- package/lib/internal/template/prompt-input/styles.scoped.css +105 -105
- package/lib/internal/template/prompt-input/styles.selectors.js +26 -26
- package/lib/internal/template/segmented-control/styles.css.js +16 -16
- package/lib/internal/template/segmented-control/styles.scoped.css +46 -46
- package/lib/internal/template/segmented-control/styles.selectors.js +16 -16
- package/lib/internal/template/select/parts/filter.d.ts +1 -1
- package/lib/internal/template/select/parts/filter.d.ts.map +1 -1
- package/lib/internal/template/select/parts/styles.css.js +21 -21
- package/lib/internal/template/select/parts/styles.scoped.css +24 -24
- package/lib/internal/template/select/parts/styles.selectors.js +21 -21
- package/lib/internal/template/side-navigation/styles.css.js +64 -64
- package/lib/internal/template/side-navigation/styles.scoped.css +111 -111
- package/lib/internal/template/side-navigation/styles.selectors.js +64 -64
- package/lib/internal/template/slider/styles.css.js +26 -26
- package/lib/internal/template/slider/styles.scoped.css +165 -165
- package/lib/internal/template/slider/styles.selectors.js +26 -26
- package/lib/internal/template/spinner/styles.css.js +14 -14
- package/lib/internal/template/spinner/styles.scoped.css +40 -40
- package/lib/internal/template/spinner/styles.selectors.js +14 -14
- package/lib/internal/template/table/styles.css.js +37 -37
- package/lib/internal/template/table/styles.scoped.css +47 -44
- package/lib/internal/template/table/styles.selectors.js +37 -37
- package/lib/internal/template/tabs/styles.css.js +30 -30
- package/lib/internal/template/tabs/styles.scoped.css +76 -76
- package/lib/internal/template/tabs/styles.selectors.js +30 -30
- package/lib/internal/template/tag-editor/styles.css.js +3 -3
- package/lib/internal/template/tag-editor/styles.scoped.css +13 -13
- package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
- package/lib/internal/template/test-utils/dom/input/index.d.ts +1 -0
- package/lib/internal/template/test-utils/dom/input/index.js +3 -0
- package/lib/internal/template/test-utils/dom/input/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/input/index.d.ts +1 -0
- package/lib/internal/template/test-utils/selectors/input/index.js +3 -0
- package/lib/internal/template/test-utils/selectors/input/index.js.map +1 -1
- package/lib/internal/template/text-content/styles.css.js +1 -1
- package/lib/internal/template/text-content/styles.scoped.css +66 -66
- package/lib/internal/template/text-content/styles.selectors.js +1 -1
- package/lib/internal/template/textarea/styles.css.js +9 -9
- package/lib/internal/template/textarea/styles.scoped.css +51 -51
- package/lib/internal/template/textarea/styles.selectors.js +9 -9
- package/lib/internal/template/toggle/styles.css.js +10 -10
- package/lib/internal/template/toggle/styles.scoped.css +23 -23
- package/lib/internal/template/toggle/styles.selectors.js +10 -10
- package/lib/internal/template/token/styles.css.js +14 -14
- package/lib/internal/template/token/styles.scoped.css +46 -46
- package/lib/internal/template/token/styles.selectors.js +14 -14
- package/lib/theming.d.ts +1 -1
- package/lib/theming.d.ts.map +1 -1
- package/lib/theming.js +11 -2
- package/lib/theming.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theming.test.d.ts","sourceRoot":"","sources":["../../../src-themeable/__tests__/theming.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
7
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
8
|
+
const mapValues_js_1 = __importDefault(require("lodash/mapValues.js"));
|
|
9
|
+
const preset = {
|
|
10
|
+
propertiesMap: {
|
|
11
|
+
borderRadiusButton: '--border-radius-button-aaaaaa',
|
|
12
|
+
colorBorderButtonNormalDefault: '--color-border-button-normal-default-bbbbbb',
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
jest.mock('@cloudscape-design/theming-build', () => ({
|
|
16
|
+
buildThemedComponents: jest.fn().mockResolvedValue(undefined),
|
|
17
|
+
}));
|
|
18
|
+
jest.mock('../internal/template/internal/generated/theming/index.cjs', () => ({
|
|
19
|
+
preset,
|
|
20
|
+
}));
|
|
21
|
+
const theming_build_1 = require("@cloudscape-design/theming-build");
|
|
22
|
+
const theming_1 = require("../theming");
|
|
23
|
+
describe('buildThemedComponents', () => {
|
|
24
|
+
test('does not pass website token versions by default', async () => {
|
|
25
|
+
const theme = {};
|
|
26
|
+
await (0, theming_1.buildThemedComponents)({ theme, outputDir: '/tmp/output', baseThemeId: 'visual-refresh' });
|
|
27
|
+
expect(theming_build_1.buildThemedComponents).toHaveBeenCalledWith(expect.objectContaining({
|
|
28
|
+
preset,
|
|
29
|
+
}));
|
|
30
|
+
});
|
|
31
|
+
test('passes stable website token versions when the feature flag is enabled', async () => {
|
|
32
|
+
const theme = {};
|
|
33
|
+
await (0, theming_1.buildThemedComponents)({
|
|
34
|
+
theme,
|
|
35
|
+
outputDir: '/tmp/output',
|
|
36
|
+
baseThemeId: 'visual-refresh',
|
|
37
|
+
...{ __tokenHashSeed: 'website' },
|
|
38
|
+
});
|
|
39
|
+
expect(theming_build_1.buildThemedComponents).toHaveBeenCalledWith(expect.objectContaining({
|
|
40
|
+
preset: {
|
|
41
|
+
...preset,
|
|
42
|
+
tokenVersions: (0, mapValues_js_1.default)(preset.propertiesMap, () => 'website'),
|
|
43
|
+
},
|
|
44
|
+
}));
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=theming.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theming.test.js","sourceRoot":"","sources":["../../../src-themeable/__tests__/theming.test.ts"],"names":[],"mappings":";;;;;AAAA,qEAAqE;AACrE,sCAAsC;AACtC,uEAA4C;AAE5C,MAAM,MAAM,GAAG;IACb,aAAa,EAAE;QACb,kBAAkB,EAAE,+BAA+B;QACnD,8BAA8B,EAAE,6CAA6C;KAC9E;CACF,CAAC;AAEF,IAAI,CAAC,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE,CAAC,CAAC;IACnD,qBAAqB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;CAC9D,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,2DAA2D,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5E,MAAM;CACP,CAAC,CAAC,CAAC;AAEJ,oEAA6F;AAE7F,wCAAmD;AAEnD,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,KAAK,GAAG,EAAS,CAAC;QAExB,MAAM,IAAA,+BAAqB,EAAC,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAEhG,MAAM,CAAC,qCAAgB,CAAC,CAAC,oBAAoB,CAC3C,MAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM;SACP,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,KAAK,GAAG,EAAS,CAAC;QAExB,MAAM,IAAA,+BAAqB,EAAC;YAC1B,KAAK;YACL,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,gBAAgB;YAC7B,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE;SAClC,CAAC,CAAC;QAEH,MAAM,CAAC,qCAAgB,CAAC,CAAC,oBAAoB,CAC3C,MAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM,EAAE;gBACN,GAAG,MAAM;gBACT,aAAa,EAAE,IAAA,sBAAS,EAAC,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC;aAChE;SACF,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport mapValues from 'lodash/mapValues.js';\n\nconst preset = {\n propertiesMap: {\n borderRadiusButton: '--border-radius-button-aaaaaa',\n colorBorderButtonNormalDefault: '--color-border-button-normal-default-bbbbbb',\n },\n};\n\njest.mock('@cloudscape-design/theming-build', () => ({\n buildThemedComponents: jest.fn().mockResolvedValue(undefined),\n}));\n\njest.mock('../internal/template/internal/generated/theming/index.cjs', () => ({\n preset,\n}));\n\nimport { buildThemedComponents as themingCoreBuild } from '@cloudscape-design/theming-build';\n\nimport { buildThemedComponents } from '../theming';\n\ndescribe('buildThemedComponents', () => {\n test('does not pass website token versions by default', async () => {\n const theme = {} as any;\n\n await buildThemedComponents({ theme, outputDir: '/tmp/output', baseThemeId: 'visual-refresh' });\n\n expect(themingCoreBuild).toHaveBeenCalledWith(\n expect.objectContaining({\n preset,\n })\n );\n });\n\n test('passes stable website token versions when the feature flag is enabled', async () => {\n const theme = {} as any;\n\n await buildThemedComponents({\n theme,\n outputDir: '/tmp/output',\n baseThemeId: 'visual-refresh',\n ...{ __tokenHashSeed: 'website' },\n });\n\n expect(themingCoreBuild).toHaveBeenCalledWith(\n expect.objectContaining({\n preset: {\n ...preset,\n tokenVersions: mapValues(preset.propertiesMap, () => 'website'),\n },\n })\n );\n });\n});\n"]}
|
|
@@ -31,7 +31,7 @@ $tokens: style-api.resolve($props, carrier);
|
|
|
31
31
|
.alert {
|
|
32
32
|
@include style-api.carriers($tokens);
|
|
33
33
|
@include styles.styles-reset;
|
|
34
|
-
color:
|
|
34
|
+
color: style-api.value($tokens, color, awsui.$color-text-alert-default);
|
|
35
35
|
position: relative;
|
|
36
36
|
display: flex;
|
|
37
37
|
flex-direction: row;
|
|
@@ -39,13 +39,13 @@ $tokens: style-api.resolve($props, carrier);
|
|
|
39
39
|
border-block-end: awsui.$border-width-alert-block-end solid;
|
|
40
40
|
border-inline-start: awsui.$border-width-alert-inline-start solid;
|
|
41
41
|
border-inline-end: awsui.$border-width-alert-inline-end solid;
|
|
42
|
-
border-start-start-radius:
|
|
43
|
-
border-start-end-radius:
|
|
44
|
-
border-end-start-radius:
|
|
45
|
-
border-end-end-radius:
|
|
46
|
-
padding-block:
|
|
47
|
-
padding-inline:
|
|
48
|
-
background-color:
|
|
42
|
+
border-start-start-radius: style-api.value($tokens, border-radius, awsui.$border-radius-alert);
|
|
43
|
+
border-start-end-radius: style-api.value($tokens, border-radius, awsui.$border-radius-alert);
|
|
44
|
+
border-end-start-radius: style-api.value($tokens, border-radius, awsui.$border-radius-alert);
|
|
45
|
+
border-end-end-radius: style-api.value($tokens, border-radius, awsui.$border-radius-alert);
|
|
46
|
+
padding-block: style-api.value($tokens, padding-block, awsui.$space-alert-vertical);
|
|
47
|
+
padding-inline: style-api.value($tokens, padding-inline, awsui.$space-alert-horizontal);
|
|
48
|
+
background-color: style-api.value($tokens, background-color, awsui.$color-background-container-content);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
.alert-wrapper {
|
|
@@ -173,11 +173,12 @@ $_text-colors: (
|
|
|
173
173
|
|
|
174
174
|
@each $type in map.keys($_text-colors) {
|
|
175
175
|
.type-#{$type} {
|
|
176
|
-
border-color:
|
|
177
|
-
background-color:
|
|
176
|
+
border-color: style-api.value($tokens, border-color, map.get($_border-colors, $type));
|
|
177
|
+
background-color: style-api.value($tokens, background-color, map.get($_background-colors, $type));
|
|
178
178
|
> .alert-wrapper > .alert-focus-wrapper > .icon {
|
|
179
|
-
color:
|
|
180
|
-
|
|
179
|
+
color: style-api.value(
|
|
180
|
+
$icon-tokens,
|
|
181
|
+
color,
|
|
181
182
|
var(#{custom-props.$alertIconColor}, #{map.get($_text-colors, $type)})
|
|
182
183
|
);
|
|
183
184
|
}
|
|
@@ -17,83 +17,72 @@ $tokens: style-api.resolve(style-api.combine(style-api.$surface, (padding-block,
|
|
|
17
17
|
@include styles.font-body-s;
|
|
18
18
|
line-height: awsui.$line-height-body-m;
|
|
19
19
|
display: inline-block;
|
|
20
|
-
border-start-start-radius:
|
|
21
|
-
border-start-end-radius:
|
|
22
|
-
border-end-start-radius:
|
|
23
|
-
border-end-end-radius:
|
|
20
|
+
border-start-start-radius: style-api.value($tokens, border-radius, awsui.$border-radius-badge);
|
|
21
|
+
border-start-end-radius: style-api.value($tokens, border-radius, awsui.$border-radius-badge);
|
|
22
|
+
border-end-start-radius: style-api.value($tokens, border-radius, awsui.$border-radius-badge);
|
|
23
|
+
border-end-end-radius: style-api.value($tokens, border-radius, awsui.$border-radius-badge);
|
|
24
24
|
border-block-style: solid;
|
|
25
25
|
border-inline-style: solid;
|
|
26
|
-
border-width:
|
|
27
|
-
padding-block:
|
|
28
|
-
padding-inline:
|
|
29
|
-
color:
|
|
26
|
+
border-width: style-api.value($tokens, border-width, awsui.$border-width-badge);
|
|
27
|
+
padding-block: style-api.value($tokens, padding-block, 0);
|
|
28
|
+
padding-inline: style-api.value($tokens, padding-inline, awsui.$space-xs);
|
|
29
|
+
color: style-api.value($tokens, color, awsui.$color-text-notification-default);
|
|
30
30
|
|
|
31
31
|
&.badge-color-grey {
|
|
32
|
-
background-color:
|
|
33
|
-
border-color:
|
|
34
|
-
color:
|
|
32
|
+
background-color: style-api.value($tokens, background-color, awsui.$color-background-badge-grey);
|
|
33
|
+
border-color: style-api.value($tokens, border-color, awsui.$color-border-badge-grey);
|
|
34
|
+
color: style-api.value($tokens, color, awsui.$color-text-badge-grey);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
&.badge-color-green {
|
|
38
|
-
background-color:
|
|
39
|
-
border-color:
|
|
40
|
-
color:
|
|
38
|
+
background-color: style-api.value($tokens, background-color, awsui.$color-background-badge-green);
|
|
39
|
+
border-color: style-api.value($tokens, border-color, awsui.$color-border-badge-green);
|
|
40
|
+
color: style-api.value($tokens, color, awsui.$color-text-badge-green);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
&.badge-color-blue {
|
|
44
|
-
background-color:
|
|
45
|
-
border-color:
|
|
46
|
-
color:
|
|
44
|
+
background-color: style-api.value($tokens, background-color, awsui.$color-background-badge-blue);
|
|
45
|
+
border-color: style-api.value($tokens, border-color, awsui.$color-border-badge-blue);
|
|
46
|
+
color: style-api.value($tokens, color, awsui.$color-text-badge-blue);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
&.badge-color-red {
|
|
50
|
-
background-color:
|
|
51
|
-
border-color:
|
|
52
|
-
color:
|
|
50
|
+
background-color: style-api.value($tokens, background-color, awsui.$color-background-badge-red);
|
|
51
|
+
border-color: style-api.value($tokens, border-color, awsui.$color-border-badge-red);
|
|
52
|
+
color: style-api.value($tokens, color, awsui.$color-text-badge-red);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
&.badge-color-severity-critical {
|
|
56
|
-
background-color:
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
background-color: style-api.value(
|
|
57
|
+
$tokens,
|
|
58
|
+
background-color,
|
|
59
|
+
awsui.$color-background-notification-severity-critical
|
|
59
60
|
);
|
|
60
|
-
border-color:
|
|
61
|
-
color:
|
|
61
|
+
border-color: style-api.value($tokens, border-color, awsui.$color-border-badge-severity-critical);
|
|
62
|
+
color: style-api.value($tokens, color, awsui.$color-text-badge-severity-critical);
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
&.badge-color-severity-high {
|
|
65
|
-
background-color:
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
);
|
|
69
|
-
border-color: var(#{style-api.read($tokens, border-color)}, #{awsui.$color-border-badge-severity-high});
|
|
70
|
-
color: var(#{style-api.read($tokens, color)}, #{awsui.$color-text-badge-severity-high});
|
|
66
|
+
background-color: style-api.value($tokens, background-color, awsui.$color-background-notification-severity-high);
|
|
67
|
+
border-color: style-api.value($tokens, border-color, awsui.$color-border-badge-severity-high);
|
|
68
|
+
color: style-api.value($tokens, color, awsui.$color-text-badge-severity-high);
|
|
71
69
|
}
|
|
72
70
|
|
|
73
71
|
&.badge-color-severity-medium {
|
|
74
|
-
background-color:
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
);
|
|
78
|
-
border-color: var(#{style-api.read($tokens, border-color)}, #{awsui.$color-border-badge-severity-medium});
|
|
79
|
-
color: var(#{style-api.read($tokens, color)}, #{awsui.$color-text-badge-severity-medium});
|
|
72
|
+
background-color: style-api.value($tokens, background-color, awsui.$color-background-notification-severity-medium);
|
|
73
|
+
border-color: style-api.value($tokens, border-color, awsui.$color-border-badge-severity-medium);
|
|
74
|
+
color: style-api.value($tokens, color, awsui.$color-text-badge-severity-medium);
|
|
80
75
|
}
|
|
81
76
|
|
|
82
77
|
&.badge-color-severity-low {
|
|
83
|
-
background-color:
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
);
|
|
87
|
-
border-color: var(#{style-api.read($tokens, border-color)}, #{awsui.$color-border-badge-severity-low});
|
|
88
|
-
color: var(#{style-api.read($tokens, color)}, #{awsui.$color-text-badge-severity-low});
|
|
78
|
+
background-color: style-api.value($tokens, background-color, awsui.$color-background-notification-severity-low);
|
|
79
|
+
border-color: style-api.value($tokens, border-color, awsui.$color-border-badge-severity-low);
|
|
80
|
+
color: style-api.value($tokens, color, awsui.$color-text-badge-severity-low);
|
|
89
81
|
}
|
|
90
82
|
|
|
91
83
|
&.badge-color-severity-neutral {
|
|
92
|
-
background-color:
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
);
|
|
96
|
-
border-color: var(#{style-api.read($tokens, border-color)}, #{awsui.$color-border-badge-severity-neutral});
|
|
97
|
-
color: var(#{style-api.read($tokens, color)}, #{awsui.$color-text-badge-severity-neutral});
|
|
84
|
+
background-color: style-api.value($tokens, background-color, awsui.$color-background-notification-severity-neutral);
|
|
85
|
+
border-color: style-api.value($tokens, border-color, awsui.$color-border-badge-severity-neutral);
|
|
86
|
+
color: style-api.value($tokens, color, awsui.$color-text-badge-severity-neutral);
|
|
98
87
|
}
|
|
99
88
|
}
|
|
@@ -18,78 +18,78 @@ $tokens: style-api.resolve($props, carrier);
|
|
|
18
18
|
@include style-api.docs('root', $tokens);
|
|
19
19
|
|
|
20
20
|
@mixin adjust-for-variant($variant) {
|
|
21
|
-
background:
|
|
22
|
-
|
|
21
|
+
background: style-api.value(
|
|
22
|
+
$tokens,
|
|
23
|
+
background-color,
|
|
23
24
|
var(#{custom-props.$styleBackgroundDefault}, map.get($variant, 'default-background'))
|
|
24
25
|
);
|
|
25
|
-
color: var(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
border-color: var(
|
|
30
|
-
#{style-api.read($tokens, border-color)},
|
|
26
|
+
color: style-api.value($tokens, color, var(#{custom-props.$styleColorDefault}, map.get($variant, 'default-color')));
|
|
27
|
+
border-color: style-api.value(
|
|
28
|
+
$tokens,
|
|
29
|
+
border-color,
|
|
31
30
|
var(#{custom-props.$styleBorderColorDefault}, #{map.get($variant, 'default-border-color')})
|
|
32
31
|
);
|
|
33
|
-
box-shadow:
|
|
32
|
+
box-shadow: style-api.value($tokens, box-shadow, var(#{custom-props.$styleBoxShadowDefault}));
|
|
34
33
|
@if map.get($variant, 'border-width') {
|
|
35
|
-
border-block-width:
|
|
36
|
-
border-inline-width:
|
|
34
|
+
border-block-width: style-api.value($tokens, border-width, map.get($variant, 'border-width'));
|
|
35
|
+
border-inline-width: style-api.value($tokens, border-width, map.get($variant, 'border-width'));
|
|
37
36
|
}
|
|
38
37
|
position: relative;
|
|
39
38
|
text-decoration: none;
|
|
40
39
|
@if map.get($variant, 'padding') {
|
|
41
|
-
padding-block:
|
|
42
|
-
padding-inline:
|
|
40
|
+
padding-block: style-api.value($tokens, padding-block, map.get($variant, 'padding'));
|
|
41
|
+
padding-inline: style-api.value($tokens, padding-inline, map.get($variant, 'padding'));
|
|
43
42
|
}
|
|
44
43
|
font-weight: map.get($variant, 'font-weight');
|
|
45
44
|
|
|
46
45
|
&:hover {
|
|
47
|
-
background:
|
|
48
|
-
|
|
46
|
+
background: style-api.value(
|
|
47
|
+
$tokens,
|
|
48
|
+
background-color,
|
|
49
49
|
var(#{custom-props.$styleBackgroundHover}, map.get($variant, 'hover-background'))
|
|
50
50
|
);
|
|
51
|
-
border-color:
|
|
52
|
-
|
|
51
|
+
border-color: style-api.value(
|
|
52
|
+
$tokens,
|
|
53
|
+
border-color,
|
|
53
54
|
var(#{custom-props.$styleBorderColorHover}, map.get($variant, 'hover-border-color'))
|
|
54
55
|
);
|
|
55
|
-
color: var(
|
|
56
|
-
|
|
57
|
-
var(#{custom-props.$styleColorHover}, map.get($variant, 'hover-color'))
|
|
58
|
-
);
|
|
59
|
-
box-shadow: var(#{style-api.read($tokens, box-shadow)}, var(#{custom-props.$styleBoxShadowHover}));
|
|
56
|
+
color: style-api.value($tokens, color, var(#{custom-props.$styleColorHover}, map.get($variant, 'hover-color')));
|
|
57
|
+
box-shadow: style-api.value($tokens, box-shadow, var(#{custom-props.$styleBoxShadowHover}));
|
|
60
58
|
text-decoration: none;
|
|
61
59
|
}
|
|
62
60
|
|
|
63
61
|
&:active {
|
|
64
|
-
background:
|
|
65
|
-
|
|
62
|
+
background: style-api.value(
|
|
63
|
+
$tokens,
|
|
64
|
+
background-color,
|
|
66
65
|
var(#{custom-props.$styleBackgroundActive}, map.get($variant, 'active-background'))
|
|
67
66
|
);
|
|
68
|
-
border-color:
|
|
69
|
-
|
|
67
|
+
border-color: style-api.value(
|
|
68
|
+
$tokens,
|
|
69
|
+
border-color,
|
|
70
70
|
var(#{custom-props.$styleBorderColorActive}, map.get($variant, 'active-border-color'))
|
|
71
71
|
);
|
|
72
|
-
color: var(
|
|
73
|
-
|
|
74
|
-
var(#{custom-props.$styleColorActive}, map.get($variant, 'active-color'))
|
|
75
|
-
);
|
|
76
|
-
box-shadow: var(#{style-api.read($tokens, box-shadow)}, var(#{custom-props.$styleBoxShadowActive}));
|
|
72
|
+
color: style-api.value($tokens, color, var(#{custom-props.$styleColorActive}, map.get($variant, 'active-color')));
|
|
73
|
+
box-shadow: style-api.value($tokens, box-shadow, var(#{custom-props.$styleBoxShadowActive}));
|
|
77
74
|
}
|
|
78
75
|
|
|
79
76
|
&.disabled {
|
|
80
|
-
background:
|
|
81
|
-
|
|
77
|
+
background: style-api.value(
|
|
78
|
+
$tokens,
|
|
79
|
+
background-color,
|
|
82
80
|
var(#{custom-props.$styleBackgroundDisabled}, map.get($variant, 'disabled-background'))
|
|
83
81
|
);
|
|
84
|
-
border-color:
|
|
85
|
-
|
|
82
|
+
border-color: style-api.value(
|
|
83
|
+
$tokens,
|
|
84
|
+
border-color,
|
|
86
85
|
var(#{custom-props.$styleBorderColorDisabled}, map.get($variant, 'disabled-border-color'))
|
|
87
86
|
);
|
|
88
|
-
color:
|
|
89
|
-
|
|
87
|
+
color: style-api.value(
|
|
88
|
+
$tokens,
|
|
89
|
+
color,
|
|
90
90
|
var(#{custom-props.$styleColorDisabled}, map.get($variant, 'disabled-color'))
|
|
91
91
|
);
|
|
92
|
-
box-shadow:
|
|
92
|
+
box-shadow: style-api.value($tokens, box-shadow, var(#{custom-props.$styleBoxShadowDisabled}));
|
|
93
93
|
text-decoration: none;
|
|
94
94
|
cursor: auto;
|
|
95
95
|
}
|
|
@@ -105,14 +105,14 @@ $tokens: style-api.resolve($props, carrier);
|
|
|
105
105
|
@include styles.text-wrapping;
|
|
106
106
|
@include styles.font-button;
|
|
107
107
|
letter-spacing: awsui.$font-button-letter-spacing;
|
|
108
|
-
border-start-start-radius:
|
|
109
|
-
border-start-end-radius:
|
|
110
|
-
border-end-start-radius:
|
|
111
|
-
border-end-end-radius:
|
|
112
|
-
border-block:
|
|
113
|
-
border-inline:
|
|
114
|
-
padding-block:
|
|
115
|
-
padding-inline:
|
|
108
|
+
border-start-start-radius: style-api.value($tokens, border-radius, awsui.$border-radius-button);
|
|
109
|
+
border-start-end-radius: style-api.value($tokens, border-radius, awsui.$border-radius-button);
|
|
110
|
+
border-end-start-radius: style-api.value($tokens, border-radius, awsui.$border-radius-button);
|
|
111
|
+
border-end-end-radius: style-api.value($tokens, border-radius, awsui.$border-radius-button);
|
|
112
|
+
border-block: style-api.value($tokens, border-width, awsui.$border-width-button) solid;
|
|
113
|
+
border-inline: style-api.value($tokens, border-width, awsui.$border-width-button) solid;
|
|
114
|
+
padding-block: style-api.value($tokens, padding-block, awsui.$space-button-vertical);
|
|
115
|
+
padding-inline: style-api.value($tokens, padding-inline, awsui.$space-button-horizontal);
|
|
116
116
|
display: inline-block; // for <a> as a button
|
|
117
117
|
text-decoration: none;
|
|
118
118
|
cursor: pointer;
|
|
@@ -158,8 +158,8 @@ $tokens: style-api.resolve($props, carrier);
|
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
&.button-no-text {
|
|
161
|
-
padding-inline-start:
|
|
162
|
-
padding-inline-end:
|
|
161
|
+
padding-inline-start: style-api.value($tokens, padding-inline, awsui.$space-button-icon-only-horizontal);
|
|
162
|
+
padding-inline-end: style-api.value($tokens, padding-inline, awsui.$space-button-icon-only-horizontal);
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
&.button-no-wrap {
|
|
@@ -177,12 +177,12 @@ $tokens: style-api.resolve($props, carrier);
|
|
|
177
177
|
&.variant-flashbar-icon {
|
|
178
178
|
// Icon has vertical padding, but no horizontal, we need to conpensate this
|
|
179
179
|
// in order to have equal height and width
|
|
180
|
-
padding-inline:
|
|
180
|
+
padding-inline: style-api.value($tokens, padding-inline, awsui.$space-xxs);
|
|
181
181
|
}
|
|
182
182
|
|
|
183
183
|
&.variant-modal-dismiss {
|
|
184
|
-
padding-block:
|
|
185
|
-
padding-inline:
|
|
184
|
+
padding-block: style-api.value($tokens, padding-block, awsui.$space-button-modal-dismiss-vertical);
|
|
185
|
+
padding-inline: style-api.value($tokens, padding-inline, awsui.$space-xxs);
|
|
186
186
|
margin-inline-end: calc(-1 * #{awsui.$space-xxs});
|
|
187
187
|
}
|
|
188
188
|
|
|
@@ -7,12 +7,16 @@
|
|
|
7
7
|
|
|
8
8
|
@use '../internal/styles' as styles;
|
|
9
9
|
@use '../internal/styles/tokens' as awsui;
|
|
10
|
+
@use '../internal/generated/custom-css-properties/index.scss' as custom-props;
|
|
10
11
|
|
|
11
12
|
.root {
|
|
12
13
|
@include styles.styles-reset();
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
.header {
|
|
17
|
+
&:not(.header-variant-full-page) {
|
|
18
|
+
#{custom-props.$inlineLabelBackgroundColor}: awsui.$color-background-container-header;
|
|
19
|
+
}
|
|
16
20
|
&-variant-full-page.header-refresh {
|
|
17
21
|
padding-block-start: 0;
|
|
18
22
|
padding-inline-start: 0;
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
@use '../internal/styles/tokens' as awsui;
|
|
7
7
|
@use '../internal/styles' as styles;
|
|
8
8
|
@use './shared' as shared;
|
|
9
|
+
@use '../internal/generated/custom-css-properties/index.scss' as custom-props;
|
|
9
10
|
|
|
10
11
|
.root {
|
|
11
12
|
@include styles.styles-reset;
|
|
@@ -25,6 +26,7 @@
|
|
|
25
26
|
&-default,
|
|
26
27
|
&-stacked {
|
|
27
28
|
background-color: awsui.$color-background-container-content;
|
|
29
|
+
#{custom-props.$inlineLabelBackgroundColor}: awsui.$color-background-container-content;
|
|
28
30
|
// Border and shadows are applied with ::before and ::after elements (respectively)
|
|
29
31
|
@include styles.container-style;
|
|
30
32
|
}
|
|
@@ -608,10 +608,10 @@ $icon-hover-motion: (
|
|
|
608
608
|
property: stroke-dashoffset,
|
|
609
609
|
base: (
|
|
610
610
|
stroke-dasharray: 30,
|
|
611
|
-
stroke-dashoffset:
|
|
611
|
+
stroke-dashoffset: 60px,
|
|
612
612
|
),
|
|
613
613
|
to: (
|
|
614
|
-
stroke-dashoffset:
|
|
614
|
+
stroke-dashoffset: 56px,
|
|
615
615
|
),
|
|
616
616
|
),
|
|
617
617
|
(
|
|
@@ -639,10 +639,10 @@ $icon-hover-motion: (
|
|
|
639
639
|
property: stroke-dashoffset,
|
|
640
640
|
base: (
|
|
641
641
|
stroke-dasharray: 30,
|
|
642
|
-
stroke-dashoffset:
|
|
642
|
+
stroke-dashoffset: 60px,
|
|
643
643
|
),
|
|
644
644
|
to: (
|
|
645
|
-
stroke-dashoffset:
|
|
645
|
+
stroke-dashoffset: 56px,
|
|
646
646
|
),
|
|
647
647
|
),
|
|
648
648
|
(
|
|
@@ -1382,10 +1382,10 @@ $icon-hover-motion: (
|
|
|
1382
1382
|
property: stroke-dashoffset,
|
|
1383
1383
|
base: (
|
|
1384
1384
|
stroke-dasharray: 32 2,
|
|
1385
|
-
stroke-dashoffset:
|
|
1385
|
+
stroke-dashoffset: 34px,
|
|
1386
1386
|
),
|
|
1387
1387
|
to: (
|
|
1388
|
-
stroke-dashoffset:
|
|
1388
|
+
stroke-dashoffset: 32px,
|
|
1389
1389
|
),
|
|
1390
1390
|
),
|
|
1391
1391
|
(
|
|
@@ -1739,11 +1739,11 @@ $icon-hover-motion: (
|
|
|
1739
1739
|
0%,
|
|
1740
1740
|
100% {
|
|
1741
1741
|
stroke-dasharray: 7.4;
|
|
1742
|
-
stroke-dashoffset:
|
|
1742
|
+
stroke-dashoffset: 14.8px;
|
|
1743
1743
|
}
|
|
1744
1744
|
50% {
|
|
1745
1745
|
stroke-dasharray: 6, 7.4;
|
|
1746
|
-
stroke-dashoffset:
|
|
1746
|
+
stroke-dashoffset: 12.7px;
|
|
1747
1747
|
}
|
|
1748
1748
|
}
|
|
1749
1749
|
|
|
@@ -1751,11 +1751,11 @@ $icon-hover-motion: (
|
|
|
1751
1751
|
0%,
|
|
1752
1752
|
100% {
|
|
1753
1753
|
stroke-dasharray: 7.4;
|
|
1754
|
-
stroke-dashoffset:
|
|
1754
|
+
stroke-dashoffset: 14.8px;
|
|
1755
1755
|
}
|
|
1756
1756
|
50% {
|
|
1757
1757
|
stroke-dasharray: 6, 7.4;
|
|
1758
|
-
stroke-dashoffset:
|
|
1758
|
+
stroke-dashoffset: 12.7px;
|
|
1759
1759
|
}
|
|
1760
1760
|
}
|
|
1761
1761
|
|
|
@@ -1847,11 +1847,11 @@ $icon-hover-motion: (
|
|
|
1847
1847
|
40%,
|
|
1848
1848
|
80%,
|
|
1849
1849
|
100% {
|
|
1850
|
-
stroke-dashoffset:
|
|
1850
|
+
stroke-dashoffset: 4px;
|
|
1851
1851
|
}
|
|
1852
1852
|
20%,
|
|
1853
1853
|
60% {
|
|
1854
|
-
stroke-dashoffset:
|
|
1854
|
+
stroke-dashoffset: 3.951px;
|
|
1855
1855
|
}
|
|
1856
1856
|
}
|
|
1857
1857
|
|
|
@@ -2198,6 +2198,18 @@ $_spec-keys: (part, animation, to, base, origin, duration, easing, delay, iterat
|
|
|
2198
2198
|
{
|
|
2199
2199
|
@error 'The $icon-hover-motion spec for `#{$name}` sets motion but is missing `duration` or `easing`.';
|
|
2200
2200
|
}
|
|
2201
|
+
|
|
2202
|
+
// Safari mishandles negative dash offsets. This check validates no negative offsets exist.
|
|
2203
|
+
// Instead of negative offsets, shift the offset up by one period to keep it positive.
|
|
2204
|
+
@each $state in (base, to) {
|
|
2205
|
+
$values: map.get($spec, $state) or ();
|
|
2206
|
+
$offset: map.get($values, stroke-dashoffset);
|
|
2207
|
+
@if meta.type-of($offset) == 'number' and $offset < 0 {
|
|
2208
|
+
@error 'The $icon-hover-motion spec for `#{$name}` sets a negative `stroke-dashoffset`, ' +
|
|
2209
|
+
'which Safari mishandles. Add one full dash period (the sum of the `stroke-dasharray` ' +
|
|
2210
|
+
'values) to keep it positive — the rendering is identical.';
|
|
2211
|
+
}
|
|
2212
|
+
}
|
|
2201
2213
|
}
|
|
2202
2214
|
}
|
|
2203
2215
|
}
|