@cfpb/cfpb-design-system 4.2.4 → 4.3.1

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 (218) hide show
  1. package/CHANGELOG.md +186 -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 +4 -4
  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 +3 -3
  50. package/dist/elements/cfpb-checkbox-icon/index.js +29 -0
  51. package/dist/elements/{cfpb-checkbox → cfpb-checkbox-icon}/index.js.map +4 -4
  52. package/dist/elements/cfpb-expandable/index.css +2 -0
  53. package/dist/elements/cfpb-expandable/index.css.map +7 -0
  54. package/dist/elements/cfpb-expandable/index.js +33 -0
  55. package/dist/elements/cfpb-expandable/index.js.map +7 -0
  56. package/dist/elements/cfpb-file-upload/index.js +4 -4
  57. package/dist/elements/cfpb-file-upload/index.js.map +3 -3
  58. package/dist/elements/cfpb-form-alert/index.js +32 -0
  59. package/dist/elements/cfpb-form-alert/index.js.map +7 -0
  60. package/dist/elements/cfpb-form-choice/index.js +12 -3
  61. package/dist/elements/cfpb-form-choice/index.js.map +4 -4
  62. package/dist/elements/cfpb-form-search/index.js +41 -0
  63. package/dist/elements/cfpb-form-search/index.js.map +7 -0
  64. package/dist/elements/cfpb-form-search-input/index.js +41 -0
  65. package/dist/elements/cfpb-form-search-input/index.js.map +7 -0
  66. package/dist/elements/cfpb-icon-text/index.js +3 -3
  67. package/dist/elements/cfpb-icon-text/index.js.map +3 -3
  68. package/dist/elements/cfpb-label/index.js +3 -3
  69. package/dist/elements/cfpb-label/index.js.map +2 -2
  70. package/dist/elements/cfpb-list/index.js +39 -0
  71. package/dist/elements/cfpb-list/index.js.map +7 -0
  72. package/dist/elements/cfpb-list-item/index.js +39 -0
  73. package/dist/elements/cfpb-list-item/index.js.map +7 -0
  74. package/dist/elements/cfpb-multiselect/index.js +13 -4
  75. package/dist/elements/cfpb-multiselect/index.js.map +4 -4
  76. package/dist/elements/cfpb-pagination/index.js +3 -3
  77. package/dist/elements/cfpb-pagination/index.js.map +2 -2
  78. package/dist/elements/cfpb-select/index.css +2 -0
  79. package/dist/elements/cfpb-select/index.css.map +7 -0
  80. package/dist/elements/cfpb-select/index.js +42 -0
  81. package/dist/elements/cfpb-select/index.js.map +7 -0
  82. package/dist/elements/cfpb-select-list/index.js +39 -0
  83. package/dist/elements/cfpb-select-list/index.js.map +7 -0
  84. package/dist/elements/cfpb-tag-filter/index.js +3 -3
  85. package/dist/elements/cfpb-tag-filter/index.js.map +3 -3
  86. package/dist/elements/cfpb-tag-group/index.js +3 -3
  87. package/dist/elements/cfpb-tag-group/index.js.map +4 -4
  88. package/dist/elements/cfpb-tag-topic/index.js +4 -4
  89. package/dist/elements/cfpb-tag-topic/index.js.map +2 -2
  90. package/dist/elements/index.css +2 -0
  91. package/dist/elements/index.css.map +7 -0
  92. package/dist/elements/index.js +7 -6
  93. package/dist/elements/index.js.map +4 -4
  94. package/dist/index.css +1 -1
  95. package/dist/index.css.map +3 -3
  96. package/dist/index.js +7 -6
  97. package/dist/index.js.map +4 -4
  98. package/dist/utilities/index.css +1 -1
  99. package/dist/utilities/index.css.map +2 -2
  100. package/dist/utilities/index.js +1 -1
  101. package/dist/utilities/index.js.map +4 -4
  102. package/package.json +1 -1
  103. package/src/components/cfpb-buttons/button-group.scss +1 -1
  104. package/src/components/cfpb-buttons/button-link.scss +10 -54
  105. package/src/components/cfpb-buttons/button.scss +3 -3
  106. package/src/components/cfpb-buttons/vars.scss +1 -1
  107. package/src/components/cfpb-expandables/expandable-group.scss +1 -1
  108. package/src/components/cfpb-expandables/expandable.js +3 -0
  109. package/src/components/cfpb-expandables/expandable.scss +1 -1
  110. package/src/components/cfpb-expandables/summary.scss +1 -1
  111. package/src/components/cfpb-forms/form-alert.scss +1 -1
  112. package/src/components/cfpb-forms/form-field.scss +6 -6
  113. package/src/components/cfpb-forms/form.scss +1 -1
  114. package/src/components/cfpb-forms/label.scss +2 -2
  115. package/src/components/cfpb-forms/multiselect.js +1 -1
  116. package/src/components/cfpb-forms/multiselect.scss +1 -1
  117. package/src/components/cfpb-forms/range.scss +7 -7
  118. package/src/components/cfpb-forms/search-input.scss +1 -1
  119. package/src/components/cfpb-forms/select.scss +1 -1
  120. package/src/components/cfpb-forms/tag.scss +1 -1
  121. package/src/components/cfpb-forms/text-input.scss +1 -1
  122. package/src/components/cfpb-icons/icon.scss +1 -1
  123. package/src/components/cfpb-layout/card-group.scss +1 -1
  124. package/src/components/cfpb-layout/card.scss +1 -1
  125. package/src/components/cfpb-layout/email-signup.scss +1 -1
  126. package/src/components/cfpb-layout/featured-content-module.scss +1 -1
  127. package/src/components/cfpb-layout/hero.scss +1 -1
  128. package/src/components/cfpb-layout/layout.scss +9 -9
  129. package/src/components/cfpb-layout/well.scss +1 -1
  130. package/src/components/cfpb-notifications/banner.scss +1 -1
  131. package/src/components/cfpb-notifications/notification.scss +1 -1
  132. package/src/components/cfpb-pagination/pagination.scss +1 -1
  133. package/src/components/cfpb-tables/table.scss +1 -1
  134. package/src/components/cfpb-tooltips/tooltip.scss +1 -1
  135. package/src/components/cfpb-typography/date.scss +1 -1
  136. package/src/components/cfpb-typography/list.scss +1 -1
  137. package/src/components/cfpb-typography/meta-header.scss +1 -1
  138. package/src/components/cfpb-typography/mixins.scss +1 -1
  139. package/src/components/cfpb-typography/pull-quote.scss +1 -1
  140. package/src/components/cfpb-typography/slug-header.scss +1 -1
  141. package/src/components/cfpb-typography/tagline.scss +1 -1
  142. package/src/elements/abstracts/custom-props.css +123 -0
  143. package/src/{abstracts → elements/abstracts}/grid-mixins.scss +2 -1
  144. package/src/{abstracts → elements/abstracts}/heading-mixins.scss +1 -0
  145. package/src/{abstracts → elements/abstracts}/index.scss +1 -0
  146. package/src/{abstracts → elements/abstracts}/media-queries.scss +1 -1
  147. package/src/elements/abstracts/sizing-vars.scss +66 -0
  148. package/src/elements/abstracts/vars.css +79 -0
  149. package/src/{base → elements/base}/base.scss +14 -14
  150. package/src/elements/cfpb-button/cfpb-button-group.scss +12 -0
  151. package/src/elements/cfpb-button/cfpb-button-link.scss +103 -0
  152. package/src/elements/cfpb-button/cfpb-button.component.scss +11 -4
  153. package/src/elements/cfpb-button/cfpb-button.scss +218 -0
  154. package/src/elements/cfpb-button/index.js +44 -30
  155. package/src/elements/cfpb-button/vars.css +30 -0
  156. package/src/elements/cfpb-checkbox-icon/cfpb-checkbox-icon.component.scss +88 -0
  157. package/src/elements/cfpb-checkbox-icon/index.js +104 -0
  158. package/src/elements/cfpb-expandable/cfpb-expandable.component.scss +218 -0
  159. package/src/elements/cfpb-expandable/index.js +127 -0
  160. package/src/elements/cfpb-file-upload/cfpb-file-upload.component.scss +2 -2
  161. package/src/elements/cfpb-file-upload/index.js +25 -27
  162. package/src/elements/cfpb-form-alert/cfpb-form-alert.component.scss +36 -0
  163. package/src/elements/cfpb-form-alert/index.js +55 -0
  164. package/src/elements/cfpb-form-choice/cfpb-form-choice.component.scss +42 -81
  165. package/src/elements/cfpb-form-choice/index.js +58 -18
  166. package/src/elements/cfpb-form-search/cfpb-form-search.component.scss +54 -0
  167. package/src/elements/cfpb-form-search/index.js +194 -0
  168. package/src/elements/cfpb-form-search-input/cfpb-form-search-input.component.scss +217 -0
  169. package/src/elements/cfpb-form-search-input/index.js +140 -0
  170. package/src/elements/cfpb-icon-text/cfpb-icon-text.component.scss +33 -39
  171. package/src/elements/cfpb-icon-text/index.js +32 -104
  172. package/src/elements/cfpb-label/cfpb-label.component.scss +2 -2
  173. package/src/elements/cfpb-label/index.js +6 -9
  174. package/src/elements/cfpb-list/cfpb-list.component.scss +34 -0
  175. package/src/elements/cfpb-list/index.js +379 -0
  176. package/src/elements/cfpb-list/index.spec.js +214 -0
  177. package/src/elements/cfpb-list-item/cfpb-list-item.component.scss +69 -0
  178. package/src/elements/cfpb-list-item/index.js +215 -0
  179. package/src/elements/cfpb-pagination/cfpb-pagination.component.scss +2 -7
  180. package/src/elements/cfpb-pagination/index.js +6 -8
  181. package/src/elements/cfpb-select/cfpb-select.component.scss +241 -0
  182. package/src/elements/cfpb-select/index.js +371 -0
  183. package/src/elements/cfpb-select/multiple-select-event-proxy.js +88 -0
  184. package/src/elements/cfpb-select/single-select-event-proxy.js +47 -0
  185. package/src/elements/cfpb-tag-filter/cfpb-tag-filter.component.scss +6 -3
  186. package/src/elements/cfpb-tag-filter/index.js +15 -7
  187. package/src/elements/cfpb-tag-group/cfpb-tag-group.component.scss +2 -2
  188. package/src/elements/cfpb-tag-group/index.js +53 -6
  189. package/src/elements/cfpb-tag-topic/cfpb-tag-topic.component.scss +2 -2
  190. package/src/elements/cfpb-tag-topic/index.js +5 -7
  191. package/src/elements/cfpb-utilities/parse-child-data.js +50 -0
  192. package/src/elements/cfpb-utilities/parse-child-data.spec.js +56 -0
  193. package/src/elements/cfpb-utilities/search-service.js +46 -0
  194. package/src/elements/cfpb-utilities/search-service.spec.js +138 -0
  195. package/src/elements/cfpb-utilities/transition/transition.scss +98 -0
  196. package/src/elements/index.js +7 -1
  197. package/src/index.js +2 -2
  198. package/src/index.scss +14 -2
  199. package/src/tokens/abstracts/custom-props.json +1642 -0
  200. package/src/tokens/abstracts/vars.json +1319 -0
  201. package/src/tokens/cfpb-button/vars.json +436 -0
  202. package/src/utilities/breakpoint-state.js +1 -1
  203. package/src/utilities/transition/max-height-transition.js +74 -0
  204. package/src/utilities/utilities.scss +1 -1
  205. package/dist/elements/cfpb-checkbox/index.js +0 -29
  206. package/src/abstracts/custom-props.scss +0 -175
  207. package/src/abstracts/vars.scss +0 -184
  208. package/src/elements/cfpb-multiselect/cfpb-multiselect.component.scss +0 -225
  209. package/src/elements/cfpb-multiselect/index.js +0 -444
  210. package/src/elements/cfpb-multiselect/multiselect-model.js +0 -288
  211. package/src/elements/cfpb-multiselect/multiselect-model.spec.js +0 -236
  212. /package/src/{abstracts → elements/abstracts}/index.js +0 -0
  213. /package/src/{abstracts → elements/abstracts}/vars-breakpoints.js +0 -0
  214. /package/src/{abstracts → elements/abstracts}/vars-breakpoints.scss +0 -0
  215. /package/src/{base → elements/base}/font.scss +0 -0
  216. /package/src/{base → elements/base}/index.js +0 -0
  217. /package/src/{base → elements/base}/index.scss +0 -0
  218. /package/src/{base → elements/base}/normalize.scss +0 -0
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ :root {
6
+ --beige: #bea96f;
7
+ --beige-30: #f0e8d8;
8
+ --beige-60: #d8c8a0;
9
+ --black: #101820;
10
+ --font-stack: system-ui, sans-serif;
11
+ --gold: #ff9e1b;
12
+ --gold-10: #fff6ec;
13
+ --gold-20: #fff0dd;
14
+ --gold-30: #ffe8cb;
15
+ --gold-40: #ffe1b9;
16
+ --gold-50: #ffd8a3;
17
+ --gold-60: #ffce8d;
18
+ --gold-70: #ffc372;
19
+ --gold-80: #ffb858;
20
+ --gold-90: #ffab39;
21
+ --gold-dark: #dc731c;
22
+ --gold-mid-dark: #ed881b;
23
+ --gray: #5a5d61;
24
+ --gray-10: #e7e8e9;
25
+ --gray-15: #dcdddf;
26
+ --gray-20: #d2d3d5;
27
+ --gray-30: #c3c4c4;
28
+ --gray-40: #b4b5b6;
29
+ --gray-5: #f7f8f9;
30
+ --gray-50: #a2a3a4;
31
+ --gray-60: #919395;
32
+ --gray-70: #838588;
33
+ --gray-80: #75787b;
34
+ --gray-90: #676a6f;
35
+ --gray-dark: #43484e;
36
+ --gray-darker: #293037;
37
+ --gray-mid-dark: #4f5257;
38
+ --green: #20aa3f;
39
+ --green-10: #f0f8eb;
40
+ --green-20: #e2efd8;
41
+ --green-30: #d4eac6;
42
+ --green-40: #c7e5b3;
43
+ --green-50: #bae0a2;
44
+ --green-60: #addc91;
45
+ --green-70: #93cf7c;
46
+ --green-80: #66c368;
47
+ --green-90: #48b753;
48
+ --green-dark: #1e9642;
49
+ --green-mid-dark: #1fa040;
50
+ --navy: #254b87;
51
+ --navy-10: #f4f6fa;
52
+ --navy-20: #d3daeb;
53
+ --navy-30: #c3cde2;
54
+ --navy-40: #b3c0d9;
55
+ --navy-50: #9daecc;
56
+ --navy-60: #889cc0;
57
+ --navy-70: #6f88b2;
58
+ --navy-80: #5674a3;
59
+ --navy-90: #3e5f95;
60
+ --navy-dark: #002d72;
61
+ --navy-mid-dark: #123c7c;
62
+ --neutral: #8a6c57;
63
+ --neutral-10: #f8f5f2;
64
+ --neutral-20: #e7ddd7;
65
+ --neutral-30: #ddd1c9;
66
+ --neutral-40: #d3c5bc;
67
+ --neutral-50: #c6b4a9;
68
+ --neutral-60: #baa496;
69
+ --neutral-70: #ad9484;
70
+ --neutral-80: #a18573;
71
+ --neutral-90: #957865;
72
+ --neutral-dark: #745745;
73
+ --neutral-mid-dark: #7d604b;
74
+ --pacific: #0072ce;
75
+ --pacific-10: #eff8fd;
76
+ --pacific-20: #d6e8fa;
77
+ --pacific-30: #c3ddf6;
78
+ --pacific-40: #afd2f2;
79
+ --pacific-50: #96c4ed;
80
+ --pacific-60: #7eb7e8;
81
+ --pacific-70: #61a7e2;
82
+ --pacific-80: #4497dc;
83
+ --pacific-90: #2284d5;
84
+ --pacific-dark: #0050b4;
85
+ --pacific-mid-dark: #0061c1;
86
+ --purple: #b4267a;
87
+ --purple-10: #fdf3f8;
88
+ --purple-20: #f0d8e2;
89
+ --purple-30: #ebc9d9;
90
+ --purple-40: #e3b2cc;
91
+ --purple-50: #dc9cbf;
92
+ --purple-60: #d486b2;
93
+ --purple-70: #cd70a5;
94
+ --purple-80: #c55998;
95
+ --purple-90: #be438b;
96
+ --purple-dark: #a01b68;
97
+ --purple-mid-dark: #aa2071;
98
+ --red: #d14124;
99
+ --red-10: #fbefec;
100
+ --red-20: #f7e0d9;
101
+ --red-30: #f3d1c8;
102
+ --red-40: #f0c3b8;
103
+ --red-50: #ebb0a3;
104
+ --red-60: #e79e8e;
105
+ --red-70: #e28875;
106
+ --red-80: #dd735d;
107
+ --red-90: #d75a40;
108
+ --red-dark: #b63014;
109
+ --red-mid-dark: #c3381c;
110
+ --teal: #257675;
111
+ --teal-10: #f0f7f6;
112
+ --teal-20: #d4e7e6;
113
+ --teal-30: #c4dddc;
114
+ --teal-40: #b4d2d1;
115
+ --teal-50: #9ec4c3;
116
+ --teal-60: #89b6b5;
117
+ --teal-70: #70a6a5;
118
+ --teal-80: #579695;
119
+ --teal-90: #3e8685;
120
+ --teal-dark: #005e5d;
121
+ --teal-mid-dark: #126b69;
122
+ --white: #ffffff;
123
+ }
@@ -1,5 +1,6 @@
1
1
  @use 'sass:math';
