@cfpb/cfpb-design-system 4.3.0 → 4.3.2

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 (168) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/dist/components/cfpb-buttons/index.css +1 -1
  3. package/dist/components/cfpb-buttons/index.css.map +2 -2
  4. package/dist/components/cfpb-buttons/index.js +1 -1
  5. package/dist/components/cfpb-buttons/index.js.map +1 -1
  6. package/dist/components/cfpb-expandables/index.css +1 -1
  7. package/dist/components/cfpb-expandables/index.css.map +2 -2
  8. package/dist/components/cfpb-expandables/index.js +1 -1
  9. package/dist/components/cfpb-expandables/index.js.map +2 -2
  10. package/dist/components/cfpb-forms/index.css +1 -1
  11. package/dist/components/cfpb-forms/index.css.map +2 -2
  12. package/dist/components/cfpb-forms/index.js +1 -1
  13. package/dist/components/cfpb-forms/index.js.map +2 -2
  14. package/dist/components/cfpb-icons/index.css +1 -1
  15. package/dist/components/cfpb-icons/index.css.map +2 -2
  16. package/dist/components/cfpb-icons/index.js +1 -1
  17. package/dist/components/cfpb-icons/index.js.map +1 -1
  18. package/dist/components/cfpb-layout/index.css +1 -1
  19. package/dist/components/cfpb-layout/index.css.map +2 -2
  20. package/dist/components/cfpb-layout/index.js +1 -1
  21. package/dist/components/cfpb-layout/index.js.map +1 -1
  22. package/dist/components/cfpb-notifications/index.css +1 -1
  23. package/dist/components/cfpb-notifications/index.css.map +2 -2
  24. package/dist/components/cfpb-notifications/index.js +1 -1
  25. package/dist/components/cfpb-notifications/index.js.map +1 -1
  26. package/dist/components/cfpb-pagination/index.css +1 -1
  27. package/dist/components/cfpb-pagination/index.css.map +2 -2
  28. package/dist/components/cfpb-pagination/index.js +1 -1
  29. package/dist/components/cfpb-pagination/index.js.map +1 -1
  30. package/dist/components/cfpb-tables/index.css +1 -1
  31. package/dist/components/cfpb-tables/index.css.map +2 -2
  32. package/dist/components/cfpb-tables/index.js +1 -1
  33. package/dist/components/cfpb-tables/index.js.map +1 -1
  34. package/dist/components/cfpb-tooltips/index.css +1 -1
  35. package/dist/components/cfpb-tooltips/index.css.map +2 -2
  36. package/dist/components/cfpb-tooltips/index.js +1 -1
  37. package/dist/components/cfpb-tooltips/index.js.map +1 -1
  38. package/dist/components/cfpb-typography/index.css +1 -1
  39. package/dist/components/cfpb-typography/index.css.map +2 -2
  40. package/dist/components/cfpb-typography/index.js +1 -1
  41. package/dist/components/cfpb-typography/index.js.map +1 -1
  42. package/dist/elements/abstracts/index.js +2 -0
  43. package/dist/elements/abstracts/index.js.map +7 -0
  44. package/dist/elements/base/index.css +3 -0
  45. package/dist/elements/base/index.css.map +7 -0
  46. package/dist/elements/base/index.js +2 -0
  47. package/dist/elements/base/index.js.map +7 -0
  48. package/dist/elements/cfpb-button/index.js +4 -4
  49. package/dist/elements/cfpb-button/index.js.map +2 -2
  50. package/dist/elements/cfpb-checkbox-icon/index.js +3 -3
  51. package/dist/elements/cfpb-checkbox-icon/index.js.map +2 -2
  52. package/dist/elements/cfpb-expandable/index.js +4 -4
  53. package/dist/elements/cfpb-expandable/index.js.map +2 -2
  54. package/dist/elements/cfpb-file-upload/index.js +4 -4
  55. package/dist/elements/cfpb-file-upload/index.js.map +3 -3
  56. package/dist/elements/cfpb-form-alert/index.js +3 -3
  57. package/dist/elements/cfpb-form-alert/index.js.map +2 -2
  58. package/dist/elements/cfpb-form-choice/index.js +3 -3
  59. package/dist/elements/cfpb-form-choice/index.js.map +2 -2
  60. package/dist/elements/cfpb-form-search/index.js +3 -3
  61. package/dist/elements/cfpb-form-search/index.js.map +3 -3
  62. package/dist/elements/cfpb-form-search-input/index.js +3 -3
  63. package/dist/elements/cfpb-form-search-input/index.js.map +3 -3
  64. package/dist/elements/cfpb-icon-text/index.js +1 -1
  65. package/dist/elements/cfpb-icon-text/index.js.map +2 -2
  66. package/dist/elements/cfpb-label/index.js +1 -1
  67. package/dist/elements/cfpb-label/index.js.map +2 -2
  68. package/dist/elements/cfpb-list/index.js +3 -3
  69. package/dist/elements/cfpb-list/index.js.map +3 -3
  70. package/dist/elements/cfpb-list-item/index.js +3 -3
  71. package/dist/elements/cfpb-list-item/index.js.map +2 -2
  72. package/dist/elements/cfpb-pagination/index.js +3 -3
  73. package/dist/elements/cfpb-pagination/index.js.map +2 -2
  74. package/dist/elements/cfpb-select/index.js +4 -4
  75. package/dist/elements/cfpb-select/index.js.map +4 -4
  76. package/dist/elements/cfpb-tag-filter/index.js +2 -2
  77. package/dist/elements/cfpb-tag-filter/index.js.map +2 -2
  78. package/dist/elements/cfpb-tag-group/index.js +1 -1
  79. package/dist/elements/cfpb-tag-group/index.js.map +2 -2
  80. package/dist/elements/cfpb-tag-topic/index.js +3 -3
  81. package/dist/elements/cfpb-tag-topic/index.js.map +2 -2
  82. package/dist/elements/index.js +7 -7
  83. package/dist/elements/index.js.map +4 -4
  84. package/dist/index.css +1 -1
  85. package/dist/index.css.map +3 -3
  86. package/dist/index.js +7 -7
  87. package/dist/index.js.map +4 -4
  88. package/dist/utilities/index.css +1 -1
  89. package/dist/utilities/index.css.map +2 -2
  90. package/dist/utilities/index.js +1 -1
  91. package/dist/utilities/index.js.map +2 -2
  92. package/package.json +1 -1
  93. package/src/components/cfpb-buttons/button-group.scss +1 -1
  94. package/src/components/cfpb-buttons/button-link.scss +10 -54
  95. package/src/components/cfpb-buttons/button.scss +3 -3
  96. package/src/components/cfpb-buttons/vars.scss +1 -1
  97. package/src/components/cfpb-expandables/expandable-group.scss +1 -1
  98. package/src/components/cfpb-expandables/expandable.scss +1 -1
  99. package/src/components/cfpb-expandables/summary.scss +1 -1
  100. package/src/components/cfpb-forms/form-alert.scss +1 -1
  101. package/src/components/cfpb-forms/form-field.scss +6 -6
  102. package/src/components/cfpb-forms/form.scss +1 -1
  103. package/src/components/cfpb-forms/label.scss +2 -2
  104. package/src/components/cfpb-forms/multiselect.scss +1 -1
  105. package/src/components/cfpb-forms/range.scss +7 -7
  106. package/src/components/cfpb-forms/search-input.scss +1 -1
  107. package/src/components/cfpb-forms/select.scss +1 -1
  108. package/src/components/cfpb-forms/tag.scss +1 -1
  109. package/src/components/cfpb-forms/text-input.scss +1 -1
  110. package/src/components/cfpb-icons/icon.scss +1 -1
  111. package/src/components/cfpb-layout/card-group.scss +1 -1
  112. package/src/components/cfpb-layout/card.scss +1 -1
  113. package/src/components/cfpb-layout/email-signup.scss +1 -1
  114. package/src/components/cfpb-layout/featured-content-module.scss +1 -1
  115. package/src/components/cfpb-layout/hero.scss +1 -1
  116. package/src/components/cfpb-layout/layout.scss +9 -9
  117. package/src/components/cfpb-layout/well.scss +1 -1
  118. package/src/components/cfpb-notifications/banner.scss +1 -1
  119. package/src/components/cfpb-notifications/notification.scss +1 -1
  120. package/src/components/cfpb-pagination/pagination.scss +1 -1
  121. package/src/components/cfpb-tables/table.scss +1 -1
  122. package/src/components/cfpb-tooltips/tooltip.scss +1 -1
  123. package/src/components/cfpb-typography/date.scss +1 -1
  124. package/src/components/cfpb-typography/list.scss +1 -1
  125. package/src/components/cfpb-typography/meta-header.scss +1 -1
  126. package/src/components/cfpb-typography/mixins.scss +1 -1
  127. package/src/components/cfpb-typography/pull-quote.scss +1 -1
  128. package/src/components/cfpb-typography/slug-header.scss +1 -1
  129. package/src/components/cfpb-typography/tagline.scss +1 -1
  130. package/src/elements/abstracts/custom-props.css +1 -1
  131. package/src/elements/abstracts/sizing-vars.scss +2 -1
  132. package/src/elements/abstracts/vars.css +1 -1
  133. package/src/elements/base/font.scss +1 -1
  134. package/src/elements/cfpb-button/cfpb-button-group.scss +8 -6
  135. package/src/elements/cfpb-button/cfpb-button-link.scss +54 -47
  136. package/src/elements/cfpb-button/cfpb-button.scss +168 -172
  137. package/src/elements/cfpb-button/index.js +16 -1
  138. package/src/elements/cfpb-button/vars.css +1 -1
  139. package/src/elements/cfpb-expandable/cfpb-expandable.component.scss +2 -2
  140. package/src/elements/cfpb-file-upload/index.js +9 -9
  141. package/src/elements/cfpb-form-search-input/index.js +4 -0
  142. package/src/elements/cfpb-icon-text/cfpb-icon-text.component.scss +2 -1
  143. package/src/elements/cfpb-list/cfpb-list.component.scss +19 -8
  144. package/src/elements/cfpb-list/index.js +62 -40
  145. package/src/elements/cfpb-list/index.spec.js +66 -21
  146. package/src/elements/cfpb-select/cfpb-select.component.scss +2 -2
  147. package/src/elements/cfpb-select/index.js +60 -70
  148. package/src/elements/cfpb-select/multiple-select-event-proxy.js +88 -0
  149. package/src/elements/cfpb-select/single-select-event-proxy.js +47 -0
  150. package/src/elements/cfpb-tag-topic/cfpb-tag-topic.component.scss +2 -2
  151. package/src/index.js +2 -2
  152. package/src/index.scss +3 -2
  153. package/src/utilities/breakpoint-state.js +1 -1
  154. package/src/utilities/utilities.scss +1 -1
  155. package/src/abstracts/custom-props.scss +0 -175
  156. package/src/abstracts/grid-mixins.scss +0 -82
  157. package/src/abstracts/heading-mixins.scss +0 -345
  158. package/src/abstracts/index.scss +0 -6
  159. package/src/abstracts/media-queries.scss +0 -35
  160. package/src/abstracts/vars-breakpoints.scss +0 -16
  161. package/src/abstracts/vars.scss +0 -184
  162. package/src/base/base.scss +0 -375
  163. package/src/base/font.scss +0 -27
  164. package/src/base/index.scss +0 -3
  165. package/src/base/normalize.scss +0 -290
  166. /package/src/{abstracts → elements/abstracts}/index.js +0 -0
  167. /package/src/{abstracts → elements/abstracts}/vars-breakpoints.js +0 -0
  168. /package/src/{base → elements/base}/index.js +0 -0
