@danske/sapphire-css 16.3.0 → 25.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +1 -11
  2. package/build/themes/cjs/default-dark.d.ts +3 -2
  3. package/build/themes/cjs/default-dark.js +5 -1
  4. package/build/themes/cjs/default.d.ts +3 -2
  5. package/build/themes/cjs/default.js +5 -1
  6. package/build/themes/cjs/index.d.ts +4 -0
  7. package/build/themes/cjs/june-dark.d.ts +3 -2
  8. package/build/themes/cjs/june-dark.js +5 -1
  9. package/build/themes/cjs/june.d.ts +3 -2
  10. package/build/themes/cjs/june.js +5 -1
  11. package/build/themes/esm/default-dark.d.ts +3 -2
  12. package/build/themes/esm/default-dark.js +5 -1
  13. package/build/themes/esm/default.d.ts +3 -2
  14. package/build/themes/esm/default.js +5 -1
  15. package/build/themes/esm/index.d.ts +4 -0
  16. package/build/themes/esm/june-dark.d.ts +3 -2
  17. package/build/themes/esm/june-dark.js +5 -1
  18. package/build/themes/esm/june.d.ts +3 -2
  19. package/build/themes/esm/june.js +5 -1
  20. package/components/accordion/accordion.module.css +163 -0
  21. package/components/badge/badge.module.css +246 -79
  22. package/components/badge/badge.module.css.d.ts +42 -10
  23. package/components/button/button.module.css +401 -74
  24. package/components/button/button.module.css.d.ts +11 -5
  25. package/components/buttonGroup/buttonGroup.module.css +20 -4
  26. package/components/buttonGroup/buttonGroup.module.css.d.ts +2 -1
  27. package/components/calendar/calendar.module.css +9 -2
  28. package/components/calendar/calendar.module.css.d.ts +1 -2
  29. package/components/checkbox/checkbox.module.css +44 -11
  30. package/components/checkbox/checkbox.module.css.d.ts +3 -0
  31. package/components/dateField/dateField.module.css +81 -86
  32. package/components/dateField/dateField.module.css.d.ts +3 -6
  33. package/components/dialog/dialog.module.css +34 -15
  34. package/components/dialog/dialog.module.css.d.ts +2 -2
  35. package/components/field/field.module.css +136 -0
  36. package/components/field/field.module.css.d.ts +0 -1
  37. package/components/fieldGroup/fieldGroup.module.css +8 -54
  38. package/components/fieldGroup/fieldGroup.module.css.d.ts +4 -8
  39. package/components/icon/icon.module.css +11 -6
  40. package/components/icon/icon.module.css.d.ts +1 -0
  41. package/components/iconButton/iconButton.module.css +356 -70
  42. package/components/iconButton/iconButton.module.css.d.ts +8 -4
  43. package/components/label/label.module.css +29 -0
  44. package/components/link/link.module.css +71 -13
  45. package/components/link/link.module.css.d.ts +7 -2
  46. package/components/list/list.module.css +47 -21
  47. package/components/list/list.module.css.d.ts +1 -1
  48. package/components/listbox/listbox.module.css +53 -13
  49. package/components/listbox/listbox.module.css.d.ts +3 -1
  50. package/components/notificationBadge/notificationBadge.module.css +126 -0
  51. package/components/panel/panel.module.css +32 -14
  52. package/components/panel/panel.module.css.d.ts +3 -2
  53. package/components/paragraph/paragraph.module.css +4 -7
  54. package/components/paragraph/paragraph.module.css.d.ts +1 -2
  55. package/components/radio/radio.module.css +34 -9
  56. package/components/radio/radio.module.css.d.ts +2 -0
  57. package/components/searchField/searchField.module.css +43 -19
  58. package/components/searchField/searchField.module.css.d.ts +2 -0
  59. package/components/segmentedControl/segmentedControl.module.css +7 -7
  60. package/components/select/select.module.css +24 -51
  61. package/components/select/select.module.css.d.ts +1 -4
  62. package/components/spinner/spinner.module.css +64 -0
  63. package/components/surface/surface.module.css +5 -1
  64. package/components/surface/surface.module.css.d.ts +1 -0
  65. package/components/switch/switch.module.css +44 -44
  66. package/components/switch/switch.module.css.d.ts +1 -0
  67. package/components/table/table.module.css +22 -40
  68. package/components/tabs/tabs.module.css +155 -23
  69. package/components/tabs/tabs.module.css.d.ts +9 -2
  70. package/components/text/text.module.css +207 -0
  71. package/components/textField/textField.module.css +67 -89
  72. package/components/textField/textField.module.css.d.ts +3 -7
  73. package/components/toast/toast.module.css +101 -0
  74. package/components/tooltip/tooltip.module.css +13 -8
  75. package/components/tooltip/tooltip.module.css.d.ts +1 -0
  76. package/package.json +10 -7
  77. package/themes/default-dark.assets.css +1 -0
  78. package/themes/default-dark.d.ts +3 -2
  79. package/themes/default-dark.js +5 -1
  80. package/themes/default-dark.tokens.scss +1 -0
  81. package/themes/default.assets.css +1 -0
  82. package/themes/default.d.ts +3 -2
  83. package/themes/default.js +5 -1
  84. package/themes/default.tokens.scss +1 -0
  85. package/themes/index.d.ts +4 -0
  86. package/themes/june-dark.d.ts +3 -2
  87. package/themes/june-dark.js +5 -1
  88. package/themes/june-dark.scss +3 -0
  89. package/themes/june.d.ts +3 -2
  90. package/themes/june.js +5 -1
  91. package/themes/june.scss +3 -0
