@cdc/data-bite 1.1.1 → 1.1.3

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.
package/src/index.html ADDED
@@ -0,0 +1,19 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta
6
+ name="viewport"
7
+ content="width=device-width, initial-scale=1, shrink-to-fit=no"
8
+ />
9
+ <style>
10
+ body {
11
+ margin: 0;
12
+ }
13
+ </style>
14
+ </head>
15
+ <body>
16
+ <div class="react-container" data-config="/examples/example-config.json"></div>
17
+ <noscript>You need to enable JavaScript to run this app.</noscript>
18
+ </body>
19
+ </html>
package/src/index.tsx ADDED
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { render } from 'react-dom';
3
+ import CdcDataBite from './CdcDataBite';
4
+
5
+ const domContainers = document.querySelectorAll('.react-container');
6
+
7
+ let isEditor = window.location.href.includes('editor=true');
8
+
9
+ domContainers.forEach((domContainer) => {
10
+ render(
11
+ <React.StrictMode>
12
+ <CdcDataBite configUrl={domContainer.attributes['data-config']?.value} isEditor={isEditor} />
13
+ </React.StrictMode>,
14
+ domContainer,
15
+ );
16
+ });
@@ -0,0 +1,374 @@
1
+ @import "../../../core/styles/variables";
2
+
3
+ &.is-editor {
4
+ position: relative;
5
+ .cdc-data-bite-inner-container {
6
+ margin: 3em auto 0;
7
+ max-width: 35em;
8
+ }
9
+ }
10
+ &.theme-blue {
11
+ .bite-value {
12
+ color: $primary;
13
+ }
14
+
15
+ .bite-header {
16
+ background-color: $primary;
17
+ }
18
+ }
19
+
20
+ &.theme-purple {
21
+ .bite-value {
22
+ color: $purple-primary;
23
+ }
24
+ .bite-header {
25
+ background-color: $purple-primary;
26
+ }
27
+ }
28
+
29
+ &.theme-amber {
30
+ .bite-value {
31
+ color: $amber-primary;
32
+ }
33
+ .bite-header {
34
+ background-color: $amber-primary;
35
+ }
36
+ }
37
+
38
+ &.theme-orange {
39
+ .bite-value {
40
+ color: $orange-primary;
41
+ }
42
+ .bite-header {
43
+ background-color: $orange-primary;
44
+ }
45
+ }
46
+
47
+ &.theme-brown {
48
+ .bite-value {
49
+ color: $brown-primary;
50
+ }
51
+ .bite-header {
52
+ background-color: $brown-primary;
53
+ }
54
+ }
55
+
56
+ &.theme-teal {
57
+ .bite-value {
58
+ color: $teal-primary;
59
+ }
60
+ .bite-header {
61
+ background-color: $teal-primary;
62
+ }
63
+ }
64
+
65
+ &.theme-pink {
66
+ .bite-value {
67
+ color: $pink-primary;
68
+ }
69
+ .bite-header {
70
+ background-color: $pink-primary;
71
+ }
72
+ }
73
+
74
+ &.theme-slate {
75
+ .bite-value {
76
+ color: $slate-primary;
77
+ }
78
+ .bite-header {
79
+ background-color: $slate-primary;
80
+ }
81
+ }
82
+
83
+ &.theme-indigo {
84
+ .bite-value {
85
+ color: $indigo-primary;
86
+ }
87
+ .bite-header {
88
+ background-color: $indigo-primary;
89
+ }
90
+ }
91
+
92
+ &.theme-cyan {
93
+ .bite-value {
94
+ color: $cyan-primary;
95
+ }
96
+ .bite-header {
97
+ background-color: $cyan-primary;
98
+ }
99
+ }
100
+
101
+ &.theme-green {
102
+ .bite-value {
103
+ color: $green-primary;
104
+ }
105
+ .bite-header {
106
+ background-color: $green-primary;
107
+ }
108
+ }
109
+ .bite-header {
110
+ padding: 0 1em;
111
+ left: 0;
112
+ top: 0;
113
+ padding: 0.6rem 0.8rem;
114
+ color: white;
115
+ font-size:1.1em;
116
+ &:empty {
117
+ min-height: 5px;
118
+ }
119
+ }
120
+
121
+
122
+
123
+ .cdc-data-bite-inner-container {
124
+ .bite-header + .bite { border-top: 0; }
125
+ .bite {
126
+ position: relative;
127
+ overflow: hidden;
128
+ border-top: none;
129
+ background: $lightestGray;
130
+ border: solid 1px $lightGray;
131
+ border-bottom-left-radius: 3px;
132
+ border-bottom-right-radius: 3px;
133
+
134
+ &-header {
135
+ border-top-left-radius: 3px;
136
+ border-top-right-radius: 3px;
137
+ }
138
+
139
+ &.no-borders {
140
+ border: none;
141
+ }
142
+
143
+ &.shadow {
144
+ box-shadow: rgba(0, 0, 0, 0.2) 0 3px 10px;
145
+ }
146
+ &.theme-blue {
147
+ .bite-value {
148
+ color: $primary;
149
+ }
150
+
151
+ .bite-header {
152
+ background-color: $primary;
153
+ }
154
+ }
155
+
156
+ &.theme-purple {
157
+ .bite-value {
158
+ color: $purple-primary;
159
+ }
160
+ .bite-header {
161
+ background-color: $purple-primary;
162
+ }
163
+ }
164
+
165
+ &.theme-amber {
166
+ .bite-value {
167
+ color: $amber-primary;
168
+ }
169
+ .bite-header {
170
+ background-color: $amber-primary;
171
+ }
172
+ }
173
+
174
+ &.theme-orange {
175
+ .bite-value {
176
+ color: $orange-primary;
177
+ }
178
+ .bite-header {
179
+ background-color: $orange-primary;
180
+ }
181
+ }
182
+
183
+ &.theme-brown {
184
+ .bite-value {
185
+ color: $brown-primary;
186
+ }
187
+ .bite-header {
188
+ background-color: $brown-primary;
189
+ }
190
+ }
191
+
192
+ &.theme-teal {
193
+ .bite-value {
194
+ color: $teal-primary;
195
+ }
196
+ .bite-header {
197
+ background-color: $teal-primary;
198
+ }
199
+ }
200
+
201
+ &.theme-pink {
202
+ .bite-value {
203
+ color: $pink-primary;
204
+ }
205
+ .bite-header {
206
+ background-color: $pink-primary;
207
+ }
208
+ }
209
+
210
+ &.theme-slate {
211
+ .bite-value {
212
+ color: $slate-primary;
213
+ }
214
+ .bite-header {
215
+ background-color: $slate-primary;
216
+ }
217
+ }
218
+
219
+ &.theme-indigo {
220
+ .bite-value {
221
+ color: $indigo-primary;
222
+ }
223
+ .bite-header {
224
+ background-color: $indigo-primary;
225
+ }
226
+ }
227
+
228
+ &.theme-cyan {
229
+ .bite-value {
230
+ color: $cyan-primary;
231
+ }
232
+ .bite-header {
233
+ background-color: $cyan-primary;
234
+ }
235
+ }
236
+
237
+ &.theme-green {
238
+ .bite-value {
239
+ color: $green-primary;
240
+ }
241
+ .bite-header {
242
+ background-color: $green-primary;
243
+ }
244
+ }
245
+
246
+ h3 {
247
+ margin: 0;
248
+ font-size: 1em;
249
+ }
250
+
251
+ .bite-image {
252
+ width: 100%;
253
+ min-width: 100px;
254
+ align-self: center;
255
+ border-radius: .3em;
256
+ }
257
+
258
+ .bite-content-container {
259
+ display: flex;
260
+ padding: 1em 1em;
261
+ justify-content: space-between;
262
+
263
+ .bite-content {
264
+ display: flex;
265
+ flex-direction: column;
266
+ flex-grow: 1;
267
+
268
+ .bite-value {
269
+ font-size: 2em;
270
+ font-weight: 800;
271
+ line-height: 1.25em;
272
+ }
273
+
274
+ .data-bite-body {
275
+ margin-right: 5px;
276
+ }
277
+
278
+ .bite-text {
279
+ margin-bottom: 15px;
280
+ color: #222;
281
+ flex: 1 0 auto;
282
+ }
283
+
284
+ .bite-subtext {
285
+ font-size: .9em;
286
+ font-style: italic;
287
+ }
288
+ }
289
+ }
290
+
291
+ .callout {
292
+ flex-shrink: 0;
293
+ }
294
+
295
+ &.bite-left .callout {
296
+ width: 33%;
297
+ margin-right: 1.5em;
298
+ }
299
+
300
+ &.bite-right {
301
+ .callout {
302
+ width: 33%;
303
+ margin-left: 1.5em;
304
+ }
305
+ .bite-content-container {
306
+ flex-direction: row-reverse;
307
+ }
308
+ }
309
+
310
+ &.bite-top {
311
+ .bite-content-container {
312
+ flex-direction: column;
313
+
314
+ .bite-image {
315
+ margin: 0 0 0.6em 0;
316
+ }
317
+
318
+ .circle-callout {
319
+ margin: 0 auto;
320
+ max-width: 75%;
321
+ }
322
+
323
+ > :nth-child(1) {
324
+ margin-bottom: 10px;
325
+ }
326
+ }
327
+ }
328
+
329
+ &.bite-bottom {
330
+ .bite-content-container {
331
+ flex-direction: column;
332
+
333
+ .bite-image {
334
+ margin: 0;
335
+ }
336
+
337
+ .circle-callout {
338
+ margin: 0 auto;
339
+ max-width: 75%;
340
+ }
341
+
342
+ > :nth-child(1) {
343
+ margin-bottom: 10px;
344
+ }
345
+ }
346
+ }
347
+
348
+ &.bite-back {
349
+ .bite-content-container {
350
+ .bite-image {
351
+ border-radius: 0 0 0.3em 0.3em;
352
+ position: absolute;
353
+ top: 0;
354
+ left: 0;
355
+ width: 100%;
356
+ }
357
+ }
358
+ }
359
+
360
+ // General: Compact View
361
+ &.bite--isCompactStyle .bite .cove-component__content .bite-content {
362
+ align-items: center;
363
+ p.bite-text {
364
+ margin-bottom: 0;
365
+ }
366
+ }
367
+
368
+ &.bite--isCompactStyle .bite .cove-component__content {
369
+ align-items: center;
370
+ }
371
+
372
+ .cove-component__header + .bite { border-top: 0; }
373
+ }
374
+ }