@@ -0,0 +1,88 @@
1
+ export class MultipleSelectEventProxy {
2
+ constructor({ list, input, tagGroup, flyout }) {
3
+ this.list = list;
4
+ this.input = input;
5
+ this.tagGroup = tagGroup;
6
+ this.flyout = flyout;
7
+ }
8
+
9
+ onClick(evt, host) {
10
+ const target = evt.currentTarget;
11
+
12
+ if (target.tagName === 'CFPB-FORM-SEARCH-INPUT') {
13
+ host.isExpanded ? this.flyout()?.suspend() : this.flyout()?.expand();
14
+ } else {
15
+ this.flyout()?.resume();
16
+ }
17
+ }
18
+
19
+ onItemClick(evt, host) {
20
+ host.optionList = this.list.childData ?? [];
21
+ evt.currentTarget.focusItemAt(evt.detail.index);
22
+ //host.requestUpdate();
23
+ }
24
+
25
+ onTagClick(evt, host) {
26
+ const remaining =
27
+ this.tagGroup.tagList.filter((tag) => tag !== evt.detail.target) ?? [];
28
+
29
+ host.optionList = host.optionList.map((item) => ({
30
+ ...item,
31
+ checked: remaining.some((tag) => tag.value === item.value),
32
+ }));
33
+
34
+ //host.requestUpdate();
35
+ }
36
+
37
+ onKeyDown(evt, host) {
38
+ const focused = host.shadowRoot.activeElement.tagName;
39
+
40
+ if (focused === 'CFPB-FORM-SEARCH-INPUT') {
41
+ switch (evt.key) {
42
+ case 'Tab':
43
+ evt.preventDefault();
44
+ if (evt.shiftKey) {
45
+ if (host.isExpanded) host.isExpanded = false;
46
+ this.input.focus();
47
+ } else {
48
+ if (!host.isExpanded) host.isExpanded = true;
49
+ this.list.focusItemAt(0);
50
+ }
51
+ break;
52
+ case 'ArrowDown':
53
+ evt.preventDefault();
54
+ if (!host.isExpanded) host.isExpanded = true;
55
+ else this.list.focusItemAt(0);
56
+ break;
57
+ case 'Enter':
58
+ evt.preventDefault();
59
+ host.isExpanded = !host.isExpanded;
60
+ break;
61
+ }
62
+ }
63
+
64
+ if (focused === 'CFPB-LIST-ITEM') {
65
+ switch (evt.key) {
66
+ case 'Tab':
67
+ if (evt.shiftKey) {
68
+ if (this.list.focusedIndex === 0) {
69
+ //host.shadowRoot.activeElement.blur();
70
+ evt.preventDefault();
71
+ this.list.focusItemAt(-1);
72
+ this.input.focus();
73
+ }
74
+ }
75
+ break;
76
+ }
77
+ }
78
+
79
+ if (evt.key === 'Escape') {
80
+ evt.preventDefault();
81
+ host.isExpanded = false;
82
+ }
83
+ }
84
+
85
+ onFocus() {
86
+ this.input.focus();
87
+ }
88
+ }
@@ -0,0 +1,47 @@
1
+ export class SingleSelectEventProxy {
2
+ constructor({ list, displayLabel, header }) {
3
+ this.list = list;
4
+ this.displayLabel = displayLabel;
5
+ this.header = header;
6
+ }
7
+
8
+ onClick(evt, host) {
9
+ if (evt.currentTarget.classList.contains('o-select__label')) {
10
+ this.header.focus();
11
+ host.isExpanded = !host.isExpanded;
12
+ }
13
+ }
14
+
15
+ onItemClick(evt, host) {
16
+ const selected = this.list.checkedItems[0]?.value ?? '';
17
+
18
+ if (this.displayLabel) {
19
+ this.displayLabel.textContent = selected;
20
+ }
21
+
22
+ host.optionList = host.optionList.map((item) => ({
23
+ ...item,
24
+ checked: item.value === selected,
25
+ }));
26
+
27
+ //host.requestUpdate();
28
+ host.isExpanded = false;
29
+ }
30
+
31
+ onKeyDown(evt, host) {
32
+ const focused = host.shadowRoot.activeElement.tagName;
33
+ if (focused === 'BUTTON') {
34
+ switch (evt.key) {
35
+ case 'ArrowDown':
36
+ evt.preventDefault();
37
+ host.isExpanded = true;
38
+ this.list.querySelector('cfpb-list-item')?.focus();
39
+ break;
40
+ }
41
+ }
42
+ }
43
+
44
+ onFocus() {
45
+ // Additional actions done on focus can be added here.
46
+ }
47
+ }
@@ -1,6 +1,6 @@
1
1
  @use 'sass:math';