2
- @use './vars.scss' as *;
2
+ @use './vars' as *;
3
+ @use './sizing-vars' as *;
3
4
 
4
5
  /* ==========================================================================
5
6
  Design System
@@ -2,6 +2,7 @@
2
2
  @use './vars' as *;
3
3
  @use './vars-breakpoints' as *;
4
4
  @use './media-queries' as *;
5
+ @use './sizing-vars' as *;
5
6
 
6
7
  /* ==========================================================================
7
8
  Design System
@@ -4,3 +4,4 @@
4
4
  @forward 'grid-mixins';
5
5
  @forward 'heading-mixins';
6
6
  @forward 'media-queries';
7
+ @forward 'sizing-vars';
@@ -1,5 +1,5 @@
1
1
  @use 'sass:math';
2
- @use './vars' as *;
2
+ @use './sizing-vars' as *;
3
3
 
4
4
  /* ==========================================================================
5
5
  Design System
@@ -0,0 +1,66 @@
1
+ @use 'sass:math';
2
+
3
+ // Seperating sizing vars out because for now we are only doing JSON color tokens
4
+ // Putting these in a partial.
5
+ $base-font-size: 16;
6
+ $base-font-size-px: 16px;
7
+ $base-line-height-px: 22px;
8
+ $base-line-height: math.div($base-line-height-px, $base-font-size-px);
9
+ $btn-font-size: $base-font-size-px;
10
+ $btn-border-radius-size: 4px;
11
+ $btn-v-padding: 8px;
12
+ $btn-h-padding: 14px;
13
+ $size-xl: 48px; // Super-size
14
+ $size-i: 34px; // h1-size
15
+ $size-ii: 26px; // h2-size
16
+ $size-iii: 22px; // h3-size
17
+ $size-iv: 18px; // h4-size
18
+ $size-v: 14px; // h5-size
19
+ $size-vi: 12px; // h6-size
20
+ $size-code: 13px; // Custom size only for Mono code blocks
21
+
22
+ // Icons' SVG viewbox are a consistent 19px (h) x variable (w).
23
+ // The height matches the 19px rendered canvas of text set in Source Sans 3
24
+ // sized at 16px (19/16 = 1.1875).
25
+ $cf-icon-height: 1.1875em;
26
+
27
+ // Grid variables
28
+
29
+ $grid-wrapper-width: 1230px;
30
+ $grid-total-columns: 12;
31
+ $grid-gutter-width: 30px;
32
+
33
+ // .a-select
34
+ $select-height: 35px;
35
+
36
+ // Featured Content Module sizing variables.
37
+ $fcm-visual-width: 270px;
38
+ $fcm-min-height: 220px;
39
+
40
+ :root {
41
+ // Typography normalization
42
+ --font-adjust-base: 0.517;
43
+ --font-adjust-step: 0.0054;
44
+
45
+ /* Derived font-size-adjust-values */
46
+ --font-adjust-h1: calc(
47
+ var(--font-size-adjust-base) + (5 * var(--font-adjust-step))
48
+ );
49
+ --font-adjust-h2: calc(
50
+ var(--font-size-adjust-base) + (4 * var(--font-adjust-step))
51
+ );
52
+ --font-adjust-h3: calc(
53
+ var(--font-size-adjust-base) + (3 * var(--font-adjust-step))
54
+ );
55
+ --font-adjust-h4: calc(
56
+ var(--font-size-adjust-base) + (2 * var(--font-adjust-step))
57
+ );
58
+ --font-adjust-h5: calc(
59
+ var(--font-size-adjust-base) + (1 * var(--font-adjust-step))
60
+ );
61
+ --font-adjust-h6: var(--font-adjust-base);
62
+ --font-adjust-body: var(--font-adjust-base);
63
+
64
+ // .a-select
65
+ --select-border-width-default: 1px;
66
+ }
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ :root {
6
+ --block-bg: var(--gray-5);
7
+ --block-border: var(--gray-40);
8
+ --choice-bg-default: var(--white);
9
+ --choice-bg-disabled: var(--gray-10);
10
+ --choice-bg-selected-default: var(--pacific);
11
+ --choice-bg-selected-disabled: var(--gray-40);
12
+ --choice-bg-selected-focus-default: var(--pacific);
13
+ --choice-border-default: var(--gray-60);
14
+ --choice-border-disabled: var(--gray-60);
15
+ --choice-border-error: var(--red);
16
+ --choice-border-focus-default: var(--pacific);
17
+ --choice-border-hover-default: var(--pacific);
18
+ --choice-border-success: var(--green);
19
+ --choice-border-warning: var(--gold);
20
+ --choice-label-disabled-default: var(--gray-dark);
21
+ --choice-outline-focus-default: var(--pacific);
22
+ --code-bg: var(--gray-5);
23
+ --content-main-border: var(--gray-40);
24
+ --form-alert-icon-color-default: var(--gray);
25
+ --form-alert-icon-color-error: var(--red);
26
+ --form-alert-icon-color-success: var(--green);
27
+ --form-alert-icon-color-warning: var(--gold);
28
+ --form-field-input-lg-target-bg: var(--gray-10);
29
+ --form-field-input-lg-target-bg-disabled: var(--gray-20);
30
+ --form-field-input-lg-target-bg-selected: var(--pacific-20);
31
+ --form-field-input-lg-target-border: var(--pacific);
32
+ --input-bg-default: var(--white);
33
+ --input-bg-disabled-default: var(--gray-10);
34
+ --input-border-default: var(--gray-60);
35
+ --input-border-disabled: var(--gray-60);
36
+ --input-border-error: var(--red);
37
+ --input-border-focus-default: var(--pacific);
38
+ --input-border-hover-default: var(--pacific);
39
+ --input-border-success: var(--green);
40
+ --input-border-warning: var(--gold);
41
+ --input-text-default: var(--black);
42
+ --input-text-disabled-default: var(--gray-dark);
43
+ --input-text-placeholder-default: var(--gray-dark);
44
+ --label-helper: var(--gray-dark);
45
+ --link-text: var(--pacific);
46
+ --link-text-active: var(--navy);
47
+ --link-text-hover: var(--pacific-dark);
48
+ --link-text-visited: var(--teal);
49
+ --link-underline: var(--pacific);
50
+ --link-underline-active: var(--navy);
51
+ --link-underline-hover: var(--pacific-dark);
52
+ --link-underline-visited: var(--teal);
53
+ --range-bg: var(--gray-10);
54
+ --range-bg-focused: var(--pacific-20);
55
+ --range-bg-track: var(--gray-80);
56
+ --range-border: var(--gray-40);
57
+ --range-border-focused: var(--pacific);
58
+ --select-bg-disabled-default: var(--gray-10);
59
+ --select-border-default: var(--gray-60);
60
+ --select-border-error: var(--red);
61
+ --select-border-focus-default: var(--pacific);
62
+ --select-border-hover-default: var(--pacific);
63
+ --select-icon-bg-default: var(--gray-10);
64
+ --select-text-disabled-default: var(--gray-dark);
65
+ --table-border: var(--gray);
66
+ --table-head-bg: var(--gray-5);
67
+ --tag-filter-bg-active-default: var(--teal-60);
68
+ --tag-filter-bg-default: var(--teal-20);
69
+ --tag-filter-bg-hover-default: var(--teal-40);
70
+ --tag-filter-border-default: var(--teal);
71
+ --tag-filter-outline-focuse-default: var(--teal-dark);
72
+ --text: var(--black); /** body */
73
+ --block-border-bottom: var(--block-border);
74
+ --block-border-left: var(--block-border);
75
+ --block-border-right: var(--block-border);
76
+ --block-border-top: var(--block-border);
77
+ --code-text: var(--text);
78
+ --table-head-text: var(--text);
79
+ }
@@ -10,7 +10,7 @@
10
10
  // Type hierarchy
