@innovaccer/design-system 4.23.0 → 4.25.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 (88) hide show
  1. package/CHANGELOG.md +115 -0
  2. package/README.md +3 -3
  3. package/css/dist/index.css +1374 -348
  4. package/css/dist/index.css.map +1 -1
  5. package/css/src/ai-components/button.module.css +4 -24
  6. package/css/src/ai-components/chip.module.css +5 -30
  7. package/css/src/ai-components/iconButton.module.css +2 -12
  8. package/css/src/components/avatarGroup.module.css +7 -0
  9. package/css/src/components/avatarSelection.module.css +22 -0
  10. package/css/src/components/badge.module.css +3 -3
  11. package/css/src/components/button.module.css +187 -18
  12. package/css/src/components/calendar.module.css +49 -0
  13. package/css/src/components/card.module.css +14 -0
  14. package/css/src/components/chatBubble.module.css +6 -1
  15. package/css/src/components/chatInput.module.css +14 -3
  16. package/css/src/components/chip.module.css +65 -13
  17. package/css/src/components/datePicker.module.css +9 -0
  18. package/css/src/components/dateRangePicker.module.css +5 -0
  19. package/css/src/components/dropdown.module.css +7 -0
  20. package/css/src/components/dropzone.module.css +36 -0
  21. package/css/src/components/grid.module.css +29 -12
  22. package/css/src/components/horizontalNav.module.css +17 -6
  23. package/css/src/components/input.module.css +1 -0
  24. package/css/src/components/link.module.css +59 -6
  25. package/css/src/components/linkButton.module.css +82 -10
  26. package/css/src/components/listbox.module.css +85 -1
  27. package/css/src/components/metricInput.module.css +89 -35
  28. package/css/src/components/modal.module.css +8 -0
  29. package/css/src/components/pageHeader.module.css +103 -8
  30. package/css/src/components/segmentedControl.module.css +1 -1
  31. package/css/src/components/select.module.css +7 -0
  32. package/css/src/components/selectionCard.module.css +38 -0
  33. package/css/src/components/sidesheet.module.css +8 -0
  34. package/css/src/components/slider.module.css +21 -0
  35. package/css/src/components/switch.module.css +39 -0
  36. package/css/src/components/table.module.css +32 -1
  37. package/css/src/components/tabs.module.css +20 -0
  38. package/css/src/components/timePicker.module.css +4 -0
  39. package/css/src/components/toast.module.css +10 -0
  40. package/css/src/components/tooltip.module.css +1 -0
  41. package/css/src/tokens/index.css +156 -156
  42. package/css/src/utils/utility.css +4 -0
  43. package/css/src/variables/index.css +116 -1
  44. package/dist/brotli/index.js +1 -1
  45. package/dist/brotli/index.js.br +0 -0
  46. package/dist/cjs/index.js +1 -1
  47. package/dist/core/components/atoms/heading/Heading.d.ts +1 -0
  48. package/dist/core/components/atoms/link/Link.d.ts +4 -2
  49. package/dist/core/components/atoms/linkButton/LinkButton.d.ts +1 -0
  50. package/dist/core/components/atoms/message/Message.d.ts +2 -0
  51. package/dist/core/components/atoms/outsideClick/OutsideClick.d.ts +1 -0
  52. package/dist/core/components/atoms/popperWrapper/PopperWrapper.d.ts +1 -0
  53. package/dist/core/components/atoms/progressBar/ProgressBar.d.ts +2 -0
  54. package/dist/core/components/atoms/progressRing/ProgressRing.d.ts +3 -0
  55. package/dist/core/components/atoms/segmentedControl/SegmentedControl.d.ts +2 -0
  56. package/dist/core/components/atoms/subheading/Subheading.d.ts +1 -0
  57. package/dist/core/components/atoms/text/Text.d.ts +1 -0
  58. package/dist/core/components/atoms/toast/Toast.d.ts +3 -0
  59. package/dist/core/components/molecules/chat/Chat.d.ts +3 -0
  60. package/dist/core/components/molecules/chat/chatBubble/IncomingBubble.d.ts +1 -0
  61. package/dist/core/components/molecules/chat/chatBubble/OutgoingBubble.d.ts +1 -0
  62. package/dist/core/components/molecules/chat/chatInput/ChatInput.d.ts +1 -0
  63. package/dist/core/components/molecules/chat/unreadMessage/UnreadMessage.d.ts +3 -0
  64. package/dist/core/components/molecules/dropzone/Dropzone.d.ts +1 -0
  65. package/dist/core/components/molecules/editableInput/EditableInput.d.ts +4 -0
  66. package/dist/core/components/molecules/emptyState/EmptyState.d.ts +1 -0
  67. package/dist/core/components/molecules/emptyState/EmptyStateTitle.d.ts +1 -0
  68. package/dist/core/components/molecules/inputMask/InputMask.d.ts +1 -0
  69. package/dist/core/components/molecules/modal/ModalHeader.d.ts +1 -0
  70. package/dist/core/components/molecules/overlayHeader/OverlayHeader.d.ts +1 -0
  71. package/dist/core/components/molecules/popover/Popover.d.ts +1 -0
  72. package/dist/core/components/organisms/grid/Grid.d.ts +1 -0
  73. package/dist/core/components/organisms/grid/GridContext.d.ts +1 -0
  74. package/dist/core/components/organisms/grid/VirtualList.d.ts +1 -0
  75. package/dist/core/components/organisms/listbox/reorderList/Draggable.d.ts +11 -0
  76. package/dist/core/components/organisms/menu/SubMenuContext.d.ts +1 -0
  77. package/dist/core/components/organisms/pageHeader/utils.d.ts +9 -9
  78. package/dist/core/components/organisms/textField/TextFieldCommon.d.ts +1 -0
  79. package/dist/core/components/organisms/verticalNav/VerticalNav.d.ts +2 -0
  80. package/dist/esm/index.js +2058 -874
  81. package/dist/gzip/index.js +1 -1
  82. package/dist/gzip/index.js.gz +0 -0
  83. package/dist/index.js +1872 -745
  84. package/dist/index.js.map +1 -1
  85. package/dist/index.umd.css +1371 -345
  86. package/dist/index.umd.js +1 -1
  87. package/dist/types/tsconfig.type.tsbuildinfo +173 -134
  88. package/package.json +1 -1