@@ -2,7 +2,6 @@ declare const styles: {
2
2
  readonly "sapphire-field": string;
3
3
  readonly "sapphire-field__label": string;
4
4
  readonly "sapphire-field__control": string;
5
- readonly "sapphire-field__control--group": string;
6
5
  readonly "sapphire-field--no-shrink": string;
7
6
  readonly "sapphire-field__message": string;
8
7
  readonly "sapphire-field__note-row": string;
@@ -1,64 +1,18 @@
1
- .sapphire-fieldGroup-label-container {
2
- /* The below is meant to address a font rendering quirk in OSX where the text
3
- * looks bolder than intended due to subpixel rendering. This quirk generally
4
- * occurs for bold fonts on dark backgrounds but depending on the font, it
5
- * can happen in other contexts as well.
6
- *
7
- * These do not do anything except in webkit browsers & firefox on OSX.
8
- *
9
- * For more details see:
10
- * - https://azuredevops/Main/WCCJ/_git/sapphire/pullRequest/212710?path=%2Fpackages%2Fcss%2Fcomponents%2Fbutton%2Fbutton.module.css&discussionId=1507702&_a=files
11
- * - https://usabilitypost.com/2012/11/05/stop-fixing-font-smoothing/
12
- */
13
- -webkit-font-smoothing: antialiased;
14
- -moz-osx-font-smoothing: grayscale;
15
-
16
- display: flex;
17
- align-items: center;
18
- gap: var(--sapphire-field-group-size-spacing-heading-horizontal);
19
- margin-bottom: var(--sapphire-field-group-size-spacing-heading-vertical);
20
- }
21
-
22
- .sapphire-fieldGroup-label-text {
23
- font-family: var(--sapphire-field-group-font-heading-name);
24
- font-weight: var(--sapphire-field-group-font-heading-weight);
25
- font-size: var(--sapphire-field-group-size-font-default);
26
- line-height: var(--sapphire-field-group-size-line-height);
27
- color: var(--sapphire-field-group-color-label);
28
- }
29
-
30
- .sapphire-fieldGroup-label-text--disabled {
31
- opacity: var(--sapphire-radio-opacity-disabled);
32
- }
33
-
34
- .sapphire-fieldGroup-content {
1
+ .sapphire-field-group {
35
2
  display: flex;
36
- }
37
-
38
- .sapphire-fieldGroup-content--horizontal {
39
- flex-direction: row;
40
3
  flex-wrap: wrap;
4
+ column-gap: var(--sapphire-field-group-size-spacing-field-horizontal);
5
+ row-gap: var(--sapphire-field-group-size-spacing-field-vertical-l);
41
6
  }
42
7
 
43
- .sapphire-fieldGroup-content--horizontal
44
- .sapphire-fieldGroup-field:not(:last-child) {
45
- margin-right: var(--sapphire-field-group-size-spacing-field-horizontal);
8
+ .sapphire-field-group--horizontal {
9
+ flex-direction: row;
46
10
  }
47
11
 
48
- .sapphire-fieldGroup-content--vertical {
12
+ .sapphire-field-group--vertical {
49
13
  flex-direction: column;
50
14
  }
51
15
 
52
- .sapphire-fieldGroup-content--vertical
53
- .sapphire-fieldGroup-field:not(:last-child) {
54
- margin-bottom: var(--sapphire-field-group-size-spacing-field-vertical);
55
- }
56
-
57
- .sapphire-fieldGroup-error-text {
58
- display: block;
59
- font-family: var(--sapphire-field-group-font-heading-name);
60
- font-weight: var(--sapphire-field-group-font-error-text-weight);
61
- font-size: var(--sapphire-field-group-size-font-error-text);
62
- margin-top: var(--sapphire-field-group-size-spacing-error-text-vertical);
63
- color: var(--sapphire-field-group-color-error-text);
16
+ .sapphire-field-group--medium {
17
+ row-gap: var(--sapphire-field-group-size-spacing-field-vertical-m);
64
18
  }
@@ -1,12 +1,8 @@
1
1
  declare const styles: {
2
- readonly "sapphire-fieldGroup-label-container": string;
3
- readonly "sapphire-fieldGroup-label-text": string;
4
- readonly "sapphire-fieldGroup-label-text--disabled": string;
5
- readonly "sapphire-fieldGroup-content": string;
6
- readonly "sapphire-fieldGroup-content--horizontal": string;
7
- readonly "sapphire-fieldGroup-field": string;
8
- readonly "sapphire-fieldGroup-content--vertical": string;
9
- readonly "sapphire-fieldGroup-error-text": string;
2
+ readonly "sapphire-field-group": string;
3
+ readonly "sapphire-field-group--horizontal": string;
4
+ readonly "sapphire-field-group--vertical": string;
5
+ readonly "sapphire-field-group--medium": string;
10
6
  };
11
7
  export = styles;
12
8
 
@@ -1,14 +1,19 @@
1
1
  .sapphire-icon.sapphire-icon--small {
2
- height: var(--sapphire-icon-size-small);
3
- width: var(--sapphire-icon-size-small);
2
+ height: var(--sapphire-icon-size-s);
3
+ width: var(--sapphire-icon-size-s);
4
4
  }
5
5
 
6
6
  .sapphire-icon.sapphire-icon--medium {
7
- height: var(--sapphire-icon-size-medium);
8
- width: var(--sapphire-icon-size-medium);
7
+ height: var(--sapphire-icon-size-m);
8
+ width: var(--sapphire-icon-size-m);
9
9
  }
10
10
 
11
11
  .sapphire-icon.sapphire-icon--large {
12
- height: var(--sapphire-icon-size-large);
13
- width: var(--sapphire-icon-size-large);
12
+ height: var(--sapphire-icon-size-l);
13
+ width: var(--sapphire-icon-size-l);
14
+ }
15
+
16
+ .sapphire-icon.sapphire-icon--extra-large {
17
+ height: var(--sapphire-icon-size-xl);
18
+ width: var(--sapphire-icon-size-xl);
14
19
  }
@@ -3,6 +3,7 @@ declare const styles: {
3
3
  readonly "sapphire-icon--small": string;
4
4
  readonly "sapphire-icon--medium": string;
5
5
  readonly "sapphire-icon--large": string;
6
+ readonly "sapphire-icon--extra-large": string;
6
7
  };
7
8
  export = styles;
8
9
 
@@ -27,12 +27,12 @@
27
27
  -moz-osx-font-smoothing: grayscale;
28
28
 
29
29
  /* sizing */
30
- height: var(--sapphire-icon-button-size-height-medium);
31
- width: var(--sapphire-icon-button-size-width-medium);
30
+ height: var(--sapphire-icon-button-size-height-m);
31
+ width: var(--sapphire-icon-button-size-width-m);
32
32
  flex-shrink: 0; /* When part of flex layout the button will otherwise be squashed */
33
33
 
34
34
  /* shape */
35
- border-radius: var(--sapphire-icon-button-size-radius-medium);
35
+ border-radius: var(--sapphire-icon-button-size-radius-m);
36
36
  border-style: solid;
37
37
  border-width: 0;
38
38
  border-color: transparent;
@@ -49,7 +49,7 @@ a.sapphire-icon-button {
49
49
  text-decoration: none;
50
50
  }
51
51
 
52
- /* Diasbled state for all variants */
52
+ /* Disabled state for all variants */
53
53
  .sapphire-icon-button:disabled,
54
54
  .sapphire-icon-button.is-disabled {
55
55
  opacity: var(--sapphire-icon-button-opacity-disabled);
@@ -70,106 +70,392 @@ a.sapphire-icon-button {
70
70
  /**
71
71
  * Skin rules
72
72
  */
73
- /* primary */
74
- .sapphire-icon-button--primary {
73
+
74
+ /* ### Variant: Primary */
75
+ /* ## Style: Default */
76
+ .sapphire-icon-button--primary-fill {
75
77
  background-color: var(
76
78
  --sapphire-icon-button-color-background-primary-default
77
79
  );
78
80
  color: var(--sapphire-icon-button-color-content-primary-default);
79
81
  }
80
- .sapphire-icon-button--primary:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
81
- .sapphire-icon-button--primary:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
82
+ .sapphire-icon-button--primary-fill:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
83
+ .sapphire-icon-button--primary-fill:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
82
84
  background-color: var(--sapphire-icon-button-color-background-primary-hover);
83
- color: var(--sapphire-icon-button-color-content-primary-hover);
84
85
  }
85
- .sapphire-icon-button--primary.is-focus,
86
- .sapphire-icon-button--primary:not(.js-focus):focus-visible {
86
+ .sapphire-icon-button--primary-fill.is-focus,
87
+ .sapphire-icon-button--primary-fill:not(.js-focus):focus-visible {
87
88
  background-color: var(--sapphire-icon-button-color-background-primary-focus);
88
- color: var(--sapphire-icon-button-color-content-primary-focus);
89
89
  }
90
- .sapphire-icon-button--primary:not(:disabled):not(.is-disabled).is-active,
91
- .sapphire-icon-button--primary:not(:disabled):not(.is-disabled):active,
92
- .sapphire-icon-button--primary:not(:disabled):not(.is-disabled):focus-visible:active {
90
+ .sapphire-icon-button--primary-fill:not(:disabled):not(.is-disabled).is-active,
91
+ .sapphire-icon-button--primary-fill:not(:disabled):not(.is-disabled):active,
92
+ .sapphire-icon-button--primary-fill:not(:disabled):not(.is-disabled):focus-visible:active {
93
93
  background-color: var(--sapphire-icon-button-color-background-primary-active);
94
- color: var(--sapphire-icon-button-color-content-primary-active);
95
94
  }
96
95
 
97
- /* secondary */
98
- .sapphire-icon-button--secondary {
96
+ /* ### Variant: Secondary */
97
+ /* ## Style: Default */
98
+ /* # Surface: Primary */
99
+ .sapphire-icon-button--secondary-fill {
99
100
  background-color: var(
100
101
  --sapphire-icon-button-color-background-secondary-default
101
102
  );
102
103
  color: var(--sapphire-icon-button-color-content-secondary-default);
103
104
  }
104
- .sapphire-icon-button--secondary:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
105
- .sapphire-icon-button--secondary:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
105
+
106
+ .sapphire-icon-button--secondary-fill:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
107
+ .sapphire-icon-button--secondary-fill:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
106
108
  background-color: var(
107
109
  --sapphire-icon-button-color-background-secondary-hover
108
110
  );
109
111
  color: var(--sapphire-icon-button-color-content-secondary-hover);
110
112
  }
111
- .sapphire-icon-button--secondary.is-focus,
112
- .sapphire-icon-button--secondary:not(.js-focus):focus-visible {
113
+
114
+ .sapphire-icon-button--secondary-fill.is-focus,
115
+ .sapphire-icon-button--secondary-fill:not(.js-focus):focus-visible {
113
116
  background-color: var(
114
117
  --sapphire-icon-button-color-background-secondary-focus
115
118
  );
116
- color: var(--sapphire-icon-button-color-content-secondary-focus);
117
119
  }
118
- .sapphire-icon-button--secondary:not(:disabled):not(.is-disabled).is-active,
119
- .sapphire-icon-button--secondary:not(:disabled):not(.is-disabled):active,
120
- .sapphire-icon-button--secondary:not(:disabled):not(.is-disabled):focus-visible:active {
120
+
121
+ .sapphire-icon-button--secondary-fill:not(:disabled):not(.is-disabled).is-active,
122
+ .sapphire-icon-button--secondary-fill:not(:disabled):not(.is-disabled):active,
123
+ .sapphire-icon-button--secondary-fill:not(:disabled):not(.is-disabled):focus-visible:active {
121
124
  background-color: var(
122
125
  --sapphire-icon-button-color-background-secondary-active
123
126
  );
124
127
  color: var(--sapphire-icon-button-color-content-secondary-active);
125
128
  }
126
129
 
127
- /* neutral */
128
- .sapphire-icon-button--neutral {
130
+ /* # Surface: Secondary */
131
+ .sapphire-icon-button--secondary-fill.sapphire-icon-button--secondary-surface {
132
+ background-color: var(
133
+ --sapphire-icon-button-color-background-secondary-surface-secondary-default
134
+ );
135
+ }
136
+
137
+ .sapphire-icon-button--secondary-fill.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
138
+ .sapphire-icon-button--secondary-fill.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
139
+ background-color: var(
140
+ --sapphire-icon-button-color-background-secondary-surface-secondary-hover
141
+ );
142
+ }
143
+
144
+ .sapphire-icon-button--secondary-fill.sapphire-icon-button--secondary-surface.is-focus,
145
+ .sapphire-icon-button--secondary-fill.sapphire-icon-button--secondary-surface:not(.js-focus):focus-visible {
146
+ background-color: var(
147
+ --sapphire-icon-button-color-background-secondary-surface-secondary-focus
148
+ );
149
+ }
150
+
151
+ .sapphire-icon-button--secondary-fill.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled).is-active,
152
+ .sapphire-icon-button--secondary-fill.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):active,
153
+ .sapphire-icon-button--secondary-fill.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):focus-visible:active {
154
+ background-color: var(
155
+ --sapphire-icon-button-color-background-secondary-surface-secondary-active
156
+ );
157
+ }
158
+
159
+ /* ## Style: Ghost */
160
+ /* # Surface: Primary */
161
+ .sapphire-icon-button--secondary-ghost {
162
+ background-color: var(
163
+ --sapphire-icon-button-color-background-secondary-ghost-default
164
+ );
165
+ color: var(--sapphire-icon-button-color-content-secondary-default);
166
+ }
167
+
168
+ .sapphire-icon-button--secondary-ghost:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
169
+ .sapphire-icon-button--secondary-ghost:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
170
+ background-color: var(
171
+ --sapphire-icon-button-color-background-secondary-ghost-hover
172
+ );
173
+ color: var(--sapphire-icon-button-color-content-secondary-hover);
174
+ }
175
+
176
+ .sapphire-icon-button--secondary-ghost.is-focus,
177
+ .sapphire-icon-button--secondary-ghost:not(.js-focus):focus-visible {
178
+ background-color: var(
179
+ --sapphire-icon-button-color-background-secondary-ghost-focus
180
+ );
181
+ }
182
+
183
+ .sapphire-icon-button--secondary-ghost:not(:disabled):not(.is-disabled).is-active,
184
+ .sapphire-icon-button--secondary-ghost:not(:disabled):not(.is-disabled):active,
185
+ .sapphire-icon-button--secondary-ghost:not(:disabled):not(.is-disabled):focus-visible:active {
186
+ background-color: var(
187
+ --sapphire-icon-button-color-background-secondary-ghost-active
188
+ );
189
+ color: var(--sapphire-icon-button-color-content-secondary-active);
190
+ }
191
+
192
+ /* # Surface: Secondary */
193
+ .sapphire-icon-button--secondary-ghost.sapphire-icon-button--secondary-surface {
194
+ background-color: var(
195
+ --sapphire-icon-button-color-background-secondary-ghost-surface-secondary-default
196
+ );
197
+ }
198
+
199
+ .sapphire-icon-button--secondary-ghost.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
200
+ .sapphire-icon-button--secondary-ghost.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
201
+ background-color: var(
202
+ --sapphire-icon-button-color-background-secondary-ghost-surface-secondary-hover
203
+ );
204
+ }
205
+
206
+ .sapphire-icon-button--secondary-ghost.sapphire-icon-button--secondary-surface.is-focus,
207
+ .sapphire-icon-button--secondary-ghost.sapphire-icon-button--secondary-surface:not(.js-focus):focus-visible {
208
+ background-color: var(
209
+ --sapphire-icon-button-color-background-secondary-ghost-surface-secondary-focus
210
+ );
211
+ }
212
+
213
+ .sapphire-icon-button--secondary-ghost.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled).is-active,
214
+ .sapphire-icon-button--secondary-ghost.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):active,
215
+ .sapphire-icon-button--secondary-ghost.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):focus-visible:active {
216
+ background-color: var(
217
+ --sapphire-icon-button-color-background-secondary-ghost-surface-secondary-active
218
+ );
219
+ }
220
+
221
+ /* ### Variant: Tertiary */
222
+ /* ## Style: Default */
223
+ /* # Surface: Primary */
224
+ .sapphire-icon-button--tertiary-fill {
225
+ background-color: var(
226
+ --sapphire-icon-button-color-background-tertiary-default
227
+ );
228
+ color: var(--sapphire-icon-button-color-content-tertiary-default);
229
+ }
230
+
231
+ .sapphire-icon-button--tertiary-fill:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
232
+ .sapphire-icon-button--tertiary-fill:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
233
+ background-color: var(--sapphire-icon-button-color-background-tertiary-hover);
234
+ color: var(--sapphire-icon-button-color-content-tertiary-hover);
235
+ }
236
+
237
+ .sapphire-icon-button--tertiary-fill.is-focus,
238
+ .sapphire-icon-button--tertiary-fill:not(.js-focus):focus-visible {
239
+ background-color: var(--sapphire-icon-button-color-background-tertiary-focus);
240
+ }
241
+
242
+ .sapphire-icon-button--tertiary-fill:not(:disabled):not(.is-disabled).is-active,
243
+ .sapphire-icon-button--tertiary-fill:not(:disabled):not(.is-disabled):active,
244
+ .sapphire-icon-button--tertiary-fill:not(:disabled):not(.is-disabled):focus-visible:active {
245
+ background-color: var(
246
+ --sapphire-icon-button-color-background-tertiary-active
247
+ );
248
+ color: var(--sapphire-icon-button-color-content-tertiary-active);
249
+ }
250
+
251
+ /* # Surface: Secondary */
252
+ .sapphire-icon-button--tertiary-fill.sapphire-icon-button--secondary-surface {
253
+ background-color: var(
254
+ --sapphire-icon-button-color-background-tertiary-surface-secondary-default
255
+ );
256
+ }
257
+
258
+ .sapphire-icon-button--tertiary-fill.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
259
+ .sapphire-icon-button--tertiary-fill.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
260
+ background-color: var(
261
+ --sapphire-icon-button-color-background-tertiary-surface-secondary-hover
262
+ );
263
+ }
264
+
265
+ .sapphire-icon-button--tertiary-fill.sapphire-icon-button--secondary-surface.is-focus,
266
+ .sapphire-icon-button--tertiary-fill.sapphire-icon-button--secondary-surface:not(.js-focus):focus-visible {
267
+ background-color: var(
268
+ --sapphire-icon-button-color-background-tertiary-surface-secondary-focus
269
+ );
270
+ }
271
+
272
+ .sapphire-icon-button--tertiary-fill.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled).is-active,
273
+ .sapphire-icon-button--tertiary-fill.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):active,
274
+ .sapphire-icon-button--tertiary-fill.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):focus-visible:active {
275
+ background-color: var(
276
+ --sapphire-icon-button-color-background-tertiary-surface-secondary-active
277
+ );
278
+ }
279
+
280
+ /* ## Style: Ghost */
281
+ /* # Surface: Primary */
282
+ .sapphire-icon-button--tertiary-ghost {
129
283
  background-color: var(
130
- --sapphire-icon-button-color-background-neutral-default
284
+ --sapphire-icon-button-color-background-tertiary-ghost-default
131
285
  );
132
- color: var(--sapphire-icon-button-color-content-neutral-default);
286
+ color: var(--sapphire-icon-button-color-content-tertiary-default);
133
287
  }
