@candidhealth/react-vitals 1.0.0-alpha.6 → 1.0.0-alpha.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 (2) hide show
  1. package/package.json +6 -2
  2. package/theme.css +377 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@candidhealth/react-vitals",
3
- "version": "1.0.0-alpha.6",
3
+ "version": "1.0.0-alpha.8",
4
4
  "homepage": "https://vitals.joincandidhealth.com/",
5
5
  "type": "module",
6
6
  "exports": {
@@ -20,7 +20,8 @@
20
20
  "module": "./dist/index.mjs",
21
21
  "types": "./dist/index.d.ts",
22
22
  "files": [
23
- "dist"
23
+ "dist",
24
+ "theme.css"
24
25
  ],
25
26
  "sideEffects": [
26
27
  "*.css"
@@ -38,6 +39,9 @@
38
39
  "@fortawesome/free-solid-svg-icons": "^6.0.0"
39
40
  },
40
41
  "dependencies": {
42
+ "@tanstack/react-virtual": "^3.2.0",
43
+ "motion": "^12.0.0",
44
+ "use-effect-event": "^2.0.3",
41
45
  "@radix-ui/react-accordion": "^0.1.6",
42
46
  "@radix-ui/react-collapsible": "^1.0.3",
43
47
  "@radix-ui/react-dialog": "1.1.6",
package/theme.css ADDED
@@ -0,0 +1,377 @@
1
+ @theme {
2
+ --spacing: 0.25rem;
3
+ --spacing-xs: 1.625rem;
4
+ --spacing-sm: 2rem;
5
+ --spacing-md: 2.375rem;
6
+ --spacing-lg: 3.125rem;
7
+
8
+ /*
9
+ Setting the --radius variables overwrites the defaults for tailwind rounded (sm-3xl)
10
+ Custom brand (reduced by 2px) vs. Original Tailwind Defaults
11
+ --radius: 0.125rem (2px) vs. 0.25rem (4px)
12
+ --radius-sm: 0rem (0px) vs. 0.125rem (2px)
13
+ --radius-md: 0.25rem (4px) vs. 0.375rem (6px)
14
+ --radius-lg: 0.375rem (6px) vs. 0.5rem (8px)
15
+ --radius-xl: 0.625rem (10px) vs. 0.75rem (12px)
16
+ --radius-2xl: 0.875rem (14px) vs. 1rem (16px)
17
+ --radius-3xl: 1.375rem (22px) vs. 1.5rem (24px)
18
+ */
19
+
20
+ --radius: 0.125rem;
21
+ --radius-sm: 0rem;
22
+ --radius-md: 0.25rem;
23
+ --radius-lg: 0.375rem;
24
+ --radius-xl: 0.625rem;
25
+ --radius-2xl: 0.875rem;
26
+ --radius-3xl: 1.375rem;
27
+
28
+ --max-width-xs: 20rem;
29
+ --max-width-sm: 24rem;
30
+ --max-width-md: 28rem;
31
+ --max-width-lg: 32rem;
32
+
33
+ --text-xxs: 0.5rem;
34
+ --text-xxs--line-height: 0.75rem;
35
+ --text-xs: 0.625rem;
36
+ --text-xs--line-height: 1rem;
37
+ --text-sm: 0.75rem;
38
+ --text-sm--line-height: 1rem;
39
+ --text-base: 0.875rem;
40
+ --text-base--line-height: 1.25rem;
41
+ --text-lg: 1rem;
42
+ --text-lg--line-height: 1.5rem;
43
+ --text-xl: 1.125rem;
44
+ --text-xl--line-height: 1.75rem;
45
+ --text-2xl: 1.25rem;
46
+ --text-2xl--line-height: 1.75rem;
47
+ --text-3xl: 1.5rem;
48
+ --text-3xl--line-height: 2rem;
49
+ --text-4xl: 1.875rem;
50
+ --text-4xl--line-height: 2.25rem;
51
+
52
+ /* ---------------------------------------------------- */
53
+ /* MARKETING & HEADLINE TOKENS (Inter, Light/300) */
54
+ /* ---------------------------------------------------- */
55
+
56
+ /* Marketing Headline (3.75rem / 60px) */
57
+ --text-marketing-headline: 3.75rem;
58
+ --text-marketing-headline--line-height: 4.5rem;
59
+ --text-marketing-headline--letter-spacing: -0.0625rem;
60
+ --text-marketing-headline--font-weight: 300;
61
+
62
+ /* Headline 1 (3rem / 48px) */
63
+ --text-headline-1: 3rem;
64
+ --text-headline-1--line-height: 3.75rem;
65
+ --text-headline-1--letter-spacing: -0.0625rem;
66
+ --text-headline-1--font-weight: 300;
67
+
68
+ /* Headline 2 (2.5rem / 40px) */
69
+ --text-headline-2: 2.5rem;
70
+ --text-headline-2--line-height: 3rem;
71
+ --text-headline-2--letter-spacing: -0.05rem;
72
+ --text-headline-2--font-weight: 300;
73
+
74
+ /* Headline 3 (2rem / 32px) */
75
+ --text-headline-3: 2rem;
76
+ --text-headline-3--line-height: 2.5rem;
77
+ --text-headline-3--letter-spacing: -0.0375rem;
78
+ --text-headline-3--font-weight: 300;
79
+
80
+ /* Headline 4 (1.5rem / 24px) */
81
+ --text-headline-4: 1.5rem;
82
+ --text-headline-4--line-height: 2rem;
83
+ --text-headline-4--letter-spacing: -0.0375rem;
84
+ --text-headline-4--font-weight: 300;
85
+
86
+ /* ---------------------------------------------------- */
87
+ /* TITLE TOKENS (Inter, Medium/500) */
88
+ /* ---------------------------------------------------- */
89
+
90
+ /* Title 1 (1.5rem / 24px) */
91
+ --text-title-1: 1.5rem;
92
+ --text-title-1--line-height: 2rem;
93
+ --text-title-1--letter-spacing: -0.0375rem;
94
+ --text-title-1--font-weight: 500;
95
+
96
+ /* Title 2 (1.125rem / 18px) */
97
+ --text-title-2: 1.125rem;
98
+ --text-title-2--line-height: 1.5rem;
99
+ --text-title-2--letter-spacing: -0.025rem;
100
+ --text-title-2--font-weight: 500;
101
+
102
+ /* Title 3 (0.875rem / 14px) */
103
+ --text-title-3: 0.875rem;
104
+ --text-title-3--line-height: 1.25rem;
105
+ --text-title-3--letter-spacing: -0.025rem;
106
+ --text-title-3--font-weight: 500;
107
+
108
+ /* ---------------------------------------------------- */
109
+ /* BODY TOKENS (Inter, Regular/400) */
110
+ /* ---------------------------------------------------- */
111
+
112
+ /* Body 1 (0.875rem / 14px) */
113
+ --text-body-1: 0.875rem;
114
+ --text-body-1--line-height: 1.25rem;
115
+ --text-body-1--letter-spacing: -0.0125rem;
116
+ --text-body-1--font-weight: 400;
117
+
118
+ /* Body 2 (0.75rem / 12px) */
119
+ --text-body-2: 0.75rem;
120
+ --text-body-2--line-height: 1.125rem;
121
+ --text-body-2--letter-spacing: -0.0125rem;
122
+ --text-body-2--font-weight: 400;
123
+
124
+ /* ---------------------------------------------------- */
125
+ /* LABEL, FOOTNOTE & SMALLCAPS TOKENS */
126
+ /* ---------------------------------------------------- */
127
+
128
+ /* Label (0.75rem / 12px, Medium/500) */
129
+ --text-label: 0.75rem;
130
+ --text-label--line-height: 1.125rem;
131
+ --text-label--letter-spacing: -0.0125rem;
132
+ --text-label--font-weight: 500;
133
+
134
+ /* Footnote (0.625rem / 10px, Regular/400) */
135
+ --text-footnote: 0.625rem;
136
+ --text-footnote--line-height: 1rem;
137
+ --text-footnote--letter-spacing: -0.0125rem;
138
+ --text-footnote--font-weight: 400;
139
+
140
+ /* Small Caps (0.625rem / 10px, Medium/500) */
141
+ --text-smallcaps: 0.625rem;
142
+ --text-smallcaps--line-height: 1rem;
143
+ --text-smallcaps--letter-spacing: 0.0375rem;
144
+ --text-smallcaps--font-weight: 500;
145
+
146
+ --color-indigo-50: #ebf0ff;
147
+ --color-indigo-100: #dbe3ff;
148
+ --color-indigo-200: #b5bfff;
149
+ --color-indigo-300: #93a0f9;
150
+ --color-indigo-400: #7081f2;
151
+ --color-indigo-500: #5164f4;
152
+ --color-indigo-600: #3c43ee;
153
+ --color-indigo-700: #2e04e8;
154
+ --color-indigo-800: #26129d;
155
+ --color-indigo-900: #190b5b;
156
+
157
+ --color-gray-50: #fafafa;
158
+ --color-gray-100: #f4f4f6;
159
+ --color-gray-200: #e8e8eb;
160
+ --color-gray-300: #c0c0c6;
161
+ --color-gray-400: #91919c;
162
+ --color-gray-500: #72727f;
163
+ --color-gray-600: #54545e;
164
+ --color-gray-700: #3d3e45;
165
+ --color-gray-800: #252529;
166
+ --color-gray-900: #141415;
167
+
168
+ --color-yellow-50: #fefce7;
169
+ --color-yellow-100: #fef9c6;
170
+ --color-yellow-200: #fef08c;
171
+ --color-yellow-300: #fde247;
172
+ --color-yellow-400: #f1c805;
173
+ --color-yellow-500: #d7ac0a;
174
+ --color-yellow-600: #b5890b;
175
+ --color-yellow-700: #906f0f;
176
+ --color-yellow-800: #7e5c11;
177
+ --color-yellow-900: #63430c;
178
+
179
+ --color-green-50: #ecfdf5;
180
+ --color-green-100: #d1fae5;
181
+ --color-green-200: #a7f3d0;
182
+ --color-green-300: #6ee7b7;
183
+ --color-green-400: #34d399;
184
+ --color-green-500: #10b981;
185
+ --color-green-600: #0d9e71;
186
+ --color-green-700: #148261;
187
+ --color-green-800: #0c654c;
188
+ --color-green-900: #064e3b;
189
+
190
+ --color-red-50: #fef5f4;
191
+ --color-red-100: #fee4e2;
192
+ --color-red-200: #fececa;
193
+ --color-red-300: #fca5a5;
194
+ --color-red-400: #f87e71;
195
+ --color-red-500: #ea533f;
196
+ --color-red-600: #d4361e;
197
+ --color-red-700: #bd2f1d;
198
+ --color-red-800: #99301b;
199
+ --color-red-900: #7f311d;
200
+
201
+ --color-inherit: inherit;
202
+
203
+ /* ---------------------------------------------------- */
204
+ /* SEMANTIC COLOR TOKENS */
205
+ /* ---------------------------------------------------- */
206
+
207
+ /* Text/Icon Semantic Colors */
208
+ --color-dark: var(--color-gray-900);
209
+ --color-neutral: var(--color-gray-700);
210
+ --color-muted: var(--color-gray-500);
211
+ --color-disabled: var(--color-gray-300);
212
+ --color-placeholder: var(--color-gray-400);
213
+ --color-primary: var(--color-indigo-700);
214
+ --color-warning: var(--color-yellow-700);
215
+ --color-success: var(--color-green-700);
216
+ --color-danger: var(--color-red-600);
217
+ --color-white: #ffffff;
218
+
219
+ /* Background Semantic Colors */
220
+ --background-color-surface-dark: var(--color-gray-200);
221
+ --background-color-surface-primary: var(--color-indigo-50);
222
+ --background-color-surface-neutral: var(--color-gray-100);
223
+ --background-color-surface-light: var(--color-gray-50);
224
+ --background-color-surface-success: var(--color-green-100);
225
+ --background-color-surface-danger: var(--color-red-100);
226
+ --background-color-surface-warning: var(--color-yellow-100);
227
+
228
+ /* Background Button Colors */
229
+ --background-color-button-white: var(--color-white);
230
+ --background-color-button-white-hover: var(--color-gray-100);
231
+ --background-color-button-white-pressed: var(--color-gray-200);
232
+ --background-color-button-white-disabled: var(--color-gray-50);
233
+
234
+ --background-color-button-primary: var(--color-indigo-700);
235
+ --background-color-button-primary-hover: var(--color-indigo-800);
236
+ --background-color-button-primary-pressed: var(--color-indigo-900);
237
+ --background-color-button-primary-disabled: var(--color-indigo-200);
238
+
239
+ --background-color-button-danger: var(--color-red-500);
240
+ --background-color-button-danger-hover: var(--color-red-600);
241
+ --background-color-button-danger-pressed: var(--color-red-700);
242
+ --background-color-button-danger-disabled: var(--color-red-200);
243
+
244
+ /* Border Semantic Colors */
245
+ --border-color-surface-light: var(--color-gray-100);
246
+ --border-color-surface-neutral: var(--color-gray-200);
247
+ --border-color-surface-dark: var(--color-gray-300);
248
+ --border-color-surface-accessible: var(--color-gray-400);
249
+ --border-color-surface-primary: var(--color-indigo-100);
250
+ --border-color-surface-success: var(--color-green-200);
251
+ --border-color-surface-danger: var(--color-red-200);
252
+ --border-color-surface-warning: var(--color-yellow-200);
253
+
254
+ /* Border Button Colors */
255
+ --border-color-button-white: var(--color-gray-200);
256
+ --border-color-button-white-hover: var(--color-gray-400);
257
+ --border-color-button-white-pressed: var(--color-gray-500);
258
+ --border-color-button-white-disabled: var(--color-gray-200);
259
+
260
+ --border-color-button-primary: var(--color-indigo-700);
261
+ --border-color-button-primary-hover: var(--color-indigo-800);
262
+ --border-color-button-primary-pressed: var(--color-indigo-900);
263
+ --border-color-button-primary-disabled: var(--color-indigo-200);
264
+
265
+ --border-color-button-danger: var(--color-red-500);
266
+ --border-color-button-danger-hover: var(--color-red-600);
267
+ --border-color-button-danger-pressed: var(--color-red-700);
268
+ --border-color-button-danger-disabled: var(--color-red-200);
269
+
270
+ --transition-property-width: width;
271
+ --transition-property-height: height;
272
+
273
+ --shadow-sm: 0px 0px 0px 1px rgba(0, 0, 0, 0.02), 0px 0px 1px rgba(0, 0, 0, 0.05);
274
+ --shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.02), 0px 1px 3px rgba(0, 0, 0, 0.1), 0px 1px 2px rgba(0, 0, 0, 0.06);
275
+ --shadow-md:
276
+ 0px 0px 0px 1px rgba(0, 0, 0, 0.02), 0px 4px 6px -1px rgba(0, 0, 0, 0.1), 0px 2px 4px -1px rgba(0, 0, 0, 0.06);
277
+ --shadow-lg:
278
+ 0px 0px 12px rgba(0, 0, 0, 0.05), 0px 10px 15px -3px rgba(0, 0, 0, 0.1), 0px 4px 6px -2px rgba(0, 0, 0, 0.05);
279
+ --shadow-xl:
280
+ 0px 0px 12px rgba(0, 0, 0, 0.05), 0px 20px 25px -5px rgba(0, 0, 0, 0.1), 0px 10px 10px -5px rgba(0, 0, 0, 0.04);
281
+
282
+ --backdrop-blur-xs: 2px;
283
+
284
+ --animate-quick-spin: spin 500ms linear infinite;
285
+ --animate-fade-in: fade-in 150ms ease-in;
286
+ --animate-fade-in-custom-easing: fade-in 150ms ease-[cubic-bezier(0.16, 1, 0.3, 1)];
287
+ --animate-fade-in-subtle-movement: fade-in-subtle-movement 150ms ease-[cubic-bezier(0.16, 1, 0.3, 1)];
288
+ --animate-skeleton-pulse: skeleton-pulse 2s ease-in-out infinite;
289
+ --animate-loading-pulse: loading-pulse 2s ease-in-out infinite;
290
+ --animate-collapsible-up: collapsibleSlideUp 200ms ease;
291
+ --animate-collapsible-down: collapsibleSlideDown 200ms ease;
292
+ --animate-loading-slide: loading-slide 2s linear infinite;
293
+ --animate-orbit-large: orbit-large 1.3s linear infinite;
294
+ --animate-orbit-small: orbit-small 1.1s linear infinite;
295
+
296
+ --z-index-drawer-header: 40;
297
+ --z-index-drawer: 48;
298
+
299
+ @keyframes loading-slide {
300
+ 0% {
301
+ transform: translateX(-90%);
302
+ }
303
+ 100% {
304
+ transform: translateX(200%);
305
+ }
306
+ }
307
+ @keyframes fade-in {
308
+ from {
309
+ opacity: 0;
310
+ }
311
+ to {
312
+ opacity: 1;
313
+ }
314
+ }
315
+ @keyframes fade-in-subtle-movement {
316
+ from {
317
+ opacity: 0;
318
+ transform: translate(-50%, -48%) scale(0.96);
319
+ }
320
+ to {
321
+ opacity: 1;
322
+ transform: translate(-50%, -50%) scale(1);
323
+ }
324
+ }
325
+ @keyframes loading-pulse {
326
+ 0%,
327
+ 100% {
328
+ opacity: 0.5;
329
+ }
330
+ 50% {
331
+ opacity: 0.3;
332
+ }
333
+ }
334
+ @keyframes skeleton-pulse {
335
+ 0% {
336
+ background-color: #eee;
337
+ }
338
+ 50% {
339
+ background-color: #f4f4f4;
340
+ }
341
+ 100% {
342
+ background-color: #eee;
343
+ }
344
+ }
345
+ @keyframes collapsibleSlideDown {
346
+ from {
347
+ height: 0;
348
+ }
349
+ to {
350
+ height: var(--radix-collapsible-content-height);
351
+ }
352
+ }
353
+ @keyframes collapsibleSlideUp {
354
+ from {
355
+ height: var(--radix-collapsible-content-height);
356
+ }
357
+ to {
358
+ height: 0;
359
+ }
360
+ }
361
+ @keyframes orbit-large {
362
+ from {
363
+ transform: rotate(0deg);
364
+ }
365
+ to {
366
+ transform: rotate(360deg);
367
+ }
368
+ }
369
+ @keyframes orbit-small {
370
+ from {
371
+ transform: rotate(180deg);
372
+ }
373
+ to {
374
+ transform: rotate(-180deg);
375
+ }
376
+ }
377
+ }