@@ -2,9 +2,6 @@
2
2
  display: flex;
3
3
  box-sizing: border-box;
4
4
  border-radius: var(--border-radius-30);
5
- padding-right: var(--spacing-20);
6
- padding-top: var(--spacing-05);
7
- padding-bottom: var(--spacing-05);
8
5
  width: fit-content;
9
6
  justify-content: space-between;
10
7
  border-style: solid;
@@ -17,11 +14,9 @@
17
14
 
18
15
  .Chip-size--regular {
19
16
  height: var(--spacing-60);
20
- padding-left: var(--spacing-20);
21
17
  }
22
18
  .Chip-size--small {
23
19
  height: 20px;
24
- padding-left: var(--spacing-15);
25
20
  }
26
21
 
27
22
  .Chip-wrapper {
@@ -29,6 +24,29 @@
29
24
  align-items: center;
30
25
  }
31
26
 
27
+ .Chip-content {
28
+ display: flex;
29
+ align-items: center;
30
+ min-width: 0;
31
+ flex: 1;
32
+ align-self: stretch;
33
+ padding-top: var(--spacing-05);
34
+ padding-bottom: var(--spacing-05);
35
+ padding-right: var(--spacing-20);
36
+ }
37
+
38
+ .Chip-content--regular {
39
+ padding-left: var(--spacing-20);
40
+ }
41
+
42
+ .Chip-content--small {
43
+ padding-left: var(--spacing-15);
44
+ }
45
+
46
+ .Chip-content:focus-visible {
47
+ outline: none;
48
+ }
49
+
32
50
  .Chip-icon--left {
33
51
  margin-right: var(--spacing-10);
34
52
  display: flex;
@@ -62,7 +80,7 @@
62
80
  background: var(--secondary);
63
81
  }
64
82
 
65
- .Chip--action:focus-visible {
83
+ .Chip--action:has(.Chip-content:focus-visible) {
66
84
  outline: var(--border-width-05) solid var(--primary-focus);
67
85
  outline-offset: var(--spacing-05);
68
86
  }
@@ -90,7 +108,7 @@
90
108
  border-color: var(--secondary-dark);
91
109
  }
92
110
 
