@teamimpact/veda-ui-blocks 0.1.0-beta.7 → 0.1.0-beta.8

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 (35) hide show
  1. package/README.md +2 -3
  2. package/dist/default.css +1388 -407
  3. package/dist/default.css.map +1 -1
  4. package/dist/disasters.css +1137 -151
  5. package/dist/disasters.css.map +1 -1
  6. package/dist/index.d.ts +110 -40
  7. package/dist/index.js +484 -54
  8. package/package.json +4 -6
  9. package/src/styles/components/banner.scss +0 -18
  10. package/src/styles/components/card-cta.scss +0 -90
  11. package/src/styles/components/card-detailed.scss +0 -164
  12. package/src/styles/components/card-mini.scss +0 -81
  13. package/src/styles/components/card-simple.scss +0 -79
  14. package/src/styles/components/card.scss +0 -284
  15. package/src/styles/components/compare-map.scss +0 -15
  16. package/src/styles/components/footer.scss +0 -256
  17. package/src/styles/components/header.scss +0 -212
  18. package/src/styles/components/index.scss +0 -11
  19. package/src/styles/components/tag.scss +0 -89
  20. package/src/styles/default/index.scss +0 -10
  21. package/src/styles/default/theme-tokens.scss +0 -84
  22. package/src/styles/disasters/card-cta.scss +0 -31
  23. package/src/styles/disasters/card-mini.scss +0 -4
  24. package/src/styles/disasters/card-simple.scss +0 -13
  25. package/src/styles/disasters/card.scss +0 -13
  26. package/src/styles/disasters/compare-map.scss +0 -3
  27. package/src/styles/disasters/fonts.scss +0 -29
  28. package/src/styles/disasters/footer.scss +0 -9
  29. package/src/styles/disasters/header.scss +0 -10
  30. package/src/styles/disasters/index.scss +0 -22
  31. package/src/styles/disasters/tag.scss +0 -6
  32. package/src/styles/disasters/theme-tokens.scss +0 -150
  33. package/src/styles/earthgov/footer.scss +0 -15
  34. package/src/styles/earthgov/index.scss +0 -12
  35. package/src/styles/earthgov/theme-tokens.scss +0 -104
