@cfpb/cfpb-design-system 3.10.0 → 3.11.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 (59) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/dist/base/index.css +1 -1
  3. package/dist/base/index.css.map +2 -2
  4. package/dist/base/index.js +1 -1
  5. package/dist/base/index.js.map +1 -1
  6. package/dist/components/cfpb-buttons/index.css +1 -1
  7. package/dist/components/cfpb-buttons/index.css.map +2 -2
  8. package/dist/components/cfpb-buttons/index.js +1 -1
  9. package/dist/components/cfpb-buttons/index.js.map +1 -1
  10. package/dist/components/cfpb-expandables/index.css +1 -1
  11. package/dist/components/cfpb-expandables/index.css.map +2 -2
  12. package/dist/components/cfpb-expandables/index.js +1 -1
  13. package/dist/components/cfpb-expandables/index.js.map +1 -1
  14. package/dist/components/cfpb-forms/index.css +1 -1
  15. package/dist/components/cfpb-forms/index.css.map +2 -2
  16. package/dist/components/cfpb-forms/index.js +1 -1
  17. package/dist/components/cfpb-forms/index.js.map +1 -1
  18. package/dist/components/cfpb-icons/index.css +1 -1
  19. package/dist/components/cfpb-icons/index.css.map +2 -2
  20. package/dist/components/cfpb-icons/index.js +1 -1
  21. package/dist/components/cfpb-icons/index.js.map +1 -1
  22. package/dist/components/cfpb-layout/index.css +1 -1
  23. package/dist/components/cfpb-layout/index.css.map +2 -2
  24. package/dist/components/cfpb-layout/index.js +1 -1
  25. package/dist/components/cfpb-layout/index.js.map +1 -1
  26. package/dist/components/cfpb-notifications/index.css +1 -1
  27. package/dist/components/cfpb-notifications/index.css.map +2 -2
  28. package/dist/components/cfpb-notifications/index.js +1 -1
  29. package/dist/components/cfpb-notifications/index.js.map +1 -1
  30. package/dist/components/cfpb-pagination/index.css +1 -1
  31. package/dist/components/cfpb-pagination/index.css.map +2 -2
  32. package/dist/components/cfpb-pagination/index.js +1 -1
  33. package/dist/components/cfpb-pagination/index.js.map +1 -1
  34. package/dist/components/cfpb-tables/index.css +1 -1
  35. package/dist/components/cfpb-tables/index.css.map +2 -2
  36. package/dist/components/cfpb-tables/index.js +1 -1
  37. package/dist/components/cfpb-tables/index.js.map +1 -1
  38. package/dist/components/cfpb-tooltips/index.css +1 -1
  39. package/dist/components/cfpb-tooltips/index.css.map +2 -2
  40. package/dist/components/cfpb-tooltips/index.js +1 -1
  41. package/dist/components/cfpb-tooltips/index.js.map +1 -1
  42. package/dist/components/cfpb-typography/index.css +1 -1
  43. package/dist/components/cfpb-typography/index.css.map +2 -2
  44. package/dist/components/cfpb-typography/index.js +1 -1
  45. package/dist/components/cfpb-typography/index.js.map +1 -1
  46. package/dist/index.css +1 -1
  47. package/dist/index.css.map +2 -2
  48. package/dist/index.js +1 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/utilities/index.css +1 -1
  51. package/dist/utilities/index.css.map +2 -2
  52. package/dist/utilities/index.js +1 -1
  53. package/dist/utilities/index.js.map +1 -1
  54. package/package.json +1 -1
  55. package/src/abstracts/vars.scss +12 -4
  56. package/src/components/cfpb-forms/form-field.scss +9 -5
  57. package/src/components/cfpb-forms/multiselect.scss +3 -4
  58. package/src/components/cfpb-forms/select.scss +25 -11
  59. package/src/utilities/utilities.scss +3 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cfpb/cfpb-design-system",
3
- "version": "3.10.0",
3
+ "version": "3.11.0",
4
4
  "description": "CFPB's UI framework",
