@innovaccer/design-system 4.22.0 → 4.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +157 -0
- package/README.md +35 -27
- package/css/dist/index.css +1570 -434
- package/css/dist/index.css.map +1 -1
- package/css/src/ai-components/button.module.css +4 -24
- package/css/src/ai-components/chip.module.css +12 -30
- package/css/src/ai-components/iconButton.module.css +2 -12
- package/css/src/components/avatarGroup.module.css +7 -0
- package/css/src/components/avatarSelection.module.css +22 -0
- package/css/src/components/badge.module.css +3 -3
- package/css/src/components/button.module.css +196 -27
- package/css/src/components/calendar.module.css +61 -20
- package/css/src/components/card.module.css +14 -0
- package/css/src/components/chatBubble.module.css +6 -1
- package/css/src/components/chatInput.module.css +14 -3
- package/css/src/components/chip.module.css +39 -4
- package/css/src/components/chipInput.module.css +19 -17
- package/css/src/components/dropdown.module.css +50 -14
- package/css/src/components/dropdownButton.module.css +5 -3
- package/css/src/components/dropzone.module.css +36 -0
- package/css/src/components/editableChipInput.module.css +48 -1
- package/css/src/components/editableDropdown.module.css +53 -0
- package/css/src/components/editableInput.module.css +31 -0
- package/css/src/components/grid.module.css +33 -13
- package/css/src/components/horizontalNav.module.css +16 -1
- package/css/src/components/input.module.css +0 -1
- package/css/src/components/label.module.css +12 -0
- package/css/src/components/link.module.css +69 -6
- package/css/src/components/linkButton.module.css +82 -10
- package/css/src/components/listbox.module.css +110 -6
- package/css/src/components/metricInput.module.css +89 -35
- package/css/src/components/modal.module.css +16 -0
- package/css/src/components/navigation.module.css +16 -0
- package/css/src/components/segmentedControl.module.css +1 -1
- package/css/src/components/select.module.css +11 -3
- package/css/src/components/selectionCard.module.css +38 -0
- package/css/src/components/sidesheet.module.css +16 -0
- package/css/src/components/slider.module.css +21 -0
- package/css/src/components/switch.module.css +39 -0
- package/css/src/components/table.module.css +32 -1
- package/css/src/components/tabs.module.css +20 -0
- package/css/src/components/timePicker.module.css +4 -0
- package/css/src/components/toast.module.css +19 -0
- package/css/src/components/tooltip.module.css +1 -0
- package/css/src/components/verticalNav.module.css +13 -5
- package/css/src/core/utilities.css +0 -23
- package/css/src/tokens/index.css +156 -156
- package/css/src/utils/utility.css +4 -0
- package/css/src/variables/index.css +116 -1
- package/dist/brotli/index.js +1 -1
- package/dist/brotli/index.js.br +0 -0
- package/dist/cjs/index.js +1 -1
- package/dist/core/accessibility/utils/useAccessibilityProps.d.ts +99 -16
- package/dist/core/components/atoms/_chip/index.d.ts +2 -0
- package/dist/core/components/atoms/_text/index.d.ts +2 -1
- package/dist/core/components/atoms/caption/Caption.d.ts +2 -2
- package/dist/core/components/atoms/chip/Chip.d.ts +2 -0
- package/dist/core/components/atoms/divider/Divider.d.ts +1 -0
- package/dist/core/components/atoms/dropdown/DropdownList.d.ts +2 -1
- package/dist/core/components/atoms/dropdown/option/index.d.ts +13 -4
- package/dist/core/components/atoms/helpText/HelpText.d.ts +1 -0
- package/dist/core/components/atoms/icon/Icon.d.ts +2 -3
- package/dist/core/components/atoms/link/Link.d.ts +4 -2
- package/dist/core/components/atoms/linkButton/LinkButton.d.ts +2 -1
- package/dist/core/components/atoms/message/Message.d.ts +1 -0
- package/dist/core/components/atoms/multiSlider/Handle.d.ts +1 -0
- package/dist/core/components/atoms/multiSlider/index.d.ts +2 -0
- package/dist/core/components/atoms/outsideClick/OutsideClick.d.ts +1 -0
- package/dist/core/components/atoms/popperWrapper/PopperWrapper.d.ts +51 -50
- package/dist/core/components/atoms/progressBar/ProgressBar.d.ts +3 -0
- package/dist/core/components/atoms/progressRing/ProgressRing.d.ts +3 -0
- package/dist/core/components/atoms/segmentedControl/SegmentedControl.d.ts +2 -0
- package/dist/core/components/atoms/spinner/Spinner.d.ts +1 -0
- package/dist/core/components/atoms/statusHint/StatusHint.d.ts +2 -2
- package/dist/core/components/atoms/toast/Toast.d.ts +3 -0
- package/dist/core/components/molecules/chat/Chat.d.ts +3 -0
- package/dist/core/components/molecules/chat/chatBubble/IncomingBubble.d.ts +1 -0
- package/dist/core/components/molecules/chat/chatBubble/OutgoingBubble.d.ts +1 -0
- package/dist/core/components/molecules/chat/chatInput/ChatInput.d.ts +1 -0
- package/dist/core/components/molecules/chat/unreadMessage/UnreadMessage.d.ts +3 -0
- package/dist/core/components/molecules/chipInput/ChipInput.d.ts +1 -1
- package/dist/core/components/molecules/chipInput/utils.d.ts +2 -0
- package/dist/core/components/molecules/dropzone/Dropzone.d.ts +1 -0
- package/dist/core/components/molecules/editableInput/EditableInput.d.ts +4 -0
- package/dist/core/components/molecules/fileUploader/FileUploaderButton.d.ts +2 -0
- package/dist/core/components/molecules/inputMask/InputMask.d.ts +1 -0
- package/dist/core/components/molecules/modal/Modal.d.ts +1 -0
- package/dist/core/components/molecules/popover/Popover.d.ts +1 -0
- package/dist/core/components/molecules/sidesheet/Sidesheet.d.ts +2 -1
- package/dist/core/components/molecules/stepper/Step.d.ts +1 -0
- package/dist/core/components/organisms/calendar/Calendar.d.ts +4 -3
- package/dist/core/components/organisms/calendar/utils.d.ts +6 -5
- package/dist/core/components/organisms/combobox/Combobox.d.ts +2 -0
- package/dist/core/components/organisms/combobox/ComboboxList.d.ts +1 -0
- package/dist/core/components/organisms/combobox/trigger/ComboboxTrigger.d.ts +2 -0
- package/dist/core/components/organisms/combobox/trigger/MultiselectTrigger.d.ts +1 -0
- package/dist/core/components/organisms/grid/Grid.d.ts +1 -0
- package/dist/core/components/organisms/grid/GridContext.d.ts +1 -0
- package/dist/core/components/organisms/grid/VirtualList.d.ts +1 -0
- package/dist/core/components/organisms/inlineMessage/InlineMessage.d.ts +3 -2
- package/dist/core/components/organisms/listbox/Listbox.d.ts +9 -1
- package/dist/core/components/organisms/listbox/listboxItem/ListBody.d.ts +1 -1
- package/dist/core/components/organisms/listbox/listboxItem/ListboxItem.d.ts +2 -0
- package/dist/core/components/organisms/listbox/nestedList/NestedList.d.ts +2 -0
- package/dist/core/components/organisms/listbox/reorderList/Draggable.d.ts +12 -0
- package/dist/core/components/organisms/listbox/reorderList/DraggableList.d.ts +2 -2
- package/dist/core/components/organisms/listbox/reorderList/types.d.ts +2 -0
- package/dist/core/components/organisms/listbox/utils.d.ts +3 -0
- package/dist/core/components/organisms/menu/MenuContext.d.ts +1 -0
- package/dist/core/components/organisms/menu/SubMenuContext.d.ts +1 -0
- package/dist/core/components/organisms/select/Select.d.ts +4 -1
- package/dist/core/components/organisms/select/SelectContext.d.ts +3 -1
- package/dist/core/components/organisms/select/SelectOption.d.ts +1 -0
- package/dist/core/components/organisms/select/SelectTrigger.d.ts +4 -0
- package/dist/core/components/organisms/select/utils.d.ts +7 -2
- package/dist/core/components/organisms/textField/TextFieldCommon.d.ts +1 -0
- package/dist/core/components/organisms/verticalNav/VerticalNav.d.ts +2 -0
- package/dist/core/utils/overlayHelper.d.ts +3 -2
- package/dist/esm/index.js +4343 -1784
- package/dist/gzip/index.js +1 -1
- package/dist/gzip/index.js.gz +0 -0
- package/dist/index.js +4139 -1734
- package/dist/index.js.map +1 -1
- package/dist/index.umd.css +1558 -422
- package/dist/index.umd.js +1 -1
- package/dist/scripts/setupTest.d.ts +1 -0
- package/dist/types/tsconfig.type.tsbuildinfo +399 -243
- package/package.json +8 -13
|
@@ -9,25 +9,21 @@
|
|
|
9
9
|
align-items: center;
|
|
10
10
|
box-sizing: border-box;
|
|
11
11
|
border-radius: var(--border-radius-10);
|
|
12
|
-
|
|
12
|
+
box-shadow: inset 0 0 0 var(--border-width-2-5) var(--secondary);
|
|
13
13
|
background: var(--white);
|
|
14
|
-
overflow: hidden;
|
|
15
14
|
transition: var(--duration--fast-01) var(--standard-productive-curve);
|
|
16
15
|
}
|
|
17
16
|
|
|
18
17
|
.MetricInput--regular {
|
|
19
18
|
height: var(--spacing-80);
|
|
20
|
-
padding-left: var(--spacing-30);
|
|
21
19
|
}
|
|
22
20
|
|
|
23
21
|
.MetricInput--large {
|
|
24
22
|
height: 40px;
|
|
25
|
-
padding-left: var(--spacing-40);
|
|
26
23
|
}
|
|
27
24
|
|
|
28
25
|
.MetricInput--small {
|
|
29
26
|
height: var(--spacing-60);
|
|
30
|
-
padding-left: var(--spacing-20);
|
|
31
27
|
}
|
|
32
28
|
|
|
33
29
|
.MetricInput:hover {
|
|
@@ -37,9 +33,12 @@
|
|
|
37
33
|
|
|
38
34
|
.MetricInput:focus-within {
|
|
39
35
|
background: var(--white);
|
|
40
|
-
|
|
36
|
+
box-shadow: inset 0 0 0 var(--border-width-2-5) var(--secondary);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.MetricInput:focus-within:not(:has(.MetricInput-arrowButton:focus-visible)) {
|
|
41
40
|
outline: var(--border-width-05) solid var(--primary-focus);
|
|
42
|
-
outline-offset: var(--spacing-
|
|
41
|
+
outline-offset: var(--spacing-05);
|
|
43
42
|
}
|
|
44
43
|
|
|
45
44
|
.MetricInput:focus-within .MetricInput-icon {
|
|
@@ -48,13 +47,13 @@
|
|
|
48
47
|
|
|
49
48
|
.MetricInput--disabled {
|
|
50
49
|
background: var(--secondary-lightest);
|
|
51
|
-
|
|
50
|
+
box-shadow: inset 0 0 0 var(--border-width-2-5) var(--secondary-light);
|
|
52
51
|
pointer-events: none;
|
|
53
52
|
}
|
|
54
53
|
|
|
55
54
|
.MetricInput--readOnly {
|
|
56
55
|
background: var(--secondary-lightest);
|
|
57
|
-
|
|
56
|
+
box-shadow: inset 0 0 0 var(--border-width-2-5) var(--secondary);
|
|
58
57
|
pointer-events: none;
|
|
59
58
|
}
|
|
60
59
|
|
|
@@ -65,19 +64,46 @@
|
|
|
65
64
|
.MetricInput--error,
|
|
66
65
|
.MetricInput--error:hover {
|
|
67
66
|
background: var(--white);
|
|
68
|
-
|
|
67
|
+
box-shadow: inset 0 0 0 var(--border-width-2-5) var(--alert);
|
|
69
68
|
}
|
|
70
69
|
|
|
71
70
|
.MetricInput--error:focus-within {
|
|
72
|
-
|
|
71
|
+
box-shadow: inset 0 0 0 var(--border-width-2-5) var(--secondary);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.MetricInput--error:focus-within:not(:has(.MetricInput-arrowButton:focus-visible)) {
|
|
73
75
|
outline: var(--border-width-05) solid var(--alert);
|
|
74
|
-
outline-offset: var(--spacing-
|
|
76
|
+
outline-offset: var(--spacing-05);
|
|
75
77
|
}
|
|
76
78
|
|
|
77
79
|
.MetricInput--error:focus-within .MetricInput-icon {
|
|
78
80
|
color: var(--alert);
|
|
79
81
|
}
|
|
80
82
|
|
|
83
|
+
/* Content wrapper — holds icon, prefix, input, suffix */
|
|
84
|
+
.MetricInput-content {
|
|
85
|
+
flex: 1;
|
|
86
|
+
display: flex;
|
|
87
|
+
align-items: center;
|
|
88
|
+
min-width: 0;
|
|
89
|
+
overflow: hidden;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.MetricInput-content--regular {
|
|
93
|
+
padding: var(--spacing-15) var(--spacing-15);
|
|
94
|
+
gap: var(--spacing-05);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.MetricInput-content--large {
|
|
98
|
+
padding: var(--spacing-20) var(--spacing-15);
|
|
99
|
+
gap: var(--spacing-15);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.MetricInput-content--small {
|
|
103
|
+
padding: var(--spacing-10) var(--spacing-15);
|
|
104
|
+
gap: var(--spacing-05);
|
|
105
|
+
}
|
|
106
|
+
|
|
81
107
|
.MetricInput-input {
|
|
82
108
|
display: flex;
|
|
83
109
|
width: 100%;
|
|
@@ -141,23 +167,14 @@
|
|
|
141
167
|
margin: 0;
|
|
142
168
|
}
|
|
143
169
|
|
|
144
|
-
|
|
145
|
-
border-left: var(--border);
|
|
146
|
-
box-sizing: border-box;
|
|
147
|
-
border-radius: 0;
|
|
148
|
-
background: transparent;
|
|
149
|
-
display: flex;
|
|
150
|
-
flex-direction: column;
|
|
151
|
-
height: 100%;
|
|
152
|
-
flex-shrink: 0;
|
|
153
|
-
overflow: hidden;
|
|
154
|
-
}
|
|
155
|
-
|
|
170
|
+
/* Arrow buttons (decrement on left, increment on right) */
|
|
156
171
|
.MetricInput-arrowButton {
|
|
157
|
-
|
|
158
|
-
|
|
172
|
+
flex-shrink: 0;
|
|
173
|
+
align-self: stretch;
|
|
174
|
+
width: var(--spacing-60);
|
|
159
175
|
background: var(--secondary-light);
|
|
160
176
|
color: var(--inverse);
|
|
177
|
+
border: none;
|
|
161
178
|
cursor: pointer;
|
|
162
179
|
display: flex;
|
|
163
180
|
align-items: center;
|
|
@@ -165,7 +182,16 @@
|
|
|
165
182
|
padding: 0;
|
|
166
183
|
margin: 0;
|
|
167
184
|
user-select: none;
|
|
168
|
-
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.MetricInput-arrowButton--left {
|
|
188
|
+
border-right: var(--border);
|
|
189
|
+
border-radius: var(--border-radius-10) 0 0 var(--border-radius-10);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.MetricInput-arrowButton--right {
|
|
193
|
+
border-left: var(--border);
|
|
194
|
+
border-radius: 0 var(--border-radius-10) var(--border-radius-10) 0;
|
|
169
195
|
}
|
|
170
196
|
|
|
171
197
|
.MetricInput-arrowButton:hover {
|
|
@@ -178,14 +204,42 @@
|
|
|
178
204
|
|
|
179
205
|
.MetricInput-arrowButton:focus {
|
|
180
206
|
outline: 0;
|
|
181
|
-
box-shadow: var(--shadow-spread) var(--secondary-shadow);
|
|
182
207
|
}
|
|
183
208
|
|
|
184
|
-
.MetricInput-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
209
|
+
.MetricInput-arrowButton:focus-visible {
|
|
210
|
+
outline: var(--border-width-05) solid var(--primary-focus);
|
|
211
|
+
outline-offset: var(--spacing-05);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
@media (forced-colors: active) {
|
|
215
|
+
/* box-shadow is stripped — restore a real border for the wrapper boundary */
|
|
216
|
+
.MetricInput {
|
|
217
|
+
border: var(--border-width-2-5) solid ButtonText;
|
|
218
|
+
box-shadow: none;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
.MetricInput--disabled {
|
|
222
|
+
border-color: GrayText;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
/* Wrapper focus rings */
|
|
226
|
+
.MetricInput:focus-within:not(:has(.MetricInput-arrowButton:focus-visible)) {
|
|
227
|
+
outline: var(--border-width-05) solid Highlight;
|
|
228
|
+
outline-offset: var(--spacing-05);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.MetricInput--error:focus-within:not(:has(.MetricInput-arrowButton:focus-visible)) {
|
|
232
|
+
outline: var(--border-width-05) solid Highlight;
|
|
233
|
+
outline-offset: var(--spacing-05);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/* Arrow button states */
|
|
237
|
+
.MetricInput-arrowButton:disabled {
|
|
238
|
+
color: GrayText;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
.MetricInput-arrowButton:focus-visible {
|
|
242
|
+
outline: var(--border-width-05) solid Highlight;
|
|
243
|
+
outline-offset: var(--spacing-05);
|
|
244
|
+
}
|
|
191
245
|
}
|
|
@@ -87,3 +87,19 @@
|
|
|
87
87
|
.Modal-body--withPadding {
|
|
88
88
|
padding-bottom: var(--spacing-40);
|
|
89
89
|
}
|
|
90
|
+
|
|
91
|
+
.Modal:focus {
|
|
92
|
+
outline: none;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.Modal-header [tabindex='-1']:focus {
|
|
96
|
+
outline: none;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
@media (forced-colors: active) {
|
|
100
|
+
/* box-shadow is the only visual boundary; add a real border so the modal is visible */
|
|
101
|
+
.Modal {
|
|
102
|
+
border: var(--border-width-2-5) solid ButtonText;
|
|
103
|
+
box-shadow: none;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
@@ -115,6 +115,22 @@
|
|
|
115
115
|
border-top: var(--border);
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
+
.Navigation-footerButton {
|
|
119
|
+
display: flex;
|
|
120
|
+
align-items: center;
|
|
121
|
+
justify-content: center;
|
|
122
|
+
background: none;
|
|
123
|
+
border: none;
|
|
124
|
+
padding: 0;
|
|
125
|
+
cursor: pointer;
|
|
126
|
+
border-radius: 50%;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.Navigation-footerButton:focus-visible {
|
|
130
|
+
outline: var(--border-width-05) solid var(--primary-focus);
|
|
131
|
+
outline-offset: var(--spacing-05);
|
|
132
|
+
}
|
|
133
|
+
|
|
118
134
|
.Navigation--collapsed .Navigation-menuIcon--footer {
|
|
119
135
|
transform: rotate(180deg);
|
|
120
136
|
}
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
outline: none;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
.SegmentedControl-segment:focus-visible
|
|
100
|
+
.SegmentedControl-segment:focus-visible {
|
|
101
101
|
outline: var(--border-width-05) solid var(--primary-focus);
|
|
102
102
|
outline-offset: var(--spacing-05);
|
|
103
103
|
border-radius: var(--border-radius-10);
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
color: var(--text);
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
.Select-trigger--filled:focus {
|
|
52
|
+
.Select-trigger--filled:focus-visible {
|
|
53
53
|
background-color: var(--secondary-light);
|
|
54
54
|
}
|
|
55
55
|
|
|
@@ -152,10 +152,11 @@
|
|
|
152
152
|
cursor: pointer;
|
|
153
153
|
border-radius: var(--border-radius-full);
|
|
154
154
|
padding: var(--spacing-05);
|
|
155
|
+
border: none;
|
|
156
|
+
background: transparent;
|
|
155
157
|
}
|
|
156
158
|
|
|
157
|
-
.Select-crossButton:focus-visible
|
|
158
|
-
.Select-crossButton:focus {
|
|
159
|
+
.Select-crossButton:focus-visible {
|
|
159
160
|
outline: var(--spacing-05) solid var(--primary-focus);
|
|
160
161
|
}
|
|
161
162
|
|
|
@@ -197,3 +198,10 @@
|
|
|
197
198
|
.Select-trigger--error {
|
|
198
199
|
border: var(--border-width-2-5) solid var(--alert) !important;
|
|
199
200
|
}
|
|
201
|
+
|
|
202
|
+
@media (forced-colors: active) {
|
|
203
|
+
.Select-input:focus-within {
|
|
204
|
+
outline: var(--border-width-05) solid Highlight !important;
|
|
205
|
+
outline-offset: var(--spacing-05);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
@@ -97,3 +97,41 @@
|
|
|
97
97
|
background-color: var(--primary-lightest);
|
|
98
98
|
opacity: var(--opacity-10);
|
|
99
99
|
}
|
|
100
|
+
|
|
101
|
+
@media (forced-colors: active) {
|
|
102
|
+
/* All states use inset box-shadow as the sole border — replace with real borders */
|
|
103
|
+
.Selection-card--default,
|
|
104
|
+
.Selection-card--default:hover,
|
|
105
|
+
.Selection-card--default:active,
|
|
106
|
+
.Selection-card--default-disabled {
|
|
107
|
+
border: var(--border-width-2-5) solid ButtonText;
|
|
108
|
+
box-shadow: none;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/* Interactive selected states — use Highlight to signal selection */
|
|
112
|
+
.Selection-card--selected,
|
|
113
|
+
.Selection-card--selected:hover,
|
|
114
|
+
.Selection-card--selected:active {
|
|
115
|
+
border: var(--border-width-2-5) solid Highlight;
|
|
116
|
+
box-shadow: none;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.Selection-card--selected-disabled {
|
|
120
|
+
border: var(--border-width-2-5) solid GrayText;
|
|
121
|
+
box-shadow: none;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.Selection-card--default:focus,
|
|
125
|
+
.Selection-card--default:focus-visible,
|
|
126
|
+
.Selection-card--selected:focus,
|
|
127
|
+
.Selection-card--selected:focus-visible {
|
|
128
|
+
outline: var(--border-width-05) solid Highlight;
|
|
129
|
+
outline-offset: var(--spacing-05);
|
|
130
|
+
box-shadow: none;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/* Disabled: suppress the focus indicator */
|
|
134
|
+
.Selection-card--disabled {
|
|
135
|
+
outline: none;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
@@ -108,3 +108,19 @@
|
|
|
108
108
|
.Sidesheet-body--firstPage {
|
|
109
109
|
animation: fadeIn var(--duration--fast-02) var(--standard-expressive-curve);
|
|
110
110
|
}
|
|
111
|
+
|
|
112
|
+
.Sidesheet:focus {
|
|
113
|
+
outline: none;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.Sidesheet-header [tabindex='-1']:focus {
|
|
117
|
+
outline: none;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
@media (forced-colors: active) {
|
|
121
|
+
/* box-shadow is the only visual boundary; add a real left border so the panel edge is visible */
|
|
122
|
+
.Sidesheet {
|
|
123
|
+
border-left: var(--border-width-2-5) solid ButtonText;
|
|
124
|
+
box-shadow: none;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
@@ -134,3 +134,24 @@
|
|
|
134
134
|
outline: none;
|
|
135
135
|
box-shadow: none;
|
|
136
136
|
}
|
|
137
|
+
|
|
138
|
+
@media (forced-colors: active) {
|
|
139
|
+
/* Handle elevation comes from box-shadow only — add a real border so it stays visible */
|
|
140
|
+
.Slider-handle {
|
|
141
|
+
border: var(--border-width-05) solid ButtonText;
|
|
142
|
+
box-shadow: none;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/* Restore focus ring on the handle (outline:none is set unconditionally) */
|
|
146
|
+
.Slider-handle:focus,
|
|
147
|
+
.Slider-handle:focus-visible {
|
|
148
|
+
outline: var(--border-width-05) solid Highlight;
|
|
149
|
+
outline-offset: var(--spacing-05);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/* Filled portion of the track */
|
|
153
|
+
.Slider-progress--inRange {
|
|
154
|
+
forced-color-adjust: none;
|
|
155
|
+
background: Highlight;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
@@ -135,3 +135,42 @@
|
|
|
135
135
|
.Switch-wrapper--checkedDisabled:before {
|
|
136
136
|
border-color: transparent;
|
|
137
137
|
}
|
|
138
|
+
|
|
139
|
+
@media (forced-colors: active) {
|
|
140
|
+
.Switch-wrapper {
|
|
141
|
+
outline: var(--border-width-2-5) solid ButtonText;
|
|
142
|
+
outline-offset: calc(-1 * var(--border-width-2-5));
|
|
143
|
+
box-shadow: none;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/* Checked (enabled) track: use Highlight to distinguish on-state */
|
|
147
|
+
.Switch-wrapper--checked:not(.Switch-wrapper--checkedDisabled) {
|
|
148
|
+
background-color: Highlight;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.Switch-wrapper--checkedDisabled {
|
|
152
|
+
background-color: ButtonFace;
|
|
153
|
+
outline-color: GrayText;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/* Thumb: box-shadow is removed in forced-colors mode — ensure the existing border is visible */
|
|
157
|
+
.Switch-wrapper:before {
|
|
158
|
+
box-shadow: none;
|
|
159
|
+
border-color: ButtonText;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/* In the checked (enabled) state the thumb border is transparent — make it contrast against the track */
|
|
163
|
+
.Switch-wrapper--checked:not(.Switch-wrapper--checkedDisabled):before {
|
|
164
|
+
border-color: HighlightText;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/* Checked-disabled thumb: use GrayText so it reads as disabled */
|
|
168
|
+
.Switch-wrapper--checkedDisabled:before {
|
|
169
|
+
border-color: GrayText;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/* Unchecked-disabled thumb */
|
|
173
|
+
.Switch-wrapper--disabled:before {
|
|
174
|
+
border-color: GrayText;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
@@ -28,11 +28,42 @@
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
.Table-Header-Label--hide {
|
|
31
|
-
animation:
|
|
31
|
+
animation: tableHeaderFadeOut var(--duration--fast-02) var(--exit-productive-curve);
|
|
32
32
|
animation-fill-mode: forwards;
|
|
33
|
+
pointer-events: none;
|
|
33
34
|
}
|
|
34
35
|
|
|
35
36
|
.Table-Header-Label--show {
|
|
36
37
|
animation: fadeIn var(--duration--moderate-01) var(--entrance-productive-curve);
|
|
37
38
|
animation-fill-mode: forwards;
|
|
38
39
|
}
|
|
40
|
+
|
|
41
|
+
@keyframes tableHeaderFadeOut {
|
|
42
|
+
from {
|
|
43
|
+
opacity: 1;
|
|
44
|
+
visibility: visible;
|
|
45
|
+
}
|
|
46
|
+
to {
|
|
47
|
+
opacity: 0;
|
|
48
|
+
visibility: hidden;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@media (prefers-reduced-motion: reduce) {
|
|
53
|
+
.Table-Header-Label--hide,
|
|
54
|
+
.Table-Header-Label--show {
|
|
55
|
+
animation-duration: 0.001ms;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.Table-srOnly {
|
|
60
|
+
position: absolute;
|
|
61
|
+
width: var(--spacing-2-5);
|
|
62
|
+
height: var(--spacing-2-5);
|
|
63
|
+
padding: 0;
|
|
64
|
+
margin: calc(-1 * var(--spacing-2-5));
|
|
65
|
+
overflow: hidden;
|
|
66
|
+
clip: rect(0, 0, 0, 0);
|
|
67
|
+
white-space: nowrap;
|
|
68
|
+
border: 0;
|
|
69
|
+
}
|
|
@@ -182,3 +182,23 @@
|
|
|
182
182
|
display: flex;
|
|
183
183
|
box-sizing: border-box;
|
|
184
184
|
}
|
|
185
|
+
|
|
186
|
+
@media (forced-colors: active) {
|
|
187
|
+
/* Dismissible tab close icons have outline:none unconditionally — restore focus ring in forced-colors mode */
|
|
188
|
+
.DismissibleRegularTab-icon--right:focus-visible,
|
|
189
|
+
.DismissibleSmallTab-icon--right:focus-visible {
|
|
190
|
+
outline: var(--border-width-05) solid Highlight;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.Tab--active::after {
|
|
194
|
+
background-color: transparent;
|
|
195
|
+
border-top: var(--spacing-05) solid Highlight;
|
|
196
|
+
box-sizing: border-box;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/* Disabled tab pills use opacity — use GrayText instead */
|
|
200
|
+
.Tab-pills--disabled {
|
|
201
|
+
opacity: 1;
|
|
202
|
+
color: GrayText;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
@@ -55,6 +55,8 @@
|
|
|
55
55
|
padding-left: var(--spacing-10);
|
|
56
56
|
height: var(--spacing-60);
|
|
57
57
|
box-sizing: initial;
|
|
58
|
+
background: transparent;
|
|
59
|
+
border: none;
|
|
58
60
|
}
|
|
59
61
|
|
|
60
62
|
.Toast-icon--info,
|
|
@@ -68,6 +70,13 @@
|
|
|
68
70
|
color: var(--warning-darker);
|
|
69
71
|
}
|
|
70
72
|
|
|
73
|
+
.Toast-closeButton {
|
|
74
|
+
background: transparent;
|
|
75
|
+
border: none;
|
|
76
|
+
color: inherit;
|
|
77
|
+
padding: 0;
|
|
78
|
+
}
|
|
79
|
+
|
|
71
80
|
.Toast-close-icon:focus,
|
|
72
81
|
.Toast-close-icon:focus-visible {
|
|
73
82
|
outline: none;
|
|
@@ -187,3 +196,13 @@
|
|
|
187
196
|
background: var(--warning-darker);
|
|
188
197
|
color: var(--text-white);
|
|
189
198
|
}
|
|
199
|
+
|
|
200
|
+
@media (forced-colors: active) {
|
|
201
|
+
/* Close icon focus ring is conveyed via box-shadow only — replace with outline */
|
|
202
|
+
.Toast-close-icon:focus,
|
|
203
|
+
.Toast-close-icon:focus-visible {
|
|
204
|
+
outline: var(--border-width-05) solid Highlight;
|
|
205
|
+
outline-offset: var(--spacing-05);
|
|
206
|
+
box-shadow: none;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
@@ -74,20 +74,24 @@
|
|
|
74
74
|
background: var(--secondary-dark);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
.MenuItem:focus {
|
|
77
|
+
.MenuItem:focus-visible {
|
|
78
78
|
outline: var(--border-width-05) solid var(--primary-focus);
|
|
79
79
|
outline-offset: var(--spacing-05);
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
.MenuItem
|
|
82
|
+
.MenuItem:focus:not(:focus-visible) {
|
|
83
|
+
outline: none;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.MenuItem--expanded:focus-visible {
|
|
83
87
|
clip-path: inset(-6px -6px -6px 0);
|
|
84
88
|
}
|
|
85
89
|
|
|
86
|
-
.MenuItem--expandedRounded:focus {
|
|
90
|
+
.MenuItem--expandedRounded:focus-visible {
|
|
87
91
|
clip-path: inset(-6px);
|
|
88
92
|
}
|
|
89
93
|
|
|
90
|
-
.MenuItem--disabled:focus {
|
|
94
|
+
.MenuItem--disabled:focus-visible {
|
|
91
95
|
outline: none;
|
|
92
96
|
}
|
|
93
97
|
|
|
@@ -130,11 +134,15 @@
|
|
|
130
134
|
color: var(--primary-darker);
|
|
131
135
|
}
|
|
132
136
|
|
|
133
|
-
.MenuItem--active:focus {
|
|
137
|
+
.MenuItem--active:focus-visible {
|
|
134
138
|
outline: var(--border-width-05) solid var(--primary-focus);
|
|
135
139
|
outline-offset: var(--spacing-05);
|
|
136
140
|
}
|
|
137
141
|
|
|
142
|
+
.MenuItem--active:focus:not(:focus-visible) {
|
|
143
|
+
outline: none;
|
|
144
|
+
}
|
|
145
|
+
|
|
138
146
|
.MenuItem--rounded {
|
|
139
147
|
border-radius: var(--border-radius-40);
|
|
140
148
|
}
|
|
@@ -18,26 +18,3 @@
|
|
|
18
18
|
.Overlay-container--close {
|
|
19
19
|
animation-timing-function: cubic-bezier(0.4, 0.14, 1, 1);
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
::-webkit-scrollbar {
|
|
23
|
-
width: 16px;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
::-webkit-scrollbar-thumb {
|
|
27
|
-
background: var(--secondary-dark);
|
|
28
|
-
border-radius: 8px;
|
|
29
|
-
border: 2px solid transparent;
|
|
30
|
-
background-clip: content-box;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
::-webkit-scrollbar-thumb:hover {
|
|
34
|
-
background: var(--inverse-lightest);
|
|
35
|
-
border: 2px solid transparent;
|
|
36
|
-
background-clip: content-box;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
::-webkit-scrollbar-thumb:active {
|
|
40
|
-
background: var(--inverse-lighter);
|
|
41
|
-
border: 2px solid transparent;
|
|
42
|
-
background-clip: content-box;
|
|
43
|
-
}
|