@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.
Files changed (197) hide show
  1. package/lib/__tests__/theming.test.d.ts +2 -0
  2. package/lib/__tests__/theming.test.d.ts.map +1 -0
  3. package/lib/__tests__/theming.test.js +47 -0
  4. package/lib/__tests__/theming.test.js.map +1 -0
  5. package/lib/internal/manifest.json +1 -1
  6. package/lib/internal/scss/alert/styles.scss +13 -12
  7. package/lib/internal/scss/badge/styles.scss +38 -49
  8. package/lib/internal/scss/button/styles.scss +51 -51
  9. package/lib/internal/scss/cards/styles.scss +4 -0
  10. package/lib/internal/scss/container/styles.scss +2 -0
  11. package/lib/internal/scss/icon/hover-motion.scss +24 -12
  12. package/lib/internal/scss/input/styles.scss +4 -0
  13. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +175 -174
  14. package/lib/internal/scss/internal/styles/forms/mixins.scss +11 -2
  15. package/lib/internal/scss/internal/styles/style-api.scss +60 -10
  16. package/lib/internal/scss/pagination/styles.scss +3 -1
  17. package/lib/internal/scss/table/styles.scss +5 -0
  18. package/lib/internal/template/alert/styles.css.js +27 -27
  19. package/lib/internal/template/alert/styles.scoped.css +50 -50
  20. package/lib/internal/template/alert/styles.selectors.js +27 -27
  21. package/lib/internal/template/annotation-context/annotation/styles.css.js +13 -13
  22. package/lib/internal/template/annotation-context/annotation/styles.scoped.css +21 -21
  23. package/lib/internal/template/annotation-context/annotation/styles.selectors.js +13 -13
  24. package/lib/internal/template/app-layout/notifications/styles.css.js +3 -3
  25. package/lib/internal/template/app-layout/notifications/styles.scoped.css +7 -7
  26. package/lib/internal/template/app-layout/notifications/styles.selectors.js +3 -3
  27. package/lib/internal/template/app-layout/visual-refresh/styles.css.js +86 -86
  28. package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +258 -258
  29. package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
  30. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +32 -32
  31. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +89 -89
  32. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +32 -32
  33. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +6 -6
  34. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +13 -13
  35. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +6 -6
  36. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +30 -30
  37. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +68 -68
  38. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +30 -30
  39. package/lib/internal/template/attribute-editor/styles.css.js +15 -15
  40. package/lib/internal/template/attribute-editor/styles.scoped.css +28 -28
  41. package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
  42. package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
  43. package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +28 -28
  44. package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
  45. package/lib/internal/template/button/styles.css.js +23 -23
  46. package/lib/internal/template/button/styles.scoped.css +261 -261
  47. package/lib/internal/template/button/styles.selectors.js +23 -23
  48. package/lib/internal/template/button-dropdown/filter.d.ts +1 -1
  49. package/lib/internal/template/button-dropdown/filter.d.ts.map +1 -1
  50. package/lib/internal/template/button-dropdown/internal.d.ts.map +1 -1
  51. package/lib/internal/template/button-dropdown/internal.js +9 -3
  52. package/lib/internal/template/button-dropdown/internal.js.map +1 -1
  53. package/lib/internal/template/button-dropdown/item-element/styles.css.js +21 -21
  54. package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +37 -37
  55. package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +21 -21
  56. package/lib/internal/template/button-dropdown/utils/use-button-dropdown.d.ts +5 -3
  57. package/lib/internal/template/button-dropdown/utils/use-button-dropdown.d.ts.map +1 -1
  58. package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js +14 -2
  59. package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js.map +1 -1
  60. package/lib/internal/template/cards/styles.css.js +39 -38
  61. package/lib/internal/template/cards/styles.scoped.css +42 -39
  62. package/lib/internal/template/cards/styles.selectors.js +39 -38
  63. package/lib/internal/template/checkbox/styles.css.js +3 -3
  64. package/lib/internal/template/checkbox/styles.scoped.css +11 -11
  65. package/lib/internal/template/checkbox/styles.selectors.js +3 -3
  66. package/lib/internal/template/container/styles.css.js +33 -33
  67. package/lib/internal/template/container/styles.scoped.css +57 -56
  68. package/lib/internal/template/container/styles.selectors.js +33 -33
  69. package/lib/internal/template/content-layout/styles.css.js +14 -14
  70. package/lib/internal/template/content-layout/styles.scoped.css +27 -27
  71. package/lib/internal/template/content-layout/styles.selectors.js +14 -14
  72. package/lib/internal/template/dropdown/styles.css.js +20 -20
  73. package/lib/internal/template/dropdown/styles.scoped.css +49 -49
  74. package/lib/internal/template/dropdown/styles.selectors.js +20 -20
  75. package/lib/internal/template/file-token-group/styles.css.js +23 -23
  76. package/lib/internal/template/file-token-group/styles.scoped.css +36 -36
  77. package/lib/internal/template/file-token-group/styles.selectors.js +23 -23
  78. package/lib/internal/template/flashbar/styles.css.js +50 -50
  79. package/lib/internal/template/flashbar/styles.scoped.css +192 -192
  80. package/lib/internal/template/flashbar/styles.selectors.js +50 -50
  81. package/lib/internal/template/help-panel/styles.css.js +6 -6
  82. package/lib/internal/template/help-panel/styles.scoped.css +72 -72
  83. package/lib/internal/template/help-panel/styles.selectors.js +6 -6
  84. package/lib/internal/template/input/index.d.ts.map +1 -1
  85. package/lib/internal/template/input/index.js +3 -2
  86. package/lib/internal/template/input/index.js.map +1 -1
  87. package/lib/internal/template/input/interfaces.d.ts +6 -0
  88. package/lib/internal/template/input/interfaces.d.ts.map +1 -1
  89. package/lib/internal/template/input/interfaces.js.map +1 -1
  90. package/lib/internal/template/input/internal.d.ts +0 -1
  91. package/lib/internal/template/input/internal.d.ts.map +1 -1
  92. package/lib/internal/template/input/internal.js +26 -12
  93. package/lib/internal/template/input/internal.js.map +1 -1
  94. package/lib/internal/template/input/styles.css.js +29 -28
  95. package/lib/internal/template/input/styles.scoped.css +134 -131
  96. package/lib/internal/template/input/styles.selectors.js +29 -28
  97. package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
  98. package/lib/internal/template/internal/components/drag-handle-wrapper/index.d.ts.map +1 -1
  99. package/lib/internal/template/internal/components/drag-handle-wrapper/index.js +2 -1
  100. package/lib/internal/template/internal/components/drag-handle-wrapper/index.js.map +1 -1
  101. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +30 -30
  102. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +58 -58
  103. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +30 -30
  104. package/lib/internal/template/internal/components/option/styles.css.js +17 -17
  105. package/lib/internal/template/internal/components/option/styles.scoped.css +31 -31
  106. package/lib/internal/template/internal/components/option/styles.selectors.js +17 -17
  107. package/lib/internal/template/internal/components/radio-button/styles.css.js +7 -7
  108. package/lib/internal/template/internal/components/radio-button/styles.scoped.css +18 -18
  109. package/lib/internal/template/internal/components/radio-button/styles.selectors.js +7 -7
  110. package/lib/internal/template/internal/components/selectable-item/styles.css.js +22 -22
  111. package/lib/internal/template/internal/components/selectable-item/styles.scoped.css +57 -57
  112. package/lib/internal/template/internal/components/selectable-item/styles.selectors.js +22 -22
  113. package/lib/internal/template/internal/components/token-list/styles.css.js +10 -10
  114. package/lib/internal/template/internal/components/token-list/styles.scoped.css +25 -25
  115. package/lib/internal/template/internal/components/token-list/styles.selectors.js +10 -10
  116. package/lib/internal/template/internal/environment.js +2 -2
  117. package/lib/internal/template/internal/environment.json +2 -2
  118. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts +1 -0
  119. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  120. package/lib/internal/template/internal/generated/custom-css-properties/index.js +174 -173
  121. package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
  122. package/lib/internal/template/internal/generated/styles/tokens.js +200 -200
  123. package/lib/internal/template/internal/generated/theming/index.cjs +200 -200
  124. package/lib/internal/template/internal/generated/theming/index.js +200 -200
  125. package/lib/internal/template/internal/utils/focus-visible.d.ts +15 -0
  126. package/lib/internal/template/internal/utils/focus-visible.d.ts.map +1 -0
  127. package/lib/internal/template/internal/utils/focus-visible.js +21 -0
  128. package/lib/internal/template/internal/utils/focus-visible.js.map +1 -0
  129. package/lib/internal/template/item-card/styles.css.js +14 -14
  130. package/lib/internal/template/item-card/styles.scoped.css +63 -63
  131. package/lib/internal/template/item-card/styles.selectors.js +14 -14
  132. package/lib/internal/template/link/styles.css.js +21 -21
  133. package/lib/internal/template/link/styles.scoped.css +104 -104
  134. package/lib/internal/template/link/styles.selectors.js +21 -21
  135. package/lib/internal/template/modal/styles.css.js +31 -31
  136. package/lib/internal/template/modal/styles.scoped.css +48 -48
  137. package/lib/internal/template/modal/styles.selectors.js +31 -31
  138. package/lib/internal/template/pagination/internal.js +1 -1
  139. package/lib/internal/template/pagination/internal.js.map +1 -1
  140. package/lib/internal/template/pagination/styles.css.js +12 -12
  141. package/lib/internal/template/pagination/styles.scoped.css +31 -31
  142. package/lib/internal/template/pagination/styles.selectors.js +12 -12
  143. package/lib/internal/template/progress-bar/styles.css.js +19 -19
  144. package/lib/internal/template/progress-bar/styles.scoped.css +58 -58
  145. package/lib/internal/template/progress-bar/styles.selectors.js +19 -19
  146. package/lib/internal/template/prompt-input/styles.css.js +26 -26
  147. package/lib/internal/template/prompt-input/styles.scoped.css +105 -105
  148. package/lib/internal/template/prompt-input/styles.selectors.js +26 -26
  149. package/lib/internal/template/segmented-control/styles.css.js +16 -16
  150. package/lib/internal/template/segmented-control/styles.scoped.css +46 -46
  151. package/lib/internal/template/segmented-control/styles.selectors.js +16 -16
  152. package/lib/internal/template/select/parts/filter.d.ts +1 -1
  153. package/lib/internal/template/select/parts/filter.d.ts.map +1 -1
  154. package/lib/internal/template/select/parts/styles.css.js +21 -21
  155. package/lib/internal/template/select/parts/styles.scoped.css +24 -24
  156. package/lib/internal/template/select/parts/styles.selectors.js +21 -21
  157. package/lib/internal/template/side-navigation/styles.css.js +64 -64
  158. package/lib/internal/template/side-navigation/styles.scoped.css +111 -111
  159. package/lib/internal/template/side-navigation/styles.selectors.js +64 -64
  160. package/lib/internal/template/slider/styles.css.js +26 -26
  161. package/lib/internal/template/slider/styles.scoped.css +165 -165
  162. package/lib/internal/template/slider/styles.selectors.js +26 -26
  163. package/lib/internal/template/spinner/styles.css.js +14 -14
  164. package/lib/internal/template/spinner/styles.scoped.css +40 -40
  165. package/lib/internal/template/spinner/styles.selectors.js +14 -14
  166. package/lib/internal/template/table/styles.css.js +37 -37
  167. package/lib/internal/template/table/styles.scoped.css +47 -44
  168. package/lib/internal/template/table/styles.selectors.js +37 -37
  169. package/lib/internal/template/tabs/styles.css.js +30 -30
  170. package/lib/internal/template/tabs/styles.scoped.css +76 -76
  171. package/lib/internal/template/tabs/styles.selectors.js +30 -30
  172. package/lib/internal/template/tag-editor/styles.css.js +3 -3
  173. package/lib/internal/template/tag-editor/styles.scoped.css +13 -13
  174. package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
  175. package/lib/internal/template/test-utils/dom/input/index.d.ts +1 -0
  176. package/lib/internal/template/test-utils/dom/input/index.js +3 -0
  177. package/lib/internal/template/test-utils/dom/input/index.js.map +1 -1
  178. package/lib/internal/template/test-utils/selectors/input/index.d.ts +1 -0
  179. package/lib/internal/template/test-utils/selectors/input/index.js +3 -0
  180. package/lib/internal/template/test-utils/selectors/input/index.js.map +1 -1
  181. package/lib/internal/template/text-content/styles.css.js +1 -1
  182. package/lib/internal/template/text-content/styles.scoped.css +66 -66
  183. package/lib/internal/template/text-content/styles.selectors.js +1 -1
  184. package/lib/internal/template/textarea/styles.css.js +9 -9
  185. package/lib/internal/template/textarea/styles.scoped.css +51 -51
  186. package/lib/internal/template/textarea/styles.selectors.js +9 -9
  187. package/lib/internal/template/toggle/styles.css.js +10 -10
  188. package/lib/internal/template/toggle/styles.scoped.css +23 -23
  189. package/lib/internal/template/toggle/styles.selectors.js +10 -10
  190. package/lib/internal/template/token/styles.css.js +14 -14
  191. package/lib/internal/template/token/styles.scoped.css +46 -46
  192. package/lib/internal/template/token/styles.selectors.js +14 -14
  193. package/lib/theming.d.ts +1 -1
  194. package/lib/theming.d.ts.map +1 -1
  195. package/lib/theming.js +11 -2
  196. package/lib/theming.js.map +1 -1
  197. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=theming.test.d.ts.map