5
5
  "exports": {
6
6
  ".": "./src/index.js",
@@ -45,7 +45,7 @@ $size-i: 34px; // h1-size
45
45
  $size-ii: 26px; // h2-size
46
46
  $size-iii: 22px; // h3-size
47
47
  $size-iv: 18px; // h4-size
48
- $size-v: 14px; // h5-site
48
+ $size-v: 14px; // h5-size
49
49
  $size-vi: 12px; // h6-size
50
50
  $size-code: 13px; // Custom size only for Mono code blocks
51
51
 
@@ -113,9 +113,17 @@ $input-icon-warning: var(--gold);
113
113
  $input-icon-error: var(--red);
114
114
 
115
115
  // .a-select
116
- $select-border: $input-border;
117
- $select-icon-bg: var(--gray-10);
118
- $select-text-disabled: $input-text-disabled;
116
+ :root {
117
+ --select-border-default: var(--gray-60); // $input-text
118
+ --select-border-width-default: 1px;
119
+ --select-border-error: var(--red);
120
+ --select-border-width-error: 2px;
121
+ --select-border-hover-default: var(--pacific); // $input-border-hover
122
+ --select-border-focus-default: var(--pacific); // $input-border-focused
123
+ --select-bg-disabled-default: var(--gray-10); // $input-bg-disabled
124
+ --select-icon-bg-default: var(--gray-10);
125
+ --select-text-disabled-default: var(--gray-dark); // $input-text-disabled
126
+ }
119
127
 
120
128
  // .m-form-field
121
129
  $form-field-input-border: $input-border;
@@ -91,6 +91,7 @@
91
91
  &::before {
92
92
  background: $input-bg-disabled;
93
93
  border-color: $form-field-input-border-disabled;
94
+ outline: none;
94
95
  }
95
96
  }
96
97
  }
@@ -265,11 +266,6 @@
265
266
  box-shadow: inset 0 0 0 2px $form-field-inset;
266
267
  }
267
268
 
268
- &:checked:disabled + .a-label::before {
269
- background-color: $input-bg-disabled-selected;
270
- box-shadow: inset 0 0 0 2px $input-bg-disabled;
271
- }
272
-
273
269
  &:focus:checked + .a-label::before,
274
270
  &.focus:checked + .a-label::before {
275
271
  border-color: $input-border-focused;
@@ -285,6 +281,14 @@
285
281
  0 0 0 1px $input-border-hover,
286
282
  inset 0 0 0 2px $form-field-inset;
287
283
  }
284
+
285
+ &:checked:disabled + .a-label::before,
286
+ &:hover:checked:disabled + .a-label::before,
287
+ &.hover:checked:disabled + .a-label::before {
288
+ background-color: $input-bg-disabled-selected;
289
+ box-shadow: inset 0 0 0 2px $input-bg-disabled;
290
+ border-color: $form-field-input-border-disabled;
291
+ }
288
292
  }
289
293
  }
290
294
 