134
- .sapphire-icon-button--neutral:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
135
- .sapphire-icon-button--neutral:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
136
- background-color: var(--sapphire-icon-button-color-background-neutral-hover);
137
- color: var(--sapphire-icon-button-color-content-neutral-hover);
288
+
289
+ .sapphire-icon-button--tertiary-ghost:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
290
+ .sapphire-icon-button--tertiary-ghost:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
291
+ background-color: var(
292
+ --sapphire-icon-button-color-background-tertiary-ghost-hover
293
+ );
294
+ color: var(--sapphire-icon-button-color-content-tertiary-hover);
138
295
  }
139
- .sapphire-icon-button--neutral.is-focus,
140
- .sapphire-icon-button--neutral:not(.js-focus):focus-visible {
141
- background-color: var(--sapphire-icon-button-color-background-neutral-focus);
142
- color: var(--sapphire-icon-button-color-content-neutral-focus);
296
+
297
+ .sapphire-icon-button--tertiary-ghost.is-focus,
298
+ .sapphire-icon-button--tertiary-ghost:not(.js-focus):focus-visible {
299
+ background-color: var(
300
+ --sapphire-icon-button-color-background-tertiary-ghost-focus
301
+ );
143
302
  }
144
- .sapphire-icon-button--neutral:not(:disabled):not(.is-disabled).is-active,
145
- .sapphire-icon-button--neutral:not(:disabled):not(.is-disabled):focus-visible:active,
146
- .sapphire-icon-button--neutral:not(:disabled):not(.is-disabled):active {
147
- background-color: var(--sapphire-icon-button-color-background-neutral-active);
148
- color: var(--sapphire-icon-button-color-content-neutral-active);
303
+
304
+ .sapphire-icon-button--tertiary-ghost:not(:disabled):not(.is-disabled).is-active,
305
+ .sapphire-icon-button--tertiary-ghost:not(:disabled):not(.is-disabled):active,
306
+ .sapphire-icon-button--tertiary-ghost:not(:disabled):not(.is-disabled):focus-visible:active {
307
+ background-color: var(
308
+ --sapphire-icon-button-color-background-tertiary-ghost-active
309
+ );
310
+ color: var(--sapphire-icon-button-color-content-tertiary-active);
149
311
  }
150
312
 
151
- /* danger */
152
- .sapphire-icon-button--danger {
313
+ /* # Surface: Secondary */
314
+ .sapphire-icon-button--tertiary-ghost.sapphire-icon-button--secondary-surface {
315
+ background-color: var(
316
+ --sapphire-icon-button-color-background-tertiary-ghost-surface-secondary-default
317
+ );
318
+ }
319
+
320
+ .sapphire-icon-button--tertiary-ghost.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
321
+ .sapphire-icon-button--tertiary-ghost.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
322
+ background-color: var(
323
+ --sapphire-icon-button-color-background-tertiary-ghost-surface-secondary-hover
324
+ );
325
+ }
326
+
327
+ .sapphire-icon-button--tertiary-ghost.sapphire-icon-button--secondary-surface.is-focus,
328
+ .sapphire-icon-button--tertiary-ghost.sapphire-icon-button--secondary-surface:not(.js-focus):focus-visible {
329
+ background-color: var(
330
+ --sapphire-icon-button-color-background-tertiary-ghost-surface-secondary-focus
331
+ );
332
+ }
333
+
334
+ .sapphire-icon-button--tertiary-ghost.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled).is-active,
335
+ .sapphire-icon-button--tertiary-ghost.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):active,
336
+ .sapphire-icon-button--tertiary-ghost.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):focus-visible:active {
337
+ background-color: var(
338
+ --sapphire-icon-button-color-background-tertiary-ghost-surface-secondary-active
339
+ );
340
+ }
341
+
342
+ /* ### Variant: Danger */
343
+ /* ## Style: Default */
344
+ /* # Surface: Primary */
345
+ .sapphire-icon-button--danger-fill {
153
346
  background-color: var(--sapphire-icon-button-color-background-danger-default);
154
347
  color: var(--sapphire-icon-button-color-content-danger-default);
155
348
  }