93
- .Chip--selection:focus-visible {
111
+ .Chip--selection:has(.Chip-content:focus-visible) {
94
112
  outline: var(--border-width-05) solid var(--primary-focus);
95
113
  outline-offset: var(--spacing-05);
96
114
  }
@@ -119,7 +137,7 @@
119
137
  box-shadow: inset 0 0 0 1px var(--primary);
120
138
  }
121
139
 
122
- .Chip-selection--selected:focus-visible {
140
+ .Chip-selection--selected:has(.Chip-content:focus-visible) {
123
141
  outline: var(--border-width-05) solid var(--primary-focus);
124
142
  outline-offset: var(--spacing-05);
125
143
  }
@@ -160,7 +178,7 @@
160
178
  background: var(--secondary);
161
179
  }
162
180
 
163
- .Chip--input:focus-visible {
181
+ .Chip--input:has(.Chip-content:focus-visible) {
164
182
  outline: var(--border-width-05) solid var(--primary-focus);
165
183
  outline-offset: var(--spacing-05);
166
184
  }
@@ -210,13 +228,47 @@
210
228
  background-color: var(--primary-light);
211
229
  }
212
230
 
213
- .Chip-selection--disabled:focus-visible,
231
+ .Chip-selection--disabled:has(.Chip-content:focus-visible),
214
232
  .Chip-icon-disabled--right:focus-visible,