11
11
  //
12
12
  body {
13
- color: $text;
13
+ color: var(--text);
14
14
  font-family: var(--font-stack);
15
15
  font-size: math.div($base-font-size, 16) * 100%;
16
16
  font-size-adjust: var(--font-adjust-body);
@@ -154,9 +154,9 @@ li {
154
154
  //
155
155
 
156
156
  a {
157
- color: $link-text;
157
+ color: var(--link-text);
158
158
 
159
- text-decoration-color: $link-underline;
159
+ text-decoration-color: var(--link-underline);
160
160
  text-decoration-line: underline;
161
161
  text-decoration-thickness: 1px;
162
162
  text-decoration-style: dotted;
@@ -167,15 +167,15 @@ a {
167
167
 
168
168
  &:visited,
169
169
  &.visited {
170
- text-decoration-color: $link-underline-visited;
171
- color: $link-text-visited;
170
+ text-decoration-color: var(--link-underline-visited);
171
+ color: var(--link-text-visited);
172
172
  }
173
173
 
174
174
  &:hover,
175
175
  &.hover {
176
176
  text-decoration-style: solid;
177
- text-decoration-color: $link-underline-hover;
178
- color: $link-text-hover;
177
+ text-decoration-color: var(--link-underline-hover);
178
+ color: var(--link-text-hover);
179
179
  }
180
180
 
181
181
  &:focus,
@@ -187,8 +187,8 @@ a {
187
187
  &:active,
188
188
  &.active {
189
189
  text-decoration-style: solid;
190
- text-decoration-color: $link-underline-active;
191
- color: $link-text-active;
190
+ text-decoration-color: var(--link-underline-active);
191
+ color: var(--link-text-active);
192
192
  }
193
193
  }
194
194
 
@@ -260,8 +260,8 @@ td {
260
260
  thead & {
261
261
  // 10px / 14px
262
262
  padding: math.div(10px, $size-v) + em;
263
- background: $table-head-bg;
264
- color: $table-head-text;
263
+ background: var(--table-head-bg);
264
+ color: var(--table-head-text);
265
265
  font-size: math.div(16px, $base-font-size-px) + em;
266
266
  vertical-align: top;
267
267
  }
@@ -269,7 +269,7 @@ td {
269
269
 
270
270
  thead,
271
271
  tbody tr {
272
- border-bottom: 1px solid $table-border;
272
+ border-bottom: 1px solid var(--table-border);
273
273
  }
274
274
 
275
275
  th {
@@ -350,9 +350,9 @@ figure {
350
350
 
351
351
  pre,
352
352
  code {
353
- background: $code-bg;
353
+ background: var(--code-bg);
354
354
  border-radius: 4px;
355
- color: $code-text;
355
+ color: var(--code-text);
356
356
  font-family: 'Input Mono', Consolas, Monaco, 'Courier New', monospace;
357
357
  }
358
358
 
@@ -0,0 +1,12 @@
1
+ @use 'sass:math';
2
+ @use '@cfpb/cfpb-design-system/src/elements/abstracts' as *;
3
+
4
+ :host {
5
+ .m-btn-group {
6
+ display: flex;
7
+ gap: math.div(15px, $base-font-size-px) + rem;
8
+ flex-wrap: wrap;
9
+ align-items: center;
10
+ width: fit-content;
11
+ }
12
+ }
@@ -0,0 +1,103 @@
1
+ @use 'sass:math';
2
+ @use './vars' as *;
3
+ @use '@cfpb/cfpb-design-system/src/elements/abstracts' as *;
4
+
5
+ /*
6
+ Link text and underline.
7
+ $v: Link link and visited color.
8
+ $h: Link hover color.
9
+ $f: Link focus color.
10
+ $a: Link active color.
11
+ */
12
+ @mixin u-btn-link-states($selector, $v, $h, $f, $a) {
13
+ #{$selector} {
14
+ &,
15
+ &:link,
16
+ &:visited {
17
+ text-decoration-color: $v;
18
+ background-color: transparent;
19
+ color: $v;
20
+ }
21
+
22
+ &:hover,
23
+ &.hover {
24
+ text-decoration-color: $h;
25
+ text-decoration-style: solid;
26
+ background-color: transparent;
27
+ color: $h;
28
+ box-shadow: none; // Added by secondary variant.
29
+ }
30
+
31
+ &:focus,
32
+ &.focus {
33
+ background-color: transparent;
34
+ outline: 1px dotted $f;
35
+ color: $f;
36
+ }
37
+
38
+ &:active,
39
+ &.active {
40
+ text-decoration-color: $a;
41
+ text-decoration-style: solid;
42
+ background-color: transparent;
43
+ color: $a;
44
+ }
45
+ }
46
+ }
47
+
48
+ :host {
49
+ //
50
+ // Button link
51
+ //
52
+
53
+ .a-btn--link {
54
+ // Remove any border and background add by primary and secondary button.
55
+ box-shadow: none;
56
+ background-color: transparent;
57
+
58
+ // Padding added so the focus rectangle falls below the underline.
59
+ padding: 1.5px 0;
60
+ border-radius: 0;
61
+ text-decoration-line: underline;
62
+ text-decoration-thickness: 1px;
63
+ text-decoration-style: dotted;
64
+ text-underline-offset: 4.5px;
65
+
66
+ &:has(svg) {
67
+ // Button links should be closer to their icon.
68
+ gap: math.div(5px, $base-font-size-px) + rem;
69
+
70
+ // Button links shouldn't have a divider.
71
+ &::before {
72
+ display: none;
73
+ }
74
+ }
75
+ }
76
+
77
+ @include u-btn-link-states(
78
+ '.a-btn--link',
79
+ var(--link-text),
80
+ var(--link-text-hover),
81
+ var(--link-text),
82
+ var(--link-text-active)
83
+ );
84
+
85
+ //
86
+ // Secondary button link
87
+ //
88
+
89
+ // The .a-btn--link.a-btn--secondary combo shouldn't be used,
90
+ // so we provide no styles.
91
+
92
+ //
93
+ // Destructive action button link
94
+ //
95
+
96
+ @include u-btn-link-states(
97
+ '.a-btn--link.a-btn--warning',
98
+ var(--btn-warning-bg),
99
+ var(--btn-warning-bg-hover),
100
+ var(--btn-warning-bg),
101
+ var(--btn-warning-bg-active)
102
+ );
103
+ }
@@ -1,7 +1,7 @@
1
- @use '@cfpb/cfpb-design-system/src/base' as *;
2
- @use '@cfpb/cfpb-design-system/src/abstracts' as *;
3
- @use '@cfpb/cfpb-design-system/src/components/cfpb-buttons/button' as *;
4
- @use '@cfpb/cfpb-design-system/src/components/cfpb-buttons/button-link' as *;
1
+ @use '@cfpb/cfpb-design-system/src/elements/base' as *;
2
+ @use '@cfpb/cfpb-design-system/src/elements/abstracts' as *;
3
+ @use '@cfpb/cfpb-design-system/src/elements/cfpb-button/cfpb-button' as *;
4
+ @use '@cfpb/cfpb-design-system/src/elements/cfpb-button/cfpb-button-link' as *;
5
5
 
6
6
  :host {
7
7
  // This prevents the child button from having an empty gap after the button.
@@ -13,10 +13,16 @@
13
13
  // Mobile only.
14
14
  @include respond-to-max($bp-xs-max) {
15
15
  width: 100%;
16
+
17
+ button,
18
+ [role='button'] {
19
+ width: 100%;
20
+ }
16
21
  }
17
22
  }
18
23
 
19
24
  :host([flush-left]) {
25
+ button,
20
26
  [role='button'] {
21
27
  border-top-left-radius: 0;
22
28
  border-bottom-left-radius: 0;
@@ -24,6 +30,7 @@
24
30
  }
25
31
 
26
32
  :host([flush-right]) {
33
+ button,
27
34
  [role='button'] {
28
35
  border-top-right-radius: 0;
29
36
  border-bottom-right-radius: 0;