@@ -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"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "commit": "85f92b8bf579bc3df4c6ef264694dfcc765637aa"
2
+ "commit": "74e4f3d0f6f500eee81b14e4ae7488ca04d27798"
3
3
  }
@@ -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: var(#{style-api.read($tokens, color)}, #{awsui.$color-text-alert-default});
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: var(#{style-api.read($tokens, border-radius)}, #{awsui.$border-radius-alert});
43
- border-start-end-radius: var(#{style-api.read($tokens, border-radius)}, #{awsui.$border-radius-alert});
44
- border-end-start-radius: var(#{style-api.read($tokens, border-radius)}, #{awsui.$border-radius-alert});
45
- border-end-end-radius: var(#{style-api.read($tokens, border-radius)}, #{awsui.$border-radius-alert});
46
- padding-block: var(#{style-api.read($tokens, padding-block)}, #{awsui.$space-alert-vertical});
47
- padding-inline: var(#{style-api.read($tokens, padding-inline)}, #{awsui.$space-alert-horizontal});
48
- background-color: var(#{style-api.read($tokens, background-color)}, #{awsui.$color-background-container-content});
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: var(#{style-api.read($tokens, border-color)}, #{map.get($_border-colors, $type)});
177
- background-color: var(#{style-api.read($tokens, background-color)}, #{map.get($_background-colors, $type)});
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: var(
180
- #{style-api.read($icon-tokens, color)},
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: var(#{style-api.read($tokens, border-radius)}, #{awsui.$border-radius-badge});
21
- border-start-end-radius: var(#{style-api.read($tokens, border-radius)}, #{awsui.$border-radius-badge});
22
- border-end-start-radius: var(#{style-api.read($tokens, border-radius)}, #{awsui.$border-radius-badge});
23
- border-end-end-radius: var(#{style-api.read($tokens, border-radius)}, #{awsui.$border-radius-badge});
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: var(#{style-api.read($tokens, border-width)}, #{awsui.$border-width-badge});
27
- padding-block: var(#{style-api.read($tokens, padding-block)}, 0);
28
- padding-inline: var(#{style-api.read($tokens, padding-inline)}, #{awsui.$space-xs});
29
- color: var(#{style-api.read($tokens, color)}, #{awsui.$color-text-notification-default});
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: var(#{style-api.read($tokens, background-color)}, #{awsui.$color-background-badge-grey});
33
- border-color: var(#{style-api.read($tokens, border-color)}, #{awsui.$color-border-badge-grey});
34
- color: var(#{style-api.read($tokens, color)}, #{awsui.$color-text-badge-grey});
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: var(#{style-api.read($tokens, background-color)}, #{awsui.$color-background-badge-green});
39
- border-color: var(#{style-api.read($tokens, border-color)}, #{awsui.$color-border-badge-green});
40
- color: var(#{style-api.read($tokens, color)}, #{awsui.$color-text-badge-green});
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: var(#{style-api.read($tokens, background-color)}, #{awsui.$color-background-badge-blue});
45
- border-color: var(#{style-api.read($tokens, border-color)}, #{awsui.$color-border-badge-blue});
46
- color: var(#{style-api.read($tokens, color)}, #{awsui.$color-text-badge-blue});
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: var(#{style-api.read($tokens, background-color)}, #{awsui.$color-background-badge-red});
51
- border-color: var(#{style-api.read($tokens, border-color)}, #{awsui.$color-border-badge-red});
52
- color: var(#{style-api.read($tokens, color)}, #{awsui.$color-text-badge-red});
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: var(
57
- #{style-api.read($tokens, background-color)},
58
- #{awsui.$color-background-notification-severity-critical}
56
+ background-color: style-api.value(
57
+ $tokens,
58
+ background-color,
59
+ awsui.$color-background-notification-severity-critical
59
60
  );
60
- border-color: var(#{style-api.read($tokens, border-color)}, #{awsui.$color-border-badge-severity-critical});
61
- color: var(#{style-api.read($tokens, color)}, #{awsui.$color-text-badge-severity-critical});
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: var(
66
- #{style-api.read($tokens, background-color)},
67
- #{awsui.$color-background-notification-severity-high}
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: var(
75
- #{style-api.read($tokens, background-color)},
76
- #{awsui.$color-background-notification-severity-medium}
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: var(
84
- #{style-api.read($tokens, background-color)},
85
- #{awsui.$color-background-notification-severity-low}
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: var(
93
- #{style-api.read($tokens, background-color)},
94
- #{awsui.$color-background-notification-severity-neutral}
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: var(
22
- #{style-api.read($tokens, background-color)},
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
- #{style-api.read($tokens, color)},
27
- var(#{custom-props.$styleColorDefault}, map.get($variant, 'default-color'))
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: var(#{style-api.read($tokens, box-shadow)}, var(#{custom-props.$styleBoxShadowDefault}));
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: var(#{style-api.read($tokens, border-width)}, #{map.get($variant, 'border-width')});
36
- border-inline-width: var(#{style-api.read($tokens, border-width)}, #{map.get($variant, 'border-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: var(#{style-api.read($tokens, padding-block)}, #{map.get($variant, 'padding')});
42
- padding-inline: var(#{style-api.read($tokens, padding-inline)}, #{map.get($variant, 'padding')});
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: var(
48
- #{style-api.read($tokens, background-color)},
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: var(
52
- #{style-api.read($tokens, border-color)},
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
- #{style-api.read($tokens, color)},
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: var(
65
- #{style-api.read($tokens, background-color)},
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: var(
69
- #{style-api.read($tokens, border-color)},
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
- #{style-api.read($tokens, color)},
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: var(
81
- #{style-api.read($tokens, background-color)},
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: var(
85
- #{style-api.read($tokens, border-color)},
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: var(
89
- #{style-api.read($tokens, color)},
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: var(#{style-api.read($tokens, box-shadow)}, var(#{custom-props.$styleBoxShadowDisabled}));
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: var(#{style-api.read($tokens, border-radius)}, #{awsui.$border-radius-button});
109
- border-start-end-radius: var(#{style-api.read($tokens, border-radius)}, #{awsui.$border-radius-button});
110
- border-end-start-radius: var(#{style-api.read($tokens, border-radius)}, #{awsui.$border-radius-button});
111
- border-end-end-radius: var(#{style-api.read($tokens, border-radius)}, #{awsui.$border-radius-button});
112
- border-block: var(#{style-api.read($tokens, border-width)}, #{awsui.$border-width-button}) solid;
113
- border-inline: var(#{style-api.read($tokens, border-width)}, #{awsui.$border-width-button}) solid;
114
- padding-block: var(#{style-api.read($tokens, padding-block)}, #{awsui.$space-button-vertical});
115
- padding-inline: var(#{style-api.read($tokens, padding-inline)}, #{awsui.$space-button-horizontal});
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: var(#{style-api.read($tokens, padding-inline)}, #{awsui.$space-button-icon-only-horizontal});
162
- padding-inline-end: var(#{style-api.read($tokens, padding-inline)}, #{awsui.$space-button-icon-only-horizontal});
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: var(#{style-api.read($tokens, padding-inline)}, #{awsui.$space-xxs});
180
+ padding-inline: style-api.value($tokens, padding-inline, awsui.$space-xxs);
181
181
  }
182
182
 
183
183
  &.variant-modal-dismiss {
184
- padding-block: var(#{style-api.read($tokens, padding-block)}, #{awsui.$space-button-modal-dismiss-vertical});
185
- padding-inline: var(#{style-api.read($tokens, padding-inline)}, #{awsui.$space-xxs});
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: 0,
611
+ stroke-dashoffset: 60px,
612
612
  ),
613
613
  to: (
614
- stroke-dashoffset: -4px,
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: 0,
642
+ stroke-dashoffset: 60px,
643
643
  ),
644
644
  to: (
645
- stroke-dashoffset: -4px,
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: 0,
1385
+ stroke-dashoffset: 34px,
1386
1386
  ),
1387
1387
  to: (
1388
- stroke-dashoffset: -2px,
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: 0;
1742
+ stroke-dashoffset: 14.8px;
1743
1743
  }
1744
1744
  50% {
1745
1745
  stroke-dasharray: 6, 7.4;
1746
- stroke-dashoffset: -0.7px;
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: 0;
1754
+ stroke-dashoffset: 14.8px;
1755
1755
  }
1756
1756
  50% {
1757
1757
  stroke-dasharray: 6, 7.4;
1758
- stroke-dashoffset: -0.7px;
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: 0;
1850
+ stroke-dashoffset: 4px;
1851
1851
  }
1852
1852
  20%,
1853
1853
  60% {
1854
- stroke-dashoffset: -0.049px;
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
  }
@@ -238,6 +238,10 @@
238
238
 
239
239
  .inline-label {
240
240
  @include forms.inline-label;
241
+
242
+ &-disabled {
243
+ @include forms.inline-label-disabled;
244
+ }
241
245
  }
242
246
 
243
247
  .input-adorned-container {