215
- .Chip-selection--selectedDisabled:focus-visible,
216
- .Chip-input--disabled:focus-visible {
233
+ .Chip-selection--selectedDisabled:has(.Chip-content:focus-visible),
234
+ .Chip-input--disabled:has(.Chip-content:focus-visible) {
217
235
  outline: none;
218
236
  }
219
237
 
220
- .Chip-icon--clear {
238
+ .Chip-icon--clear .Chip-content {
221
239
  padding-right: 0;
222
240
  }
241
+
242
+ @media (forced-colors: active) {
243
+ /* Action chips: border:0 makes them invisible — add a real border */
244
+ .Chip--action {
245
+ border: var(--border-width-2-5) solid ButtonText;
246
+ }
247
+
248
+ /* Input chips: border:0 makes them invisible — add a real border */
249
+ .Chip--input {
250
+ border: var(--border-width-2-5) solid ButtonText;
251
+ }
252
+
253
+ /* Selected state uses inset box-shadow as a double border on top of the existing border-color */
254
+ .Chip-selection--selected,
255
+ .Chip-selection--selected:hover,
256
+ .Chip-selection--selected:active,
257
+ .Chip-selection--selectedDisabled {
258
+ border-color: Highlight;
259
+ box-shadow: none;
260
+ }
261
+
262
+ .Chip-action--disabled,
263
+ .Chip-input--disabled {
264
+ opacity: 1;
265
+ color: GrayText;
266
+ border: var(--border-width-2-5) solid GrayText;
267
+ }
268
+
269
+ .Chip-selection--disabled {
270
+ opacity: 1;
271
+ color: GrayText;
272
+ border-color: GrayText;
273
+ }
274
+ }
@@ -0,0 +1,9 @@
1
+ .DatePicker-content {
2
+ display: flex;
3
+ }
4
+
5
+ @media (max-width: 576px) {
6
+ .DatePicker-content {
7
+ flex-direction: column;
8
+ }
9
+ }
@@ -23,6 +23,11 @@
23
23
  }
24
24
 
25
25
  @media (max-width: 576px) {
26
+ .DateRangePicker--left,
27
+ .DateRangePicker--right {
28
+ flex-direction: column;
29
+ }
30
+
26
31
  .DateRangePicker-input {
27
32
  padding: 0;
28
33
  }
@@ -201,3 +201,10 @@
201
201
  height: fit-content;
202
202
  line-height: var(--font-height);
203
203
  }
204
+
205
+ @media (forced-colors: active) {
206
+ .Dropdown-input:focus-within {
207
+ outline: var(--border-width-05) solid Highlight !important;
208
+ outline-offset: var(--spacing-05);
209
+ }
210
+ }
@@ -1,3 +1,15 @@
1
+ .Dropzone-srOnly {
2
+ position: absolute;
3
+ width: var(--spacing-2-5);
4
+ height: var(--spacing-2-5);
5
+ padding: 0;
6
+ margin: calc(-1 * var(--spacing-2-5));
7
+ overflow: hidden;
8
+ clip: rect(0, 0, 0, 0);
9
+ white-space: nowrap;
10
+ border: 0;
11
+ }
12
+
1
13
  .Dropzone {
2
14
  display: flex;
3
15
  align-items: center;
@@ -177,3 +189,27 @@
177
189
  .Dropzone-icon--error {
178
190
  fill: var(--alert);
179
191
  }
192
+
193
+ @media (forced-colors: active) {
194
+ .Dropzone {
195
+ border: var(--border-width-05) dashed ButtonText;
196
+ background-image: none;
197
+ background-color: Canvas;
198
+ }
199
+
200
+ .Dropzone--active {
201
+ border: var(--border-width-05) dashed Highlight;
202
+ background-image: none;
203
+ background-color: Canvas;
204
+ }
205
+
206
+ .Dropzone--error {
207
+ border: var(--border-width-05) dashed ButtonText;
208
+ background-image: none;
209
+ }
210
+
211
+ .Dropzone--disabled {
212
+ border: var(--border-width-05) dashed GrayText;
213
+ background-image: none;
214
+ }
215
+ }
@@ -108,6 +108,10 @@
108
108
  overflow-y: auto;
109
109
  }
110
110
 
111
+ .Grid-rowGroup {
112
+ display: contents;
113
+ }
114
+
111
115
  .Grid-rowWrapper {
112
116
  display: inline-flex;
113
117
  flex-direction: column;
@@ -240,12 +244,20 @@
240
244
  overflow: hidden;
241
245
  }
242
246
 
247
+ .Grid-cell--head .Grid-cellContent:focus-visible {
248
+ box-shadow: inset 0 0 0 var(--border-width-05) var(--primary-focus);
249
+ border-radius: var(--border-radius-10);
250
+ }
251
+
243
252
  .Grid-cellResize {
244
253
  position: absolute;
245
254
  right: 0;
246
255
  width: var(--spacing-10);
247
256
  cursor: ew-resize;
248
257
  height: 100%;
258
+ padding-right: var(--spacing-60);
259
+ margin-right: calc(-1 * var(--spacing-60));
260
+ box-sizing: content-box;
249
261
  }
250
262
 
251
263
  .Grid-cellSortIcon {
@@ -262,6 +274,11 @@
262
274
  background: var(--primary);
263
275
  }
264
276
 
277
+ .Grid-cellResize:focus-visible {
278
+ background: var(--primary);
279
+ outline: none;
280
+ }
281
+
265
282
  .Grid-reorderHighlighter {
266
283
  position: absolute;
267
284
  height: 100%;
@@ -481,9 +498,10 @@
481
498
  background: var(--secondary-lighter);
482
499
  }
483
500
 
484
- .Grid--resource .Grid-row--body:focus {
501
+ .Grid--resource .Grid-row--body:focus-visible {
485
502
  box-shadow: var(--shadow-spread) color-mod(var(--secondary) a(var(--opacity-4)));
486
- outline: none;
503
+ outline: var(--border-width-05) solid var(--primary-focus);
504
+ outline-offset: calc(-1 * var(--spacing-05));
487
505
  }
488
506
 
489
507
  /* Selected States */
@@ -500,8 +518,9 @@
500
518
  background: var(--primary-lighter) !important;
501
519
  }
502
520
 
503
- .Grid-row--selected:focus {
504
- outline: none;
521
+ .Grid-row--selected:focus-visible {
522
+ outline: var(--border-width-05) solid var(--primary-focus);
523
+ outline-offset: calc(-1 * var(--spacing-05));
505
524
  box-shadow: var(--shadow-spread) color-mod(var(--primary) a(var(--opacity-4)));
506
525
  }
507
526
 
@@ -522,9 +541,8 @@
522
541
  background: var(--secondary-lighter);
523
542
  }
524
543
 
525
- .Grid--resource .Grid-row--body:focus .Grid-cellWrapper--pinned {
544
+ .Grid--resource .Grid-row--body:focus-visible .Grid-cellWrapper--pinned {
526
545
  box-shadow: var(--shadow-spread) color-mod(var(--secondary) a(var(--opacity-4)));
527
- outline: none;
528
546
  }
529
547
 
530
548
  /* Pinned Columns Selected State */
@@ -541,8 +559,7 @@
541
559
  background: var(--primary-lighter) !important;
542
560
  }
543
561
 
544
- .Grid-row--selected:focus .Grid-cellWrapper--pinned {
545
- outline: none;
562
+ .Grid-row--selected:focus-visible .Grid-cellWrapper--pinned {
546
563
  box-shadow: var(--shadow-spread) color-mod(var(--primary) a(var(--opacity-4)));
547
564
  }
548
565
 
@@ -553,7 +570,7 @@
553
570
 
554
571
  .Grid-row--head .Grid-cellGroup--pinned-left {
555
572
  border-style: inset;
556
- border-right: var(--spacing-xs) solid rgba(213, 213, 213, var(--opacity-3));
573
+ border-right: var(--spacing-2-5) solid color-mod(var(--secondary-light) a(var(--opacity-3)));
557
574
  border-right-width: 4px;
558
575
  border-image: linear-gradient(
559
576
  to right,
@@ -567,7 +584,7 @@
567
584
 
568
585
  .Grid-row--head .Grid-cellGroup--pinned-right {
569
586
  border-style: inset;
570
- border-left: var(--spacing-xs) solid rgba(213, 213, 213, var(--opacity-3));
587
+ border-left: var(--spacing-2-5) solid color-mod(var(--secondary-light) a(var(--opacity-3)));
571
588
  border-left-width: 4px;
572
589
  border-image: linear-gradient(
573
590
  to left,
@@ -583,7 +600,7 @@
583
600
 
584
601
  .Grid-cellWrapper--pinned-left {
585
602
  border-style: inset;
586
- border-right: var(--spacing-xs) solid rgba(213, 213, 213, var(--opacity-3));
603
+ border-right: var(--spacing-2-5) solid color-mod(var(--secondary-light) a(var(--opacity-3)));
587
604
  border-right-width: 4px;
588
605
  border-image: linear-gradient(
589
606
  to right,
@@ -597,7 +614,7 @@
597
614
 
598
615
  .Grid-cellWrapper--pinned-right {
599
616
  border-style: inset;
600
- border-left: var(--spacing-xs) solid rgba(213, 213, 213, var(--opacity-3));
617
+ border-left: var(--spacing-2-5) solid color-mod(var(--secondary-light) a(var(--opacity-3)));
601
618
  border-left-width: 4px;
602
619
  border-image: linear-gradient(
603
620
  to left,
@@ -27,8 +27,7 @@
27
27
  outline: none;
28
28
  }
29
29
 
30
- .HorizontalNav-menu--default:focus-visible,
31
- .HorizontalNav-menu--default:focus {
30
+ .HorizontalNav-menu--default:focus-visible {
32
31
  outline: var(--border-width-05) solid var(--primary-focus);
33
32
  outline-offset: var(--spacing-05);
34
33
  }
@@ -46,8 +45,7 @@
46
45
  box-shadow: 0 0 0 var(--border-width-05) var(--primary);
47
46
  }
48
47
 
49
- .HorizontalNav-menu--active:focus-visible,
50
- .HorizontalNav-menu--active:focus {
48
+ .HorizontalNav-menu--active:focus-visible {
51
49
  background-color: var(--primary-ultra-light);
52
50
  outline: var(--border-width-05) solid var(--primary-focus);
53
51
  outline-offset: var(--spacing-10);
@@ -67,8 +65,7 @@
67
65
  color: var(--primary-darker);
68
66
  }
69
67
 
70
- .HorizontalNav-menu--active:focus-visible:active,
71
- .HorizontalNav-menu--active:focus:active {
68
+ .HorizontalNav-menu--active:focus-visible:active {
72
69
  background-color: var(--primary-lighter);
73
70
  box-shadow: 0 0 0 var(--border-width-05) var(--primary-dark);
74
71
  }
@@ -95,3 +92,17 @@
95
92
  .HorizontalNav-pills--disabled {
96
93
  opacity: var(--opacity-10);
97
94
  }
95
+
96
+ @media (forced-colors: active) {
97
+ /* Active nav item uses box-shadow as its visible ring — replace with a real border */
98
+ .HorizontalNav-menu--active {
99
+ border: var(--border-width-2-5) solid Highlight;
100
+ box-shadow: none;
101
+ }
102
+
103
+ .HorizontalNav-menu--active:active,
104
+ .HorizontalNav-menu--active:focus-visible:active {
105
+ border-color: Highlight;
106
+ box-shadow: none;
107
+ }
108
+ }
@@ -149,6 +149,7 @@
149
149
  cursor: pointer;
150
150
  color: var(--inverse-lighter);
151
151
  border-radius: var(--border-radius-full);
152
+ box-sizing: content-box;
152
153
  }
153
154
 
154
155
  .Input-iconWrapper--right:focus-visible .Input-icon--right {
@@ -1,12 +1,24 @@
1
1
  .Link {
2
2
  text-decoration: none;
3
3
  font-weight: var(--font-weight-medium);
4
- transition: var(--duration--fast-01) var(--standard-productive-curve);
4
+ transition: color var(--duration--fast-01) var(--standard-productive-curve),
5
+ border-color var(--duration--fast-01) var(--standard-productive-curve);
5
6
  box-sizing: border-box;
7
+ }
8
+
9
+ @media (prefers-reduced-motion: reduce) {
10
+ .Link {
11
+ transition: none;
12
+ }
13
+ }
14
+
15
+ .Link-text {
16
+ display: inline-flex;
17
+ vertical-align: middle;
6
18
  border-bottom: var(--border-width-2-5) solid currentColor;
7
19
  }
8
20
 
9
- .Link:focus {
21
+ .Link:focus-visible {
10
22
  outline: var(--border-width-05) solid var(--primary-focus);
11
23
  outline-offset: var(--spacing-05);
12
24
  border-radius: var(--border-radius-10);
@@ -32,24 +44,32 @@
32
44
  border-bottom-color: transparent;
33
45
  }
34
46
 
47
+ .Link-text--subtle {
48
+ border-bottom-color: transparent;
49
+ }
50
+
35
51
  .Link--default:hover {
36
- border-bottom: var(--border-width-2-5) solid var(--primary-dark);
37
52
  color: var(--primary-dark);
38
53
  }
39
54
 
40
55
  .Link--subtle:hover {
41
- border-bottom: var(--border-width-2-5) solid var(--inverse-light);
42
56
  color: var(--inverse-light);
43
57
  }
44
58
 
59
+ .Link--subtle:hover .Link-text--subtle {
60
+ border-bottom-color: currentColor;
61
+ }
62
+
45
63
  .Link--default:active {
46
64
  color: var(--primary-darker);
47
- border-bottom: var(--border-width-2-5) solid currentColor;
48
65
  }
49
66
 
50
67
  .Link--subtle:active {
51
68
  color: var(--inverse);
52
- border-bottom: var(--border-width-2-5) solid transparent;
69
+ }
70
+
71
+ .Link--subtle:active .Link-text--subtle {
72
+ border-bottom-color: transparent;
53
73
  }
54
74
 
55
75
  .Link--button-reset {
@@ -71,3 +91,36 @@
71
91
  color: var(--inverse-lightest);
72
92
  pointer-events: none;
73
93
  }
94
+
95
+ .Link-infoIconWrapper {
96
+ display: inline-flex;
97
+ vertical-align: middle;
98
+ transform: translateY(calc(-1 * var(--spacing-15)));
99
+ margin-left: var(--spacing-2-5);
100
+ width: var(--spacing-30);
101
+ height: var(--spacing-30);
102
+ box-sizing: border-box;
103
+ border-radius: var(--border-radius-full);
104
+ align-items: center;
105
+ justify-content: center;
106
+ background: transparent;
107
+ border: none;
108
+ }
109
+
110
+ .Link-infoIcon {
111
+ color: var(--text-subtle);
112
+ pointer-events: none;
113
+ }
114
+
115
+ .Link-infoIcon--default {
116
+ color: var(--primary);
117
+ }
118
+
119
+ .Link-infoIcon--subtle {
120
+ color: var(--inverse-light);
121
+ }
122
+
123
+ .Link-tooltip--disabled {
124
+ pointer-events: auto;
125
+ cursor: not-allowed;
126
+ }
@@ -46,7 +46,8 @@
46
46
  font-size: var(--font-size-s);
47
47
  }
48
48
 
49
- .LinkButton--default {
49
+ .LinkButton--default,
50
+ .LinkButton--default-disabled {
50
51
  color: var(--primary);
51
52
  }
52
53
 
@@ -58,21 +59,25 @@
58
59
  color: var(--primary-darker);
59
60
  }
60
61
 
61
- .LinkButton--default:focus,
62
- .LinkButton--default:focus-visible {
62
+ .LinkButton--default:focus-visible,
63
+ .LinkButton--default-disabled:focus-visible {
63
64
  outline: var(--border-width-05) solid var(--primary-focus);
64
65
  outline-offset: var(--spacing-05);
65
66
  }
66
67
 
67
- .LinkButton--default:disabled {
68
+ .LinkButton--default-disabled {
68
69
  cursor: not-allowed;
69
- pointer-events: none;
70
70
  color: var(--primary-lighter);
71
71
  }
72
72
 
73
+ .LinkButton-infoIcon--default {
74
+ color: var(--text-link);
75
+ }
76
+
73
77
  /* Subtle Appearance */
74
78
 
75
- .LinkButton--subtle {
79
+ .LinkButton--subtle,
80
+ .LinkButton--subtle-disabled {
76
81
  color: var(--inverse-lighter);
77
82
  }
78
83
 
@@ -84,14 +89,81 @@
84
89
  color: var(--inverse);
85
90
  }
86
91
 
87
- .LinkButton--subtle:focus,
88
- .LinkButton--subtle:focus-visible {
92
+ .LinkButton--subtle:focus-visible,
93
+ .LinkButton--subtle-disabled:focus-visible {
89
94
  outline: var(--border-width-05) solid var(--primary-focus);
90
95
  outline-offset: var(--spacing-05);
91
96
  }
92
97
 
93
- .LinkButton--subtle:disabled {
98
+ .LinkButton--subtle-disabled {
94
99
  cursor: not-allowed;
95
- pointer-events: none;
96
100
  color: var(--inverse-lightest);
97
101
  }
102
+
103
+ .LinkButton-infoIcon--subtle {
104
+ color: var(--inverse-light);
105
+ }
106
+
107
+ .LinkButton-infoIconWrapper {
108
+ position: absolute;
109
+ top: calc(-1 * var(--spacing-05));
110
+ right: calc(-1 * var(--spacing-30));
111
+ width: var(--spacing-30);
112
+ height: var(--spacing-30);
113
+ box-sizing: border-box;
114
+ border-radius: var(--border-radius-full);
115
+ display: flex;
116
+ align-items: center;
117
+ justify-content: center;
118
+ overflow: hidden;
119
+ border: none;
120
+ background: transparent;
121
+ pointer-events: none;
122
+ }
123
+
124
+ .LinkButton-infoIconWrapper--tiny {
125
+ top: calc(-1 * var(--spacing-05));
126
+ right: calc(-1 * var(--spacing-30));
127
+ }
128
+
129
+ .LinkButton-infoIconWrapper--regularIcon {
130
+ top: 0px;
131
+ right: calc(-1 * var(--spacing-05));
132
+ }
133
+
134
+ .LinkButton-infoIconWrapper--tinyIcon {
135
+ top: calc(-1 * var(--spacing-05));
136
+ right: calc(-1 * var(--spacing-05));
137
+ }
138
+
139
+ .LinkButton-withInfo {
140
+ padding-right: var(--spacing-20);
141
+ }
142
+
143
+ .LinkButton-infoIconWrapper--withChildren {
144
+ right: calc(-1 * var(--spacing-30) + var(--spacing-20));
145
+ }
146
+
147
+ .LinkButton-infoIconWrapper--iconOnly {
148
+ right: calc(-1 * var(--spacing-10) + var(--spacing-20));
149
+ }
150
+
151
+ .LinkButton-infoIconWrapper--tinyIcon {
152
+ right: calc(-1 * var(--spacing-05) + var(--spacing-20));
153
+ }
154
+
155
+ .LinkButton-infoIcon {
156
+ color: inherit;
157
+ }
158
+
159
+ .LinkButton-srOnly {
160
+ position: absolute;
161
+ width: var(--spacing-2-5);
162
+ height: var(--spacing-2-5);
163
+ padding: 0;
164
+ margin: calc(-1 * var(--spacing-2-5));
165
+ overflow: hidden;
166
+ clip: rect(0, 0, 0, 0);
167
+ white-space: nowrap;
168
+ border: 0;
169
+ }