@@ -13,7 +13,7 @@ select.o-multiselect {
13
13
  height: 5.5em;
14
14
  padding-top: math.div(4px, $base-font-size-px) + em;
15
15
  padding-bottom: math.div(4px, $base-font-size-px) + em;
16
- border: 1px solid $select-border;
16
+ border: 1px solid var(--select-border-default);
17
17
 
18
18
  option {
19
19
  padding: math.div(2px, $base-font-size-px) + em
@@ -31,19 +31,18 @@ select.o-multiselect {
31
31
  // Arrow box width must be odd size to properly center the bg image
32
32
  width: math.div($select-height, $base-font-size-px) + em;
33
33
  box-sizing: border-box;
34
- border-left: 1px solid $select-border;
34
+ border: 1px solid var(--select-border-default);
35
35
  position: absolute;
36
36
  top: 0;
37
37
  right: 0;
38
38
  bottom: 0;
39
- background-color: $select-icon-bg;
39
+ background-color: var(--select-icon-bg-default);
40
40
 
41
41
  --cfpb-background-icon-svg: 'down';
42
42
 
43
43
  background-size: auto $cf-icon-height;
44
44
  background-repeat: no-repeat;
45
45
  background-position: center center;
46
- border: 1px solid $input-border;
47
46
  content: '';
48
47
  pointer-events: none;
49
48
  }
@@ -2,8 +2,16 @@
2
2
  @use '@cfpb/cfpb-design-system/src/abstracts' as *;
3
3
 
4
4
  .a-select {
5
+ --select-border: var(--select-border-default);
6
+ --select-border-width: var(--select-border-width-default);
7
+
5
8
  position: relative;
6
- border: 1px solid $select-border;
9
+ border: var(--select-border-width) solid var(--select-border);
10
+
11
+ &:has(select[disabled]) {
12
+ border: var(--select-border-width-default) solid
13
+ var(--select-border-default);
14
+ }
7
15
 
8
16
  select {
9
17
  width: 100%;
@@ -13,21 +21,22 @@
13
21
  em;
14
22
  border: 0;
15
23
  appearance: none;
16
- background-color: $input-bg;
24
+ background-color: var(--white);
17
25
  border-radius: 0;
18
- color: $text;
26
+ color: var(--black);
19
27
 
20
28
  &:hover,
21
29
  &.hover {
22
- outline: 2px solid $input-border-hover;
30
+ outline: 2px solid var(--select-border-hover-default);
23
31
  outline-offset: 0;
32
+ cursor: pointer;
24
33
  }
25
34
 
26
35
  &:active,
27
36
  &:focus,
28
37
  &.focus {
29
- box-shadow: 0 0 0 2px $input-border-focused;
30
- outline: 1px dotted $input-border-focused;
38
+ box-shadow: 0 0 0 2px var(--select-border-focus-default);
39
+ outline: 1px dotted var(--select-border-focus-default);
31
40
 
32
41
  // The outline-offset property is not supported everywhere (e.g. IE)
33
42
  // but it adds a nice touch in browsers where it is.
@@ -36,8 +45,7 @@
36
45
  }
37
46
 
38
47
  select[disabled] {
39
- color: $select-text-disabled;
40
- background-color: $input-bg-disabled;
48
+ background-color: var(--select-bg-disabled-default);
41
49
  cursor: not-allowed;
42
50
 
43
51
  &:hover,
@@ -48,22 +56,23 @@
48
56
  }
49
57
  }
50
58
 
59
+ select[disabled],
51
60
  select[disabled] option,
52
61
  select[disabled] option:disabled,
53
62
  select option:disabled {
54
- color: $select-text-disabled;
63
+ color: var(--select-text-disabled-default);
55
64
  }
56
65
 
57
66
  &::after {
58
67
  // Arrow box width must be odd size to properly center the bg image
59
68
  width: math.div($select-height, $base-font-size-px) + em;
60
69
  box-sizing: border-box;
61
- border-left: 1px solid $select-border;
70
+ border-left: 1px solid var(--select-border-default);
62
71
  position: absolute;
63
72
  top: 0;
64
73
  right: 0;
65
74
  bottom: 0;
66
- background-color: $select-icon-bg;
75
+ background-color: var(--select-icon-bg-default);
67
76
 
68
77
  --cfpb-background-icon-svg: 'down';
69
78
 
@@ -80,4 +89,9 @@
80
89
  &--disabled::after {
81
90
  --cfpb-background-icon-svg: 'down rgb(90,93,97)';
82
91
  }
92
+
93
+ &--error {
94
+ --select-border: var(--select-border-error);
95
+ --select-border-width: var(--select-border-width-error);
96
+ }
83
97
  }
@@ -80,11 +80,9 @@
80
80
  }
81
81
 
82
82
  .u-show-on-mobile {
83
- display: none;
84
-
85
- // Mobile only.
86
- @include respond-to-max($bp-xs-max) {
87
- display: block;
83
+ // Tablet and above.
84
+ @include respond-to-min($bp-sm-min) {
85
+ display: none;
88
86
  }
89
87
  }
90
88