@@ -1,90 +0,0 @@
1
- @use "uswds-core" as *;
2
- $theme-card-cta-background-color: "white" !default;
3
- $theme-card-cta-border-radius: "sm" !default;
4
- $theme-card-cta-border-color: "base-lighter" !default;
5
- $theme-card-cta-title-color: "ink" !default;
6
- $theme-card-cta-description-color: "ink" !default;
7
- $theme-card-cta-accent-color: "primary" !default;
8
-
9
- // LAYOUT
10
- .blocks-card-cta {
11
- --blocks-card-cta-custom-accent-color: #{color($theme-card-cta-accent-color)};
12
-
13
- display: flex;
14
- flex-direction: column;
15
- width: 100%;
16
- height: 100%;
17
- overflow: hidden;
18
- position: relative;
19
- text-decoration: none;
20
-
21
- &__body {
22
- flex: 1 1 auto;
23
- display: flex;
24
- flex-direction: column;
25
- justify-content: flex-start;
26
- padding: units(2.5);
27
- gap: units(1);
28
- z-index: 1;
29
- }
30
-
31
- &__title {
32
- display: flex;
33
- align-items: center;
34
- gap: units("105");
35
- margin: 0;
36
- }
37
-
38
- &__icon {
39
- color: var(--blocks-card-cta-custom-accent-color);
40
- display: inline-flex;
41
- align-items: center;
42
- flex-shrink: 0;
43
- vertical-align: baseline;
44
- width: 1cap;
45
- height: 1cap;
46
-
47
- > svg {
48
- width: 100%;
49
- height: 100%;
50
- }
51
- }
52
-
53
- &__description {
54
- margin: 0;
55
- }
56
- }
57
-
58
- // THEME
59
- .blocks-card-cta {
60
- background-color: color($theme-card-cta-background-color);
61
- border-radius: radius($theme-card-cta-border-radius);
62
- border: 1px solid color($theme-card-cta-border-color);
63
-
64
- &:hover,
65
- &:focus-visible {
66
- text-decoration: none;
67
-
68
- .blocks-card-cta__title {
69
- text-decoration-line: underline;
70
- text-decoration-color: var(--blocks-card-cta-custom-accent-color);
71
- text-decoration-thickness: 2px;
72
- }
73
- }
74
-
75
- &__title {
76
- color: color($theme-card-cta-title-color);
77
- font-family: family($theme-card-font-family);
78
- font-size: size("body", "md");
79
- font-weight: font-weight("bold");
80
- line-height: lh("heading", 1);
81
- }
82
-
83
- &__description {
84
- color: color($theme-card-cta-description-color);
85
- font-family: family($theme-card-font-family);
86
- font-size: size("body", "sm");
87
- font-weight: font-weight("normal");
88
- line-height: lh("body", 4);
89
- }
90
- }
@@ -1,164 +0,0 @@
1
- @use "uswds-core" as *;
2
-
3
- $theme-card-background-color: $theme-body-background-color !default;
4
- $theme-card-primary-accent-color: "primary-darker" !default;
5
- $theme-card-secondary-accent-color: "primary-light" !default;
6
-
7
- // LAYOUT
8
- .blocks-card-detailed {
9
- isolation: isolate;
10
- overflow: hidden;
11
- position: relative;
12
- display: flex;
13
- flex-direction: column;
14
- width: 100%;
15
-
16
- &--image-bottom {
17
- .blocks-card-detailed__image-wrapper {
18
- order: 1;
19
- }
20
- }
21
-
22
- &--image-cover {
23
- min-height: 15rem;
24
-
25
- .blocks-card-detailed__image-wrapper {
26
- position: absolute;
27
- inset: 0;
28
- z-index: 0;
29
-
30
- > :is(img, svg, video, canvas) {
31
- width: 100%;
32
- height: 100%;
33
- object-fit: cover;
34
- }
35
- }
36
-
37
- .blocks-card-detailed__content {
38
- position: relative;
39
- z-index: 1;
40
- margin-top: auto;
41
- padding-top: units(7);
42
- }
43
- }
44
-
45
- &__accent-bar {
46
- position: absolute;
47
- top: 0;
48
- right: 0;
49
- left: 0;
50
- z-index: 3;
51
- height: units(1);
52
- pointer-events: none;
53
- }
54
-
55
- &__image-wrapper {
56
- position: relative;
57
- order: -1;
58
- width: 100%;
59
- overflow: hidden;
60
- }
61
-
62
- &__content-type-tag {
63
- position: absolute;
64
- top: units(2.5);
65
- left: units(4);
66
- z-index: 2;
67
- }
68
-
69
- &__image-wrapper > :is(img, svg, video, canvas) {
70
- width: 100%;
71
- display: block;
72
-
73
- &:is(img, svg, video, canvas) {
74
- height: auto;
75
- }
76
- }
77
-
78
- &__content {
79
- padding: units(3) units(4) units(4) units(4);
80
- display: flex;
81
- flex-direction: column;
82
- gap: units(1.5);
83
- }
84
-
85
- &__title {
86
- margin: 0; // preserve spacing rhythm by removing browser default
87
- }
88
-
89
- &__tags {
90
- display: flex;
91
- flex-wrap: wrap;
92
- gap: units(0.5);
93
- }
94
-
95
- &__action {
96
- align-self: flex-start;
97
- }
98
- }
99
- @include at-media-max("mobile-lg") {
100
- .blocks-card-detailed__content {
101
- padding: units(2);
102
- }
103
-
104
- .blocks-card-detailed__content-type-tag {
105
- left: units(2);
106
- }
107
- }
108
-
109
- // THEME
110
- .blocks-card-detailed {
111
- background: color($theme-card-background-color);
112
- border-radius: radius($theme-card-border-radius);
113
- box-shadow: 0 units(0.5) units(2) rgba(color("base-dark"), 0.06);
114
-
115
- &--image-cover {
116
- .blocks-card-detailed__content {
117
- background: linear-gradient(
118
- 180deg,
119
- rgba(color($theme-card-background-color), 0) 0%,
120
- rgba(color($theme-card-background-color), 0.72) 40%,
121
- color($theme-card-background-color) 100%
122
- );
123
- }
124
- }
125
-
126
- &__accent-bar {
127
- background: linear-gradient(
128
- 90deg,
129
- color($theme-card-primary-accent-color) 0%,
130
- color($theme-card-secondary-accent-color) 100%
131
- );
132
- }
133
-
134
- &__image-wrapper {
135
- background: color("base-lighter");
136
- }
137
-
138
- &__intro {
139
- color: color("base-dark");
140
- font-family: family($theme-card-font-family);
141
- font-size: font-size("body", "3xs");
142
- font-style: normal;
143
- font-weight: font-weight("normal");
144
- line-height: line-height("body", 1);
145
- }
146
-
147
- &__title {
148
- color: color("ink");
149
- font-family: family($theme-card-font-family);
150
- font-size: font-size("heading", "lg");
151
- font-style: normal;
152
- font-weight: font-weight("bold");
153
- line-height: line-height("heading", 3);
154
- }
155
-
156
- &__description {
157
- color: color("ink");
158
- font-family: family($theme-card-font-family);
159
- font-size: font-size("body", "3xs");
160
- font-style: normal;
161
- font-weight: font-weight("normal");
162
- line-height: line-height("body", 5);
163
- }
164
- }
@@ -1,81 +0,0 @@
1
- @use "uswds-core" as *;
2
-
3
- $theme-card-mini-border-radius: $theme-card-border-radius !default;
4
- $theme-card-mini-border-width: 1px !default;
5
- $theme-card-mini-border-color: "base-lighter" !default;
6
- $theme-card-mini-bg: "white" !default;
7
- $theme-card-mini-title-color: "ink" !default;
8
- $theme-card-mini-title-font-weight: $theme-font-weight-bold !default;
9
- $theme-card-mini-image-width: 98px !default; // matches Figma
10
- $theme-card-mini-image-height: 108px !default; // matches Figma
11
-
12
- // LAYOUT
13
- .blocks-card-mini {
14
- display: flex;
15
- flex-direction: row;
16
- align-items: stretch;
17
- width: 100%;
18
- height: $theme-card-mini-image-height;
19
- overflow: hidden;
20
- gap: units("105");
21
- padding-right: units("105");
22
- text-decoration: none;
23
-
24
- &__image {
25
- flex: 0 0 $theme-card-mini-image-width;
26
- width: $theme-card-mini-image-width;
27
- overflow: hidden;
28
-
29
- > :is(img, svg, video, canvas) {
30
- width: 100%;
31
- height: 100%;
32
- display: block;
33
- object-fit: cover;
34
- }
35
- }
36
-
37
- &__body {
38
- flex: 1 0 0;
39
- min-width: 0;
40
- display: flex;
41
- flex-direction: column;
42
- gap: units(1);
43
- justify-content: center;
44
- }
45
-
46
- &__tag {
47
- align-self: flex-start;
48
- flex-shrink: 0;
49
- }
50
-
51
- &__title {
52
- margin: 0;
53
- }
54
- }
55
-
56
- // THEME
57
- .blocks-card-mini {
58
- background-color: color($theme-card-mini-bg);
59
- border-radius: radius($theme-card-mini-border-radius);
60
- border: $theme-card-mini-border-width solid color($theme-card-mini-border-color);
61
-
62
- &__title {
63
- color: color($theme-card-mini-title-color);
64
- font-family: family($theme-card-font-family);
65
- font-size: size("heading", "lg");
66
- font-weight: font-weight($theme-card-mini-title-font-weight);
67
- line-height: lh("heading", 4);
68
-
69
- display: -webkit-box;
70
- -webkit-box-orient: vertical;
71
- -webkit-line-clamp: 3;
72
- line-clamp: 3;
73
- overflow: hidden;
74
- text-overflow: ellipsis;
75
- }
76
-
77
- &--with-tag &__title {
78
- -webkit-line-clamp: 2;
79
- line-clamp: 2;
80
- }
81
- }
@@ -1,79 +0,0 @@
1
- @use "uswds-core" as *;
2
-
3
- $theme-card-simple-border-radius: "md" !default;
4
- $theme-card-simple-title-color: "ink" !default;
5
- $theme-card-simple-title-font-weight: "bold" !default;
6
- $theme-card-simple-overlay-color: "base-light" !default;
7
-
8
- // LAYOUT
9
- .blocks-card-simple {
10
- position: relative;
11
- isolation: isolate;
12
- overflow: hidden;
13
- width: 100%;
14
- height: 100%;
15
- border-radius: radius($theme-card-simple-border-radius);
16
- display: flex;
17
- flex-direction: column;
18
- text-decoration: none;
19
-
20
- &__media {
21
- position: absolute;
22
- inset: 0;
23
- z-index: 0;
24
-
25
- > :is(img, svg, video, canvas) {
26
- width: 100%;
27
- height: 100%;
28
- display: block;
29
- object-fit: cover;
30
- }
31
- }
32
-
33
- &__overlay {
34
- position: absolute;
35
- inset: 0;
36
- }
37
-
38
- &__body {
39
- position: relative;
40
- z-index: 1;
41
- flex: 1;
42
- display: flex;
43
- flex-direction: column;
44
- padding: units(3) units(2.5) units(2.5) units(2.5);
45
- }
46
-
47
- &__tag {
48
- align-self: flex-start;
49
- flex-shrink: 0;
50
- }
51
-
52
- &__title {
53
- margin: 0;
54
- margin-top: auto;
55
- }
56
- }
57
-
58
- // THEME
59
- .blocks-card-simple {
60
- &__overlay {
61
- background: linear-gradient(
62
- to bottom,
63
- rgba(color($theme-card-simple-overlay-color), 0.1),
64
- rgba(color($theme-card-simple-overlay-color), 0.8)
65
- );
66
- }
67
-
68
- &__title {
69
- color: color($theme-card-simple-title-color);
70
- font-family: family($theme-card-font-family);
71
- font-size: size("heading", "lg");
72
- font-weight: font-weight($theme-card-simple-title-font-weight);
73
- line-height: lh("heading", 2);
74
- }
75
-
76
- &--compact &__title {
77
- font-size: size("heading", "md");
78
- }
79
- }
@@ -1,284 +0,0 @@
1
- @use "uswds-core" as *;
2
- $theme-card-max-width: "desktop-lg" !default;
3
- $theme-card-title-color: "ink" !default;
4
- $theme-card-text-color: "ink" !default;
5
- $theme-card-overlay-color: "base-lightest" !default;
6
- $theme-card-title-dark-color: "white" !default;
7
- $theme-card-text-dark-color: "white" !default;
8
- $theme-card-overlay-dark-color: "base-darkest" !default;
9
- $theme-card-title-brand-color: "white" !default;
10
- $theme-card-text-brand-color: "white" !default;
11
- $theme-card-overlay-brand-color: "primary-dark" !default;
12
-
13
- @mixin blocks-card-overlay($color, $direction: 90deg) {
14
- background: linear-gradient($direction, rgba(color($color), 1) 0%, rgba(color($color), 0.3) 100%);
15
-
16
- @include at-media("desktop") {
17
- background: linear-gradient(
18
- $direction,
19
- rgba(color($color), 1) 0%,
20
- rgba(color($color), 0.3) 70%,
21
- rgba(color($color), 0) 100%
22
- );
23
- }
24
- }
25
-
26
- // LAYOUT
27
- .blocks-card {
28
- display: flex;
29
- flex-direction: column;
30
- isolation: isolate;
31
- min-height: units("mobile");
32
- position: relative;
33
- width: 100%;
34
-
35
- &__content-container {
36
- flex: 1;
37
- }
38
-
39
- &__content-container,
40
- &__children {
41
- align-items: center;
42
- display: flex;
43
- padding: units(4) units(3);
44
- width: 100%;
45
- z-index: 1;
46
-
47
- @include at-media("tablet") {
48
- padding: units(5) units(8);
49
- }
50
-
51
- @include at-media("desktop") {
52
- padding: units(5) units(10);
53
- }
54
- }
55
-
56
- &--image-left,
57
- &--image-right {
58
- .blocks-card__content-container {
59
- align-items: start;
60
- flex-direction: column;
61
- gap: units(3);
62
-
63
- @include at-media("tablet") {
64
- align-items: center;
65
- flex-direction: row;
66
- gap: units(5);
67
- }
68
- }
69
- }
70
-
71
- &--image-right {
72
- .blocks-card__content-container {
73
- @include at-media("tablet") {
74
- flex-direction: row-reverse;
75
- }
76
- }
77
- }
78
-
79
- &--mast-head {
80
- .blocks-card__content-container,
81
- .blocks-card__children {
82
- @include grid-container($theme-card-max-width);
83
- }
84
- }
85
-
86
- &__media {
87
- inset: 0;
88
- min-height: 175px;
89
- position: absolute;
90
- width: 100%;
91
- z-index: 0;
92
-
93
- &:only-child {
94
- min-height: 100%;
95
- }
96
-
97
- @include at-media("tablet") {
98
- min-height: 0;
99
- }
100
-
101
- > :is(img, svg, video, canvas) {
102
- height: 100%;
103
- display: block;
104
- inset: 0;
105
- object-fit: cover;
106
- position: absolute;
107
- width: 100%;
108
- }
109
- }
110
-
111
- &--image-left,
112
- &--image-right {
113
- .blocks-card__media {
114
- position: relative;
115
-
116
- @include at-media("tablet") {
117
- align-self: stretch;
118
- flex: 1 1 0;
119
- }
120
-
121
- &:only-child {
122
- position: unset;
123
- }
124
- }
125
- }
126
-
127
- &__content {
128
- display: flex;
129
- flex-direction: column;
130
- gap: units(2);
131
- position: relative;
132
-
133
- @include at-media("tablet") {
134
- flex: 1 1 0;
135
- max-width: measure(5);
136
- }
137
- }
138
-
139
- &--image-left,
140
- &--image-right {
141
- .blocks-card__content {
142
- @include at-media("tablet") {
143
- max-width: none;
144
- }
145
- }
146
- }
147
-
148
- &__title {
149
- margin: 0;
150
- }
151
-
152
- &__description {
153
- margin: 0;
154
- }
155
-
156
- &__actions {
157
- display: flex;
158
- flex-wrap: wrap;
159
- gap: units(1);
160
-
161
- .usa-button {
162
- margin-right: 0;
163
- }
164
- }
165
-
166
- &--image-left,
167
- &--image-right {
168
- .blocks-card__actions {
169
- .usa-button {
170
- flex: 1 1 0;
171
- white-space: nowrap;
172
- }
173
- }
174
- }
175
-
176
- &::after {
177
- content: "";
178
- position: absolute;
179
- inset: 0;
180
- z-index: 0;
181
- }
182
- }
183
-
184
- // Visually align card content if placed in a grid column
185
- @include at-media("tablet") {
186
- [class*="grid-col-"] > .blocks-card {
187
- .blocks-card__content-container {
188
- align-items: stretch;
189
- }
190
-
191
- .blocks-card__actions {
192
- margin-top: auto;
193
- }
194
- }
195
- }
196
-
197
- // THEME
198
- .blocks-card {
199
- &::after {
200
- @include blocks-card-overlay($theme-card-overlay-color);
201
- }
202
-
203
- &--dark {
204
- &::after {
205
- @include blocks-card-overlay($theme-card-overlay-dark-color);
206
- }
207
- }
208
-
209
- &--brand {
210
- &::after {
211
- @include blocks-card-overlay($theme-card-overlay-brand-color);
212
- }
213
- }
214
-
215
- &--image-left,
216
- &--image-right {
217
- background-color: color($theme-card-overlay-color);
218
-
219
- &::after {
220
- background: none;
221
- }
222
- }
223
-
224
- &--dark.blocks-card--image-left,
225
- &--dark.blocks-card--image-right {
226
- background-color: color($theme-card-overlay-dark-color);
227
- }
228
-
229
- &--brand.blocks-card--image-left,
230
- &--brand.blocks-card--image-right {
231
- background-color: color($theme-card-overlay-brand-color);
232
- }
233
-
234
- &__title {
235
- color: color($theme-card-title-color);
236
- font-family: family($theme-card-font-family);
237
- font-size: size("heading", "xl");
238
- font-weight: font-weight("bold");
239
- line-height: lh("heading", 1);
240
- }
241
-
242
- &__subtitle {
243
- color: color($theme-card-text-color);
244
- font-family: family($theme-card-font-family);
245
- font-size: size("heading", "xl");
246
- line-height: lh("heading", 3);
247
- }
248
-
249
- &__description {
250
- color: color($theme-card-text-color);
251
- font-family: family($theme-card-font-family);
252
- font-size: size("body", "sm");
253
- font-weight: font-weight("normal");
254
- line-height: lh("body", 5);
255
- }
256
-
257
- &--dark {
258
- .blocks-card__title {
259
- color: color($theme-card-title-dark-color);
260
- }
261
-
262
- .blocks-card__subtitle {
263
- color: color($theme-card-text-dark-color);
264
- }
265
-
266
- .blocks-card__description {
267
- color: color($theme-card-text-dark-color);
268
- }
269
- }
270
-
271
- &--brand {
272
- .blocks-card__title {
273
- color: color($theme-card-title-brand-color);
274
- }
275
-
276
- .blocks-card__subtitle {
277
- color: color($theme-card-text-brand-color);
278
- }
279
-
280
- .blocks-card__description {
281
- color: color($theme-card-text-brand-color);
282
- }
283
- }
284
- }
@@ -1,15 +0,0 @@
1
- @use "uswds-core" as *;
2
-
3
- $theme-compare-swiper-bgcolor: "primary" !default;
4
-
5
- .blocks-compare-map {
6
- position: relative;
7
- width: 100%;
8
- flex: 1;
9
- min-height: 0;
10
-
11
- // Override mapbox-gl-compare handle color
12
- .mapboxgl-compare .compare-swiper-vertical {
13
- background-color: color($theme-compare-swiper-bgcolor);
14
- }
15
- }