2
- @use '@cfpb/cfpb-design-system/src/base' as *;
3
- @use '@cfpb/cfpb-design-system/src/abstracts' as *;
2
+ @use '@cfpb/cfpb-design-system/src/elements/base' as *;
3
+ @use '@cfpb/cfpb-design-system/src/elements/abstracts' as *;
4
4
  @use '@cfpb/cfpb-design-system/src/utilities' as *;
5
5
  @use '@cfpb/cfpb-design-system/src/components/cfpb-typography/mixins' as *;
6
6
 
package/src/index.js CHANGED
@@ -2,9 +2,9 @@
2
2
  Design System
3
3
  ========================================================================== */
4
4
 
5
- export * from './abstracts';
5
+ export * from './elements/abstracts';
6
6
 
7
- export * from './base';
7
+ export * from './elements/base';
8
8
 
9
9
  export * from './components/cfpb-buttons';
10
10
  export * from './components/cfpb-expandables';
package/src/index.scss CHANGED
@@ -1,5 +1,3 @@
1
- @forward 'abstracts';
2
- @forward 'base';
3
1
 
4
2
  // Buttons.
5
3
  @forward 'components/cfpb-buttons/vars';
@@ -75,3 +73,6 @@
75
73
  @forward 'elements/cfpb-button/cfpb-button-link';