156
- .sapphire-icon-button--danger:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
157
- .sapphire-icon-button--danger:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
349
+
350
+ .sapphire-icon-button--danger-fill:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
351
+ .sapphire-icon-button--danger-fill:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
158
352
  background-color: var(--sapphire-icon-button-color-background-danger-hover);
159
353
  color: var(--sapphire-icon-button-color-content-danger-hover);
160
354
  }
161
- .sapphire-icon-button--danger.is-focus,
162
- .sapphire-icon-button--danger:not(.js-focus):focus-visible {
355
+
356
+ .sapphire-icon-button--danger-fill.is-focus,
357
+ .sapphire-icon-button--danger-fill:not(.js-focus):focus-visible {
163
358
  background-color: var(--sapphire-icon-button-color-background-danger-focus);
164
- color: var(--sapphire-icon-button-color-content-danger-focus);
165
359
  }
166
- .sapphire-icon-button--danger:not(:disabled):not(.is-disabled).is-active,
167
- .sapphire-icon-button--danger:not(:disabled):not(.is-disabled):focus-visible:active,
168
- .sapphire-icon-button--danger:not(:disabled):not(.is-disabled):active {
360
+
361
+ .sapphire-icon-button--danger-fill:not(:disabled):not(.is-disabled).is-active,
362
+ .sapphire-icon-button--danger-fill:not(:disabled):not(.is-disabled):active,
363
+ .sapphire-icon-button--danger-fill:not(:disabled):not(.is-disabled):focus-visible:active {
169
364
  background-color: var(--sapphire-icon-button-color-background-danger-active);
170
365
  color: var(--sapphire-icon-button-color-content-danger-active);
171
366
  }
172
367
 
368
+ /* # Surface: Secondary */
369
+ .sapphire-icon-button--danger-fill.sapphire-icon-button--secondary-surface {
370
+ background-color: var(
371
+ --sapphire-icon-button-color-background-danger-surface-secondary-default
372
+ );
373
+ }
374
+
375
+ .sapphire-icon-button--danger-fill.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
376
+ .sapphire-icon-button--danger-fill.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
377
+ background-color: var(
378
+ --sapphire-icon-button-color-background-danger-surface-secondary-hover
379
+ );
380
+ }
381
+
382
+ .sapphire-icon-button--danger-fill.sapphire-icon-button--secondary-surface.is-focus,
383
+ .sapphire-icon-button--danger-fill.sapphire-icon-button--secondary-surface:not(.js-focus):focus-visible {
384
+ background-color: var(
385
+ --sapphire-icon-button-color-background-danger-surface-secondary-focus
386
+ );
387
+ }
388
+
389
+ .sapphire-icon-button--danger-fill.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled).is-active,
390
+ .sapphire-icon-button--danger-fill.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):active,
391
+ .sapphire-icon-button--danger-fill.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):focus-visible:active {
392
+ background-color: var(
393
+ --sapphire-icon-button-color-background-danger-surface-secondary-active
394
+ );
395
+ }
396
+
397
+ /* ## Style: Ghost */
398
+ /* # Surface: Primary */
399
+ .sapphire-icon-button--danger-ghost {
400
+ background-color: var(
401
+ --sapphire-icon-button-color-background-danger-ghost-default
402
+ );
403
+ color: var(--sapphire-icon-button-color-content-danger-default);
404
+ }
405
+
406
+ .sapphire-icon-button--danger-ghost:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
407
+ .sapphire-icon-button--danger-ghost:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
408
+ background-color: var(
409
+ --sapphire-icon-button-color-background-danger-ghost-hover
410
+ );
411
+ color: var(--sapphire-icon-button-color-content-danger-hover);
412
+ }
413
+
414
+ .sapphire-icon-button--danger-ghost.is-focus,
415
+ .sapphire-icon-button--danger-ghost:not(.js-focus):focus-visible {
416
+ background-color: var(
417
+ --sapphire-icon-button-color-background-danger-ghost-focus
418
+ );
419
+ }
420
+
421
+ .sapphire-icon-button--danger-ghost:not(:disabled):not(.is-disabled).is-active,
422
+ .sapphire-icon-button--danger-ghost:not(:disabled):not(.is-disabled):active,
423
+ .sapphire-icon-button--danger-ghost:not(:disabled):not(.is-disabled):focus-visible:active {
424
+ background-color: var(
425
+ --sapphire-icon-button-color-background-danger-ghost-active
426
+ );
427
+ color: var(--sapphire-icon-button-color-content-danger-active);
428
+ }
429
+
430
+ /* # Surface: Secondary */
431
+ .sapphire-icon-button--danger-ghost.sapphire-icon-button--secondary-surface {
432
+ background-color: var(
433
+ --sapphire-icon-button-color-background-danger-ghost-surface-secondary-default
434
+ );
435
+ }
436
+
437
+ .sapphire-icon-button--danger-ghost.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
438
+ .sapphire-icon-button--danger-ghost.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
439
+ background-color: var(
440
+ --sapphire-icon-button-color-background-danger-ghost-surface-secondary-hover
441
+ );
442
+ }
443
+
444
+ .sapphire-icon-button--danger-ghost.sapphire-icon-button--secondary-surface.is-focus,
445
+ .sapphire-icon-button--danger-ghost.sapphire-icon-button--secondary-surface:not(.js-focus):focus-visible {
446
+ background-color: var(
447
+ --sapphire-icon-button-color-background-danger-ghost-surface-secondary-focus
448
+ );
449
+ }
450
+
451
+ .sapphire-icon-button--danger-ghost.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled).is-active,
452
+ .sapphire-icon-button--danger-ghost.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):active,
453
+ .sapphire-icon-button--danger-ghost.sapphire-icon-button--secondary-surface:not(:disabled):not(.is-disabled):focus-visible:active {
454
+ background-color: var(
455
+ --sapphire-button-color-background-danger-ghost-surface-secondary-active
456
+ );
457
+ }
458
+
173
459
  /**
174
460
  * Icon
175
461
  */
