@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
@@ -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,184 +0,0 @@
1
- @use 'sass:math';
2
-
3
- /* ==========================================================================
4
- Design System
5
- Variables
6
- ========================================================================== */
7
-
8
- //
9
- // Theme variables
10
- //
11
-
12
- // Color variables
13
-
14
- // body
15
- $text: var(--black);
16
-
17
- // a
18
- $link-text: var(--pacific);
19
- $link-underline: var(--pacific);
20
- $link-text-visited: var(--teal);
21
- $link-underline-visited: var(--teal);
22
- $link-text-hover: var(--pacific-dark);
23
- $link-underline-hover: var(--pacific-dark);
24
- $link-text-active: var(--navy);
25
- $link-underline-active: var(--navy);
26
-
27
- // table
28
- $table-head-text: $text;
29
- $table-head-bg: var(--gray-5);
30
- $table-border: var(--gray);
31
-
32
- // code
33
- $code-text: $text;
34
- $code-bg: var(--gray-5);
35
-
36
- // Sizing variables
37
-
38
- $base-font-size: 16;
39
- $base-font-size-px: 16px;
40
- $base-line-height-px: 22px;
41
- $base-line-height: math.div($base-line-height-px, $base-font-size-px);
42
- $size-xl: 48px; // Super-size
43
-
44
- $size-i: 34px; // h1-size
45
- $size-ii: 26px; // h2-size
46
- $size-iii: 22px; // h3-size
47
- $size-iv: 18px; // h4-size
48
- $size-v: 14px; // h5-size
49
- $size-vi: 12px; // h6-size
50
- $size-code: 13px; // Custom size only for Mono code blocks
51
-
52
- // Icon variables
53
-
54
- // Icons' SVG viewbox are a consistent 19px (h) x variable (w).
55
- // The height matches the 19px rendered canvas of text set in Source Sans 3
56
- // sized at 16px (19/16 = 1.1875).
57
- $cf-icon-height: 1.1875em;
58
-
59
- // Button sizing variables
60
-
61
- $btn-font-size: $base-font-size-px;
62
- $btn-border-radius-size: 4px;
63
- $btn-v-padding: 8px;
64
- $btn-h-padding: 14px;
65
-
66
- // Grid variables
67
-
68
- $grid-wrapper-width: 1230px;
69
- $grid-gutter-width: 30px;
70
- $grid-total-columns: 12;
71
-
72
- // Layout variables
73
-
74
- // .block
75
- $block-bg: var(--gray-5);
76
- $block-border: var(--gray-40);
77
- $block-border-top: $block-border;
78
- $block-border-right: $block-border;
79
- $block-border-bottom: $block-border;
80
- $block-border-left: $block-border;
81
-
82
- // .content__main
83
- $content-main-border: var(--gray-40);
84
-
85
- :root {
86
- // Typography normalization
87
- --font-adjust-base: 0.517;
88
- --font-adjust-step: 0.0054;
89
-
90
- /* Derived font-size-adjust-values */
91
- --font-adjust-h1: calc(
92
- var(--font-size-adjust-base) + (5 * var(--font-adjust-step))
93
- );
94
- --font-adjust-h2: calc(
95
- var(--font-size-adjust-base) + (4 * var(--font-adjust-step))
96
- );
97
- --font-adjust-h3: calc(
98
- var(--font-size-adjust-base) + (3 * var(--font-adjust-step))
99
- );
100
- --font-adjust-h4: calc(
101
- var(--font-size-adjust-base) + (2 * var(--font-adjust-step))
102
- );
103
- --font-adjust-h5: calc(
104
- var(--font-size-adjust-base) + (1 * var(--font-adjust-step))
105
- );
106
- --font-adjust-h6: var(--font-adjust-base);
107
- --font-adjust-body: var(--font-adjust-base);
108
-
109
- // Form variables
110
-
111
- // .a-text-input
112
- --input-text-default: var(--black);
113
- --input-text-disabled-default: var(--gray-dark);
114
- --input-text-placeholder-default: var(--gray-dark);
115
- --input-border-default: var(--gray-60); // $input-border
116
- --input-border-disabled: var(--gray-60);
117
- --input-border-success: var(--green);
118
- --input-border-warning: var(--gold);
119
- --input-border-error: var(--red);
120
- --input-border-hover-default: var(--pacific); // $input-border-hover
121
- --input-border-focus-default: var(--pacific); // $input-border-focused
122
- --input-bg-default: var(--white);
123
- --input-bg-disabled-default: var(--gray-10);
124
-
125
- // .a-form-alert icons
126
- --form-alert-icon-color-default: var(--gray);
127
- --form-alert-icon-color-success: var(--green);
128
- --form-alert-icon-color-warning: var(--gold);
129
- --form-alert-icon-color-error: var(--red);
130
-
131
- // .a-select
132
- --select-border-default: var(--gray-60); // $input-border
133
- --select-border-width-default: 1px;
134
- --select-border-error: var(--red);
135
- --select-border-width-error: 2px;
136
- --select-border-hover-default: var(--pacific); // $input-border-hover
137
- --select-border-focus-default: var(--pacific); // $input-border-focused
138
- --select-bg-disabled-default: var(--gray-10); // $input-bg-disabled
139
- --select-icon-bg-default: var(--gray-10);
140
- --select-text-disabled-default: var(--gray-dark); // $input-text-disabled
141
-
142
- // .m-form-field--checkbox .m-form-field--radio
143
- --choice-border-default: var(--gray-60); // $input-border
144
- --choice-border-disabled: var(--gray-60);
145
- --choice-border-success: var(--green); // $input-border-success
146
- --choice-border-warning: var(--gold); // $input-border-warning
147
- --choice-border-error: var(--red); // $input-border-error
148
- --choice-border-hover-default: var(--pacific); // $input-border-hover
149
- --choice-border-focus-default: var(--pacific); // $input-border-focused
150
- --choice-outline-focus-default: var(--pacific); // $input-border-focused
151
- --choice-bg-default: var(--white); // $input-bg
152
- --choice-bg-disabled: var(--gray-10); // $input-bg-disabled
153
- --choice-bg-selected-default: var(--pacific); // $input-bg-selected
154
- --choice-bg-selected-disabled: var(--gray-40);
155
- --choice-bg-selected-focus-default: var(--pacific);
156
- --choice-label-disabled-default: var(--gray-dark);
157
- }
158
-
159
- // .m-form-field--lg-target
160
- $form-field-input-lg-target-bg: var(--gray-10);
161
- $form-field-input-lg-target-bg-selected: var(--pacific-20);
162
- $form-field-input-lg-target-bg-disabled: var(--gray-20);
163
- $form-field-input-lg-target-border: var(--pacific);
164
-
165
- // .a-label__helper
166
- $label-helper: var(--gray-dark);
167
-
168
- // .a-range borders
169
- $range-border: var(--gray-40);
170
- $range-border-focused: var(--pacific);
171
-
172
- // .a-range backgrounds
173
- $range-bg: var(--gray-10);
174
- $range-bg-track: var(--gray-80);
175
- $range-bg-focused: var(--pacific-20);
176
-
177
- // Sizing variables
178
-
179
- // .a-select
180
- $select-height: 35px;
181
-
182
- // Featured Content Module sizing variables.
183
- $fcm-visual-width: 270px;
184
- $fcm-min-height: 220px;
@@ -1,225 +0,0 @@
1
- @use 'sass:math';
2
- @use '@cfpb/cfpb-design-system/src/base' as *;
3
- @use '@cfpb/cfpb-design-system/src/abstracts' as *;
4
- @use '@cfpb/cfpb-design-system/src/components/cfpb-buttons/vars' as *;
5
-
6
- :host {
7
- // Theme variables.
8
- --select-input-border: var(--gray-60);
9
- --select-input-border-hover: var(--pacific);
10
- --select-input-border-focus: var(--pacific);
11
- --select-input-bg: var(--white);
12
- --select-input-text: var(--black);
13
-
14
- // Initial and no-js state.
15
- select.o-multiselect {
16
- display: block;
17
- box-sizing: border-box;
18
- width: 100%;
19
- padding: math.div(7px, $base-font-size-px) + em;
20
-
21
- // Fixed height breaks the bottom border
22
- // mid-character to indicate there's more content.
23
- height: 5.5em;
24
- padding-top: math.div(4px, $base-font-size-px) + em;
25
- padding-bottom: math.div(4px, $base-font-size-px) + em;
26
- border: 1px solid var(--select-border-default);
27
-
28
- option {
29
- padding: math.div(2px, $base-font-size-px) + em
30
- math.div(6px, $base-font-size-px) + em;
31
- }
32
- }
33
-
34
- .o-multiselect {
35
- position: relative;
36
-
37
- & header {
38
- position: relative;
39
-
40
- &::after {
41
- // Arrow box width must be odd size to properly center the bg image
42
- width: math.div($select-height, $base-font-size-px) + em;
43
- box-sizing: border-box;
44
- border: 1px solid var(--select-border-default);
45
- position: absolute;
46
- top: 0;
47
- right: 0;
48
- bottom: 0;
49
- background-color: var(--select-icon-bg-default);
50
-
51
- --cfpb-background-icon-svg: 'down';
52
-
53
- background-size: auto $cf-icon-height;
54
- background-repeat: no-repeat;
55
- background-position: center center;
56
- content: '';
57
- pointer-events: none;
58
- }
59
- }
60
-
61
- & input[type='text'] {
62
- width: 100%;
63
- min-height: 35px;
64
-
65
- // Reset the browser's default styling.
66
- appearance: none;
67
- display: inline-block;
68
- padding: math.div(7px, $base-font-size-px) + em;
69
- border: 1px solid var(--select-input-border);
70
- outline: 0 solid var(--select-input-border);
71
- background: var(--select-input-bg);
72
- color: var(--select-input-text);
73
- box-sizing: border-box;
74
-
75
- &:hover,
76
- &.hover {
77
- border-color: var(--select-input-border-hover);
78
- outline: 1px solid var(--select-input-border-hover);
79
- }
80
-
81
- &:focus,
82
- &.focus {
83
- border-color: var(--select-input-border-focus);
84
- box-shadow: 0 0 0 1px var(--select-input-border-focus);
85
- outline: 1px dotted var(--select-input-border-focus);
86
- outline-offset: 2px;
87
- }
88
- }
89
-
90
- & fieldset {
91
- // Resets
92
- border-color: var(--select-border-default);
93
- border-top: none;
94
- margin: 0;
95
- padding: 0;
96
-
97
- // Styles
98
- box-sizing: border-box;
99
- overflow-x: hidden;
100
- overflow-y: scroll;
101
- position: absolute;
102
- z-index: 10;
103
-
104
- max-height: 0;
105
- margin-top: -1px;
106
- width: 100%;
107
-
108
- transition: max-height 0.25s ease-out;
109
- }
110
-
111
- &.u-active {
112
- fieldset {
113
- margin-top: 0;
114
-
115
- // This needs to match the value set in _bindEvents in Multiselect.js.
116
- // See https://github.com/cfpb/design-system/blob/4d26d5af04317bcc00b4677aa866fe8d526e82e0/packages/cfpb-forms/src/organisms/Multiselect.js#L340
117
- max-height: 140px;
118
-
119
- border-color: var(--pacific);
120
- border-width: 2px;
121
- border-top: 0;
122
- }
123
-
124
- // Reverse arrow when search drop-down is open.
125
- header::after {
126
- --cfpb-background-icon-svg: 'up';
127
- }
128
- }
129
-
130
- & ul {
131
- list-style-type: none;
132
- background-color: var(--white);
133
- padding: 0;
134
- padding-top: math.div(5px, $base-font-size-px) + em;
135
- padding-bottom: math.div(5px, $base-font-size-px) + em;
136
-
137
- li {
138
- margin: 0;
139
- }
140
-
141
- li:first-child {
142
- .a-label {
143
- padding-top: math.div(10px, $base-font-size-px) + em;
144
- }
145
- }
146
-
147
- &.u-filtered li:not(.u-filter-match) {
148
- display: none;
149
- }
150
-
151
- &.u-no-results,
152
- &.u-max-selections {
153
- padding: math.div(10px, $base-font-size-px) + em;
154
- li {
155
- display: none;
156
- }
157
-
158
- &::after {
159
- display: list-item;
160
- }
161
- }
162
-
163
- &.u-no-results::after {
164
- content: 'No results found';
165
- }
166
-
167
- &.u-max-selections {
168
- pointer-events: none;
169
-
170
- &::after {
171
- content: 'Reached maximum number of selections';
172
- }
173
- }
174
- }
175
- }
176
-
177
- .u-invisible {
178
- visibility: hidden;
179
- }
180
-
181
- /* button {
182
- // Filter tags appear in filtered contexts, often as part of multiselects.
183
- line-height: math.div(19px, $base-font-size-px);
184
-
185
- display: flex;
186
- gap: math.div(10px, $btn-font-size) + rem;
187
-
188
- border: 1px solid var(--teal);
189
- padding: 4px 6px;
190
- background-color: var(--teal-20);
191
- border-radius: math.div(3px, $base-font-size-px) + rem;
192
- color: var(--black);
193
- text-align: left;
194
- min-width: fit-content;
195
-
196
- &:hover {
197
- background-color: var(--teal-40);
198
- cursor: pointer;
199
- }
200
-
201
- &:focus {
202
- outline: 1px dotted var(--teal);
203
- outline-offset: 1px;
204
- }
205
-
206
- &:active {
207
- background-color: var(--teal-60);
208
- }
209
- }
210
-
211
- svg {
212
- pointer-events: none;
213
-
214
- // Prevent flexbox from squishing icon when tag text is long.
215
- flex: none;
216
-
217
- height: 1rem;
218
- }
219
-
220
- // If the contents are wrapped in a label, negate the label's display.
221
- label {
222
- display: contents;
223
- pointer-events: none;
224
- } */
225
- }