76
74
  @forward 'elements/cfpb-button/cfpb-button.component';
77
75
  @forward 'elements/cfpb-button/vars';
76
+
77
+ // cfpb-icon-text
78
+ @forward 'elements/cfpb-icon-text/cfpb-icon-text.component';
@@ -2,7 +2,7 @@
2
2
  Get Breakpoint State
3
3
  ========================================================================== */
4
4
 
5
- import { varsBreakpoints } from '../abstracts/vars-breakpoints.js';
5
+ import { varsBreakpoints } from '../elements/abstracts/vars-breakpoints.js';
6
6
 
7
7
  /**
8
8
  * @returns {number} The base font size set on the body element.
@@ -1,6 +1,6 @@
1
1
  @use 'sass:math';
2
2
  @use 'sass:string';
3
- @use '../abstracts' as *;
3
+ @use '@cfpb/cfpb-design-system/src/elements/abstracts' as *;
4
4
 
5
5
  /* ==========================================================================
6
6
  Design System
@@ -1,175 +0,0 @@
1
- @mixin define-custom-props() {
2
- :root {
3
- // Default font variable.
4
- --font-stack: system-ui, sans-serif;
5
-
6
- /* ==========================================================================
7
- Design System
8
- Color variables
9
- ========================================================================== */
10
-
11
- // Official CFPB color palette.
12
- // Current as of November 20, 2020.
13
- // To view the colors in the Design System, visit:
14
- // https://cfpb.github.io/design-system/foundation/color
15
- //
16
- // | Beige | Green | Teal | Pacific | Navy | Purple | Red | Gold | Neutral | Gray |
17
- // | ------ | ------ | ------ | ------- | ------ | ------ | ------ | ------ | ------- | ------ |
18
- // darker | | | | | | | | | | 293037 |
19
- // dark | | 1e9642 | 005e5d | 0050b4 | 002d72 | a01b68 | b63014 | dc731c | 745745 | 43484e |
20
- // mid-dark | | 1fa040 | 126b69 | 0061c1 | 123c7c | aa2071 | c3381c | ed881b | 7d604b | 4f5257 |
21
- // base | bea96f | 20aa3f | 257675 | 0072ce | 254b87 | b4267a | d14124 | ff9e1b | 8a6c57 | 5a5d61 |
22
- // 90 | | 48b753 | 3e8685 | 2284d5 | 3e5f95 | be438b | d75a40 | ffab39 | 957865 | 676a6f |
23
- // 80 | | 66c368 | 579695 | 4497dc | 5674a3 | c55998 | dd735d | ffb858 | a18573 | 75787b |
24
- // 70 | | 93cf7c | 70a6a5 | 61a7e2 | 6f88b2 | cd70a5 | e28875 | ffc372 | ad9484 | 838588 |
25
- // 60 | d8c8a0 | addc91 | 89b6b5 | 7eb7e8 | 889cc0 | d486b2 | e79e8e | ffce8d | baa496 | 919395 |
26
- // 50 | | bae0a2 | 9ec4c3 | 96c4ed | 9daecc | dc9cbf | ebb0a3 | ffd8a3 | c6b4a9 | a2a3a4 |
27
- // 40 | | c7e5b3 | b4d2d1 | afd2f2 | b3c0d9 | e3b2cc | f0c3b8 | ffe1b9 | d3c5bc | b4b5b6 |
28
- // 30 | f0e8d8 | d4eac6 | c4dddc | c3ddf6 | c3cde2 | ebc9d9 | f3d1c8 | ffe8cb | ddd1c9 | c3c4c4 |
29
- // 20 | | e2efd8 | d4e7e6 | d6e8fa | d3daeb | f0d8e2 | f7e0d9 | fff0dd | e7ddd7 | d2d3d5 |
30
- // 15 | | | | | | | | | | dcdddf |
31
- // 10 | | f0f8eb | f0f7f6 | eff8fd | f4f6fa | fdf3f8 | fbefec | fff6ec | f8f5f2 | e7e8e9 |
32
- // 5 | | | | | | | | | | f7f8f9 |
33
- //
34
- // CFPB Black: 101820
35
- // CFPB White: ffffff
36
-
37
- // Beige family
38
- --beige: #bea96f;
39
- --beige-30: #f0e8d8;
40
- --beige-60: #d8c8a0;
41
-
42
- // Green family
43
- --green-dark: #1e9642;
44
- --green-mid-dark: #1fa040;
45
- --green: #20aa3f; // Primary brand green color, aka "CFPB Green"
46
- --green-90: #48b753;
47
- --green-80: #66c368;
48
- --green-70: #93cf7c;
49
- --green-60: #addc91;
50
- --green-50: #bae0a2;
51
- --green-40: #c7e5b3;
52
- --green-30: #d4eac6;
53
- --green-20: #e2efd8;
54
- --green-10: #f0f8eb;
55
-
56
- // Teal family
57
- --teal-dark: #005e5d;
58
- --teal-mid-dark: #126b69;
59
- --teal: #257675;
60
- --teal-90: #3e8685;
61
- --teal-80: #579695;
62
- --teal-70: #70a6a5;
63
- --teal-60: #89b6b5;
64
- --teal-50: #9ec4c3;
65
- --teal-40: #b4d2d1;
66
- --teal-30: #c4dddc;
67
- --teal-20: #d4e7e6;
68
- --teal-10: #f0f7f6;
69
-
70
- // Pacific family
71
- --pacific-dark: #0050b4;
72
- --pacific-mid-dark: #0061c1;
73
- --pacific: #0072ce;
74
- --pacific-90: #2284d5;
75
- --pacific-80: #4497dc;
76
- --pacific-70: #61a7e2;
77
- --pacific-60: #7eb7e8;
78
- --pacific-50: #96c4ed;
79
- --pacific-40: #afd2f2;
80
- --pacific-30: #c3ddf6;
81
- --pacific-20: #d6e8fa;
82
- --pacific-10: #eff8fd;
83
-
84
- // Navy family
85
- --navy-dark: #002d72;
86
- --navy-mid-dark: #123c7c;
87
- --navy: #254b87;
88
- --navy-90: #3e5f95;
89
- --navy-80: #5674a3;
90
- --navy-70: #6f88b2;
91
- --navy-60: #889cc0;
92
- --navy-50: #9daecc;
93
- --navy-40: #b3c0d9;
94
- --navy-30: #c3cde2;
95
- --navy-20: #d3daeb;
96
- --navy-10: #f4f6fa;
97
-
98
- // Purple family
99
- --purple-dark: #a01b68;
100
- --purple-mid-dark: #aa2071;
101
- --purple: #b4267a;
102
- --purple-90: #be438b;
103
- --purple-80: #c55998;
104
- --purple-70: #cd70a5;
105
- --purple-60: #d486b2;
106
- --purple-50: #dc9cbf;
107
- --purple-40: #e3b2cc;
108
- --purple-30: #ebc9d9;
109
- --purple-20: #f0d8e2;
110
- --purple-10: #fdf3f8;
111
-
112
- // Red family
113
- --red-dark: #b63014;
114
- --red-mid-dark: #c3381c;
115
- --red: #d14124;
116
- --red-90: #d75a40;
117
- --red-80: #dd735d;
118
- --red-70: #e28875;
119
- --red-60: #e79e8e;
120
- --red-50: #ebb0a3;
121
- --red-40: #f0c3b8;
122
- --red-30: #f3d1c8;
123
- --red-20: #f7e0d9;
124
- --red-10: #fbefec;
125
-
126
- // Gold family
127
- --gold-dark: #dc731c;
128
- --gold-mid-dark: #ed881b;
129
- --gold: #ff9e1b;
130
- --gold-90: #ffab39;
131
- --gold-80: #ffb858;
132
- --gold-70: #ffc372;
133
- --gold-60: #ffce8d;
134
- --gold-50: #ffd8a3;
135
- --gold-40: #ffe1b9;
136
- --gold-30: #ffe8cb;
137
- --gold-20: #fff0dd;
138
- --gold-10: #fff6ec;
139
-
140
- // Neutral family
141
- --neutral-dark: #745745;
142
- --neutral-mid-dark: #7d604b;
143
- --neutral: #8a6c57;
144
- --neutral-90: #957865;
145
- --neutral-80: #a18573;
146
- --neutral-70: #ad9484;
147
- --neutral-60: #baa496;
148
- --neutral-50: #c6b4a9;
149
- --neutral-40: #d3c5bc;
150
- --neutral-30: #ddd1c9;
151
- --neutral-20: #e7ddd7;
152
- --neutral-10: #f8f5f2;
153
-
154
- // Gray family
155
- --gray-darker: #293037;
156
- --gray-dark: #43484e;
157
- --gray-mid-dark: #4f5257;
158
- --gray: #5a5d61;
159
- --gray-90: #676a6f;
160
- --gray-80: #75787b;
161
- --gray-70: #838588;
162
- --gray-60: #919395;
163
- --gray-50: #a2a3a4;
164
- --gray-40: #b4b5b6;
165
- --gray-30: #c3c4c4;
166
- --gray-20: #d2d3d5;
167
- --gray-15: #dcdddf;
168
- --gray-10: #e7e8e9;
169
- --gray-5: #f7f8f9;
170
-
171
- // …with special guests.
172
- --black: #101820; // Also known as "CFPB Black"
173
- --white: #fff;
174
- }
175
- }
@@ -1,82 +0,0 @@
1
- @use 'sass:math';
2
- @use './vars.scss' as *;
3
-
4
- /* ==========================================================================
5
- Design System
6
- Grid mixins
7
- ========================================================================== */
8
-
9
- //
10
- // Wrapper
11
- //
12
-
13
- /* stylelint-disable selector-class-pattern */
14
- @mixin u-grid-wrapper($grid-wrapper-width: $grid-wrapper-width) {
15
- /* stylelint-enable */
16
- max-width: ($grid-wrapper-width - $grid-gutter-width);
17
- padding-right: math.div($grid-gutter-width, 2);
18
- padding-left: math.div($grid-gutter-width, 2);
19
- margin: 0 auto;
20
- clear: both;
21
- }
22
-
23
- //
24
- // Columns
25
- //
26
-
27
- /* stylelint-disable selector-class-pattern */
28
- @mixin u-grid-column($columns: 1, $total: $grid-total-columns) {
29
- /* stylelint-enable */
30
- display: inline-block;
31
- box-sizing: border-box;
32
-
33
- // To calculate the percentage width of the base element, we take the number of
34
- // columns it'll span and divide by the total number of columns. As columns are
35
- // specified as inline-block elements, standard columns require no further math.
36
- //
37
- // num cols used
38
- // column width in % = -------------
39
- // total cols
40
-
41
- width: math.percentage(math.div($columns, $total));
42
-
43
- border: solid transparent;
44
- border-width: 0 math.div($grid-gutter-width, 2);
45
-
46
- // Remove whitespace caused by setting display to inline-block
47
- margin-right: -0.25em;
48
- vertical-align: top;
49
- }
50
-
51
- //
52
- // Push and Pull mixins for source ordering
53
- //
54
-
55
- /* stylelint-disable selector-class-pattern */
56
- @mixin u-grid-push($offset: 1, $grid-total-columns: $grid-total-columns) {
57
- /* stylelint-enable */
58
- $push: math.percentage(math.div($offset, $grid-total-columns));
59
-
60
- position: relative;
61
- left: $push;
62
- }
63
-
64
- /* stylelint-disable selector-class-pattern */
65
- @mixin u-grid-pull($offset: 1, $grid-total-columns: $grid-total-columns) {
66
- /* stylelint-enable */
67
- $pull: math.percentage(math.div($offset, $grid-total-columns));
68
-
69
- position: relative;
70
- right: $pull;
71
- }
72
-
73
- //
74
- // Nested columns
75
- //
76
-
77
- @mixin u-grid-nested-col-group() {
78
- display: block;
79
- position: relative;
80
- margin-left: math.div($grid-gutter-width, 2) * -1;
81
- margin-right: math.div($grid-gutter-width, 2) * -1;
82
- }