@@ -178,20 +464,20 @@ a.sapphire-icon-button {
178
464
  flex-direction: column;
179
465
  justify-content: center;
180
466
  align-items: center;
181
- height: var(--sapphire-icon-button-size-icon-medium);
182
- width: var(--sapphire-icon-button-size-icon-medium);
467
+ height: var(--sapphire-icon-button-size-icon-m);
468
+ width: var(--sapphire-icon-button-size-icon-m);
183
469
  }
184
470
  .sapphire-icon-button--large .sapphire-icon-button__icon {
185
- height: var(--sapphire-icon-button-size-icon-large);
186
- width: var(--sapphire-icon-button-size-icon-large);
471
+ height: var(--sapphire-icon-button-size-icon-l);
472
+ width: var(--sapphire-icon-button-size-icon-l);
187
473
  }
188
474
  .sapphire-icon-button--small .sapphire-icon-button__icon {
189
- height: var(--sapphire-icon-button-size-icon-small);
190
- width: var(--sapphire-icon-button-size-icon-small);
475
+ height: var(--sapphire-icon-button-size-icon-s);
476
+ width: var(--sapphire-icon-button-size-icon-s);
191
477
  }
192
478
  .sapphire-icon-button--extra-small .sapphire-icon-button__icon {
193
- height: var(--sapphire-icon-button-size-icon-extra-small);
194
- width: var(--sapphire-icon-button-size-icon-extra-small);
479
+ height: var(--sapphire-icon-button-size-icon-xs);
480
+ width: var(--sapphire-icon-button-size-icon-xs);
195
481
  }
196
482
 
197
483
  /**
@@ -201,25 +487,25 @@ a.sapphire-icon-button {
201
487
  * LARGE
202
488
  */
203
489
  .sapphire-icon-button--large {
204
- height: var(--sapphire-icon-button-size-height-large);
205
- width: var(--sapphire-icon-button-size-width-large);
206
- border-radius: var(--sapphire-icon-button-size-radius-large);
490
+ height: var(--sapphire-icon-button-size-height-l);
491
+ width: var(--sapphire-icon-button-size-width-l);
492
+ border-radius: var(--sapphire-icon-button-size-radius-l);
207
493
  }
208
494
 
209
495
  /**
210
496
  * SMALL
211
497
  */
212
498
  .sapphire-icon-button--small {
213
- height: var(--sapphire-icon-button-size-height-small);
214
- width: var(--sapphire-icon-button-size-width-small);
215
- border-radius: var(--sapphire-icon-button-size-radius-small);
499
+ height: var(--sapphire-icon-button-size-height-s);
500
+ width: var(--sapphire-icon-button-size-width-s);
501
+ border-radius: var(--sapphire-icon-button-size-radius-s);
216
502
  }
217
503
 
218
504
  /**
219
505
  * EXTRA SMALL
220
506
  */
221
507
  .sapphire-icon-button--extra-small {
222
- height: var(--sapphire-icon-button-size-height-extra-small);
223
- width: var(--sapphire-icon-button-size-width-extra-small);
224
- border-radius: var(--sapphire-icon-button-size-radius-extra-small);
508
+ height: var(--sapphire-icon-button-size-height-xs);
509
+ width: var(--sapphire-icon-button-size-width-xs);
510
+ border-radius: var(--sapphire-icon-button-size-radius-xs);
225
511
  }