@libretexts/davis-core 1.0.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../src/variants.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,mBAAmB,QAWrB,CAAC;AAEZ,eAAO,MAAM,eAAe;;;;;;;;CAgD3B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;CAIhC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;CAGnC,CAAC;AAEF,eAAO,MAAM,YAAY,kEAAkE,CAAC;AAC5F,eAAO,MAAM,eAAe,yEAAyE,CAAC;AAEtG,eAAO,MAAM,mBAAmB;;;;CAI/B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;CAGlC,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;CAIxC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;CAIhC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;CAGnC,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAUjB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAWrB,CAAC;AAEH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCA6BhB,CAAC;AAEH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAqCnB,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCA8BjB,CAAC;AAEH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAgBnB,CAAC;AAEH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAehB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCA6CvB,CAAC;AAEH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAiDhB,CAAC;AAEH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCA4ChB,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;CAMhC,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAQjB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAgCvB,CAAC;AAEH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAWlB,CAAC;AAEH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCA6Bf,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;CAMhC,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCA0BjB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCActB,CAAC;AAEH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAwBlB,CAAC"}
@@ -0,0 +1,576 @@
1
+ /**
2
+ * Davis Design System — Component Variant Definitions
3
+ *
4
+ * Framework-agnostic variant definitions using tailwind-variants.
5
+ * These produce class strings consumed by React and Vue components.
6
+ *
7
+ * Elevation levels used in variants:
8
+ * Level 0: none — Flat elements (disabled, inline)
9
+ * Level 1: sm/DEFAULT — Cards, dropdowns at rest
10
+ * Level 2: md — Hovered cards, active dropdowns
11
+ * Level 3: lg — Dialogs, popovers, floating panels (max for most UI)
12
+ * Level 4: xl/2xl — Reserved for rare high-emphasis overlays
13
+ *
14
+ * Focus patterns:
15
+ * - Buttons/controls: focus:ring-2 focus:ring-offset-2 focus:ring-{color}
16
+ * - Inputs: focus:outline-2 focus:-outline-offset-2 focus:outline-primary
17
+ * - Links: focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2
18
+ */
19
+ import { tv } from 'tailwind-variants';
20
+ export const BUTTON_BASE_CLASSES = [
21
+ 'inline-flex items-center justify-center',
22
+ 'font-medium',
23
+ 'transition-all',
24
+ 'duration-200',
25
+ 'focus:outline-none',
26
+ 'focus:ring-2',
27
+ 'focus:ring-offset-2',
28
+ 'disabled:opacity-50',
29
+ 'disabled:cursor-not-allowed',
30
+ 'rounded-md',
31
+ ].join(' ');
32
+ export const BUTTON_VARIANTS = {
33
+ primary: [
34
+ 'bg-primary',
35
+ 'text-white',
36
+ 'hover:bg-primary-600',
37
+ 'focus:ring-primary',
38
+ ].join(' '),
39
+ secondary: [
40
+ 'border',
41
+ 'border-primary',
42
+ 'bg-transparent',
43
+ 'text-primary',
44
+ 'hover:bg-primary',
45
+ 'hover:text-white',
46
+ 'focus:ring-primary',
47
+ ].join(' '),
48
+ tertiary: [
49
+ 'bg-gray-100',
50
+ 'text-gray-700',
51
+ 'hover:bg-gray-200',
52
+ 'focus:ring-gray-500',
53
+ ].join(' '),
54
+ destructive: [
55
+ 'bg-danger',
56
+ 'text-white',
57
+ 'hover:bg-red-700',
58
+ 'focus:ring-danger',
59
+ ].join(' '),
60
+ warning: [
61
+ 'bg-amber-500',
62
+ 'text-white',
63
+ 'hover:bg-amber-600',
64
+ 'focus:ring-amber-500',
65
+ ].join(' '),
66
+ ghost: [
67
+ 'bg-transparent',
68
+ 'text-gray-700',
69
+ 'hover:bg-gray-100',
70
+ 'focus:ring-gray-500',
71
+ ].join(' '),
72
+ outline: [
73
+ 'border',
74
+ 'border-gray-300',
75
+ 'bg-transparent',
76
+ 'text-gray-700',
77
+ 'hover:bg-gray-50',
78
+ 'focus:ring-gray-500',
79
+ ].join(' '),
80
+ };
81
+ export const BUTTON_SIZE_VARIANTS = {
82
+ sm: 'px-3 py-1.5 text-sm',
83
+ md: 'px-6 py-2 text-base',
84
+ lg: 'px-8 py-3 text-lg',
85
+ };
86
+ export const BUTTON_DEFAULT_VARIANTS = {
87
+ variant: 'primary',
88
+ size: 'md',
89
+ };
90
+ export const INPUTS_FOCUS = 'focus:outline-2 focus:-outline-offset-2 focus:outline-primary';
91
+ export const INPUTS_DISABLED = 'disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-gray-100';
92
+ export const INPUT_SIZE_VARIANTS = {
93
+ sm: 'px-3 py-1.5 text-sm',
94
+ md: 'px-3 py-2 text-base',
95
+ lg: 'px-4 py-3 text-lg',
96
+ };
97
+ export const INPUT_DEFAULT_VARIANTS = {
98
+ variant: 'default',
99
+ size: 'md',
100
+ };
101
+ export const CHECKBOX_RADIO_SIZE_VARIANTS = {
102
+ sm: 'size-3.5',
103
+ md: 'size-4',
104
+ lg: 'size-5',
105
+ };
106
+ export const TOGGLE_SIZE_VARIANTS = {
107
+ sm: 'size-5',
108
+ md: 'size-6',
109
+ lg: 'size-7',
110
+ };
111
+ export const TOGGLE_DEFAULT_VARIANTS = {
112
+ checked: false,
113
+ size: 'md',
114
+ };
115
+ export const button = tv({
116
+ base: BUTTON_BASE_CLASSES,
117
+ variants: {
118
+ variant: BUTTON_VARIANTS,
119
+ size: BUTTON_SIZE_VARIANTS,
120
+ fullWidth: {
121
+ true: 'w-full',
122
+ },
123
+ },
124
+ defaultVariants: BUTTON_DEFAULT_VARIANTS,
125
+ });
126
+ export const iconButton = tv({
127
+ base: BUTTON_BASE_CLASSES,
128
+ variants: {
129
+ variant: BUTTON_VARIANTS,
130
+ size: {
131
+ sm: 'size-8',
132
+ md: 'size-10',
133
+ lg: 'size-12',
134
+ },
135
+ },
136
+ defaultVariants: BUTTON_DEFAULT_VARIANTS,
137
+ });
138
+ export const input = tv({
139
+ base: [
140
+ 'block w-full',
141
+ 'rounded-md',
142
+ 'bg-white',
143
+ 'text-gray-900',
144
+ 'border',
145
+ 'placeholder:text-gray-400',
146
+ 'transition-colors',
147
+ 'duration-200',
148
+ INPUTS_FOCUS,
149
+ INPUTS_DISABLED,
150
+ ].join(' '),
151
+ variants: {
152
+ variant: {
153
+ default: [
154
+ 'border-gray-400',
155
+ 'focus:border-primary',
156
+ ].join(' '),
157
+ error: [
158
+ 'border-danger',
159
+ 'focus:border-danger',
160
+ 'focus:outline-danger',
161
+ 'bg-red-50',
162
+ ].join(' '),
163
+ },
164
+ size: INPUT_SIZE_VARIANTS,
165
+ },
166
+ defaultVariants: INPUT_DEFAULT_VARIANTS,
167
+ });
168
+ export const textarea = tv({
169
+ base: [
170
+ 'block w-full',
171
+ 'rounded-md',
172
+ 'bg-white',
173
+ 'text-gray-900',
174
+ 'border',
175
+ 'placeholder:text-gray-400',
176
+ 'transition-colors',
177
+ 'duration-200',
178
+ 'resize-vertical',
179
+ INPUTS_FOCUS,
180
+ INPUTS_DISABLED,
181
+ ].join(' '),
182
+ variants: {
183
+ variant: {
184
+ default: [
185
+ 'border-gray-400',
186
+ 'focus:border-primary',
187
+ ].join(' '),
188
+ error: [
189
+ 'border-danger',
190
+ 'focus:border-danger',
191
+ 'focus:outline-danger',
192
+ 'bg-red-50',
193
+ ].join(' '),
194
+ },
195
+ size: INPUT_SIZE_VARIANTS,
196
+ autoResize: {
197
+ true: 'resize-none overflow-hidden',
198
+ false: '',
199
+ },
200
+ },
201
+ defaultVariants: {
202
+ ...INPUT_DEFAULT_VARIANTS,
203
+ autoResize: false,
204
+ },
205
+ });
206
+ export const select = tv({
207
+ base: [
208
+ 'block w-full',
209
+ 'rounded-md',
210
+ 'bg-white',
211
+ 'text-gray-900',
212
+ 'border',
213
+ 'transition-colors',
214
+ 'duration-200',
215
+ 'appearance-none',
216
+ 'pr-8',
217
+ INPUTS_FOCUS,
218
+ INPUTS_DISABLED,
219
+ ].join(' '),
220
+ variants: {
221
+ variant: {
222
+ default: [
223
+ 'border-gray-400',
224
+ 'focus:border-primary',
225
+ ].join(' '),
226
+ error: [
227
+ 'border-danger',
228
+ 'focus:border-danger',
229
+ 'focus:outline-danger',
230
+ 'bg-red-50',
231
+ ].join(' '),
232
+ },
233
+ size: INPUT_SIZE_VARIANTS,
234
+ },
235
+ defaultVariants: INPUT_DEFAULT_VARIANTS,
236
+ });
237
+ export const checkbox = tv({
238
+ base: [
239
+ 'rounded border bg-white',
240
+ 'border-gray-400',
241
+ 'group-data-[checked]:border-primary group-data-[checked]:bg-primary',
242
+ 'group-data-[indeterminate]:border-primary group-data-[indeterminate]:bg-primary',
243
+ 'group-data-[disabled]:border-gray-300 group-data-[disabled]:bg-gray-100',
244
+ ].join(' '),
245
+ variants: {
246
+ variant: {
247
+ default: '',
248
+ error: 'border-danger bg-red-50 group-data-[checked]:bg-danger',
249
+ },
250
+ size: CHECKBOX_RADIO_SIZE_VARIANTS,
251
+ },
252
+ defaultVariants: INPUT_DEFAULT_VARIANTS,
253
+ });
254
+ export const radio = tv({
255
+ base: [
256
+ 'rounded-full border bg-white',
257
+ 'border-gray-400',
258
+ 'group-data-[checked]:border-primary group-data-[checked]:bg-primary',
259
+ 'group-data-[disabled]:border-gray-300 group-data-[disabled]:bg-gray-100',
260
+ ].join(' '),
261
+ variants: {
262
+ variant: {
263
+ default: '',
264
+ error: 'border-danger bg-red-50 group-data-[checked]:bg-danger',
265
+ },
266
+ size: CHECKBOX_RADIO_SIZE_VARIANTS,
267
+ },
268
+ defaultVariants: INPUT_DEFAULT_VARIANTS,
269
+ });
270
+ export const switchToggle = tv({
271
+ slots: {
272
+ track: [
273
+ 'relative inline-flex shrink-0 cursor-pointer rounded-full border-2 border-transparent',
274
+ 'transition-colors duration-200 ease-in-out',
275
+ 'focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2',
276
+ 'disabled:cursor-not-allowed disabled:opacity-50',
277
+ ].join(' '),
278
+ thumb: [
279
+ 'pointer-events-none inline-block rounded-full bg-white shadow-lg ring-0',
280
+ 'transform transition duration-200 ease-in-out',
281
+ ].join(' '),
282
+ },
283
+ variants: {
284
+ size: {
285
+ sm: {
286
+ track: 'h-5 w-9',
287
+ thumb: 'h-4 w-4',
288
+ },
289
+ md: {
290
+ track: 'h-6 w-11',
291
+ thumb: 'h-5 w-5',
292
+ },
293
+ lg: {
294
+ track: 'h-7 w-14',
295
+ thumb: 'h-6 w-6',
296
+ },
297
+ },
298
+ checked: {
299
+ true: {
300
+ track: 'bg-primary',
301
+ thumb: 'translate-x-full',
302
+ },
303
+ false: {
304
+ track: 'bg-gray-200',
305
+ thumb: 'translate-x-0',
306
+ },
307
+ },
308
+ },
309
+ defaultVariants: TOGGLE_DEFAULT_VARIANTS,
310
+ compoundVariants: [
311
+ { size: 'sm', checked: true, class: { thumb: 'translate-x-4' } },
312
+ { size: 'md', checked: true, class: { thumb: 'translate-x-5' } },
313
+ { size: 'lg', checked: true, class: { thumb: 'translate-x-7' } },
314
+ ],
315
+ });
316
+ export const alert = tv({
317
+ slots: {
318
+ container: 'flex gap-3 rounded-md border p-4',
319
+ icon: 'shrink-0 size-5 mt-0.5',
320
+ body: 'flex-1 min-w-0',
321
+ title: 'text-sm font-semibold mb-0.5',
322
+ message: 'text-sm',
323
+ action: 'mt-2',
324
+ closeBtn: [
325
+ 'shrink-0 self-start rounded p-0.5 -mt-0.5 -mr-0.5',
326
+ 'focus:outline-none focus:ring-2 focus:ring-offset-1',
327
+ 'transition-colors duration-150',
328
+ ].join(' '),
329
+ },
330
+ variants: {
331
+ variant: {
332
+ info: {
333
+ container: 'bg-blue-50 border-blue-200',
334
+ icon: 'text-primary',
335
+ title: 'text-primary',
336
+ message: 'text-blue-700',
337
+ closeBtn: 'text-blue-400 hover:text-blue-600 hover:bg-blue-100 focus:ring-primary',
338
+ },
339
+ success: {
340
+ container: 'bg-green-50 border-green-200',
341
+ icon: 'text-success',
342
+ title: 'text-success',
343
+ message: 'text-green-700',
344
+ closeBtn: 'text-green-400 hover:text-green-600 hover:bg-green-100 focus:ring-success',
345
+ },
346
+ warning: {
347
+ container: 'bg-amber-50 border-amber-200',
348
+ icon: 'text-warning',
349
+ title: 'text-warning',
350
+ message: 'text-amber-700',
351
+ closeBtn: 'text-amber-400 hover:text-amber-600 hover:bg-amber-100 focus:ring-warning',
352
+ },
353
+ error: {
354
+ container: 'bg-red-50 border-red-200',
355
+ icon: 'text-danger',
356
+ title: 'text-danger',
357
+ message: 'text-red-700',
358
+ closeBtn: 'text-red-400 hover:text-red-600 hover:bg-red-100 focus:ring-danger',
359
+ },
360
+ },
361
+ },
362
+ defaultVariants: {
363
+ variant: 'info',
364
+ },
365
+ });
366
+ export const badge = tv({
367
+ slots: {
368
+ root: 'inline-flex items-center gap-1.5 rounded-full font-medium',
369
+ dot: 'rounded-full shrink-0',
370
+ remove: 'inline-flex items-center justify-center rounded hover:bg-black/10 focus:outline-none focus:ring-1 focus:ring-inset transition-colors duration-150',
371
+ },
372
+ variants: {
373
+ variant: {
374
+ default: {
375
+ root: 'bg-gray-100 text-gray-800',
376
+ dot: 'bg-gray-500',
377
+ remove: 'text-gray-500 focus:ring-gray-400',
378
+ },
379
+ primary: {
380
+ root: 'bg-blue-100 text-primary',
381
+ dot: 'bg-primary',
382
+ remove: 'text-primary/70 focus:ring-primary',
383
+ },
384
+ success: {
385
+ root: 'bg-green-100 text-success',
386
+ dot: 'bg-success',
387
+ remove: 'text-success/70 focus:ring-success',
388
+ },
389
+ warning: {
390
+ root: 'bg-amber-100 text-warning',
391
+ dot: 'bg-warning',
392
+ remove: 'text-warning/70 focus:ring-warning',
393
+ },
394
+ danger: {
395
+ root: 'bg-red-100 text-danger',
396
+ dot: 'bg-danger',
397
+ remove: 'text-danger/70 focus:ring-danger',
398
+ },
399
+ },
400
+ size: {
401
+ sm: { root: 'px-2 py-0.5 text-xs', dot: 'size-1.5', remove: 'size-3.5 -mr-0.5' },
402
+ md: { root: 'px-3 py-1 text-sm', dot: 'size-2', remove: 'size-4 -mr-1' },
403
+ lg: { root: 'px-4 py-1.5 text-base', dot: 'size-2.5', remove: 'size-5 -mr-1' },
404
+ },
405
+ },
406
+ defaultVariants: {
407
+ variant: 'default',
408
+ size: 'md',
409
+ },
410
+ });
411
+ export const DIALOG_SIZE_VARIANTS = {
412
+ sm: 'max-w-sm',
413
+ md: 'max-w-md',
414
+ lg: 'max-w-lg',
415
+ xl: 'max-w-xl',
416
+ full: 'max-w-full',
417
+ };
418
+ export const dialog = tv({
419
+ base: 'relative w-full bg-white rounded-lg shadow-lg',
420
+ variants: {
421
+ size: DIALOG_SIZE_VARIANTS,
422
+ },
423
+ defaultVariants: {
424
+ size: 'md',
425
+ },
426
+ });
427
+ export const notification = tv({
428
+ slots: {
429
+ container: [
430
+ 'w-80 max-w-full pointer-events-auto',
431
+ 'bg-white rounded-lg shadow-lg',
432
+ 'border border-gray-200 border-l-4',
433
+ 'p-4',
434
+ ].join(' '),
435
+ body: 'flex items-start gap-3',
436
+ icon: 'shrink-0 size-5 mt-0.5',
437
+ content: 'flex-1 min-w-0',
438
+ title: 'text-sm font-semibold text-gray-900',
439
+ message: 'text-sm text-gray-600',
440
+ action: 'mt-2',
441
+ closeBtn: [
442
+ 'shrink-0 self-start rounded p-0.5 -mt-0.5 -mr-0.5',
443
+ 'text-gray-400 hover:text-gray-600 hover:bg-gray-100',
444
+ 'focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-1',
445
+ 'transition-colors duration-150',
446
+ ].join(' '),
447
+ },
448
+ variants: {
449
+ variant: {
450
+ success: { container: 'border-l-success', icon: 'text-success' },
451
+ error: { container: 'border-l-danger', icon: 'text-danger' },
452
+ warning: { container: 'border-l-warning', icon: 'text-warning' },
453
+ info: { container: 'border-l-primary', icon: 'text-primary' },
454
+ },
455
+ },
456
+ defaultVariants: {
457
+ variant: 'info',
458
+ },
459
+ });
460
+ export const tooltip = tv({
461
+ slots: {
462
+ content: [
463
+ 'absolute z-50',
464
+ 'w-max max-w-xs',
465
+ 'rounded-md px-2.5 py-1.5',
466
+ 'bg-gray-900 text-white text-xs font-medium',
467
+ 'shadow-sm',
468
+ 'pointer-events-none',
469
+ ].join(' '),
470
+ },
471
+ });
472
+ export const card = tv({
473
+ slots: {
474
+ root: 'border bg-white rounded-lg shadow-sm overflow-hidden',
475
+ header: 'border-b border-gray-100',
476
+ headerContent: '',
477
+ body: '',
478
+ footer: 'border-t border-gray-100 bg-gray-50/50',
479
+ image: 'w-full object-cover block',
480
+ },
481
+ variants: {
482
+ variant: {
483
+ default: { root: 'border-gray-200' },
484
+ elevated: { root: 'border-gray-200 shadow-md' },
485
+ outline: { root: 'border-gray-300' },
486
+ },
487
+ padding: {
488
+ none: { headerContent: '', body: '', footer: '' },
489
+ sm: { headerContent: 'px-4 py-3', body: 'px-4 py-3', footer: 'px-4 py-3' },
490
+ md: { headerContent: 'px-6 py-4', body: 'px-6 py-4', footer: 'px-6 py-4' },
491
+ lg: { headerContent: 'px-8 py-6', body: 'px-8 py-6', footer: 'px-8 py-6' },
492
+ },
493
+ clickable: {
494
+ true: { root: 'cursor-pointer transition-shadow duration-200 hover:shadow-md focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2' },
495
+ },
496
+ },
497
+ defaultVariants: {
498
+ variant: 'default',
499
+ padding: 'md',
500
+ },
501
+ });
502
+ export const AVATAR_SIZE_VARIANTS = {
503
+ xs: 'size-6 text-xs',
504
+ sm: 'size-8 text-sm',
505
+ md: 'size-10 text-base',
506
+ lg: 'size-12 text-lg',
507
+ xl: 'size-16 text-xl',
508
+ };
509
+ export const avatar = tv({
510
+ slots: {
511
+ root: [
512
+ 'relative inline-flex items-center justify-center',
513
+ 'rounded-full',
514
+ 'bg-gray-200 text-gray-600',
515
+ 'font-medium uppercase',
516
+ 'overflow-hidden',
517
+ 'select-none',
518
+ 'shrink-0',
519
+ ].join(' '),
520
+ image: 'w-full h-full object-cover',
521
+ fallback: 'flex items-center justify-center w-full h-full',
522
+ },
523
+ variants: {
524
+ size: {
525
+ xs: { root: AVATAR_SIZE_VARIANTS.xs },
526
+ sm: { root: AVATAR_SIZE_VARIANTS.sm },
527
+ md: { root: AVATAR_SIZE_VARIANTS.md },
528
+ lg: { root: AVATAR_SIZE_VARIANTS.lg },
529
+ xl: { root: AVATAR_SIZE_VARIANTS.xl },
530
+ },
531
+ },
532
+ defaultVariants: {
533
+ size: 'md',
534
+ },
535
+ });
536
+ export const avatarGroup = tv({
537
+ base: 'flex -space-x-3',
538
+ variants: {
539
+ size: {
540
+ xs: '-space-x-1.5',
541
+ sm: '-space-x-2',
542
+ md: '-space-x-3',
543
+ lg: '-space-x-4',
544
+ xl: '-space-x-5',
545
+ },
546
+ },
547
+ defaultVariants: {
548
+ size: 'md',
549
+ },
550
+ });
551
+ export const spinner = tv({
552
+ base: 'animate-spin',
553
+ variants: {
554
+ size: {
555
+ xs: 'size-3',
556
+ sm: 'size-4',
557
+ md: 'size-6',
558
+ lg: 'size-8',
559
+ xl: 'size-12',
560
+ },
561
+ color: {
562
+ primary: 'text-primary',
563
+ secondary: 'text-gray-500',
564
+ white: 'text-white',
565
+ current: 'text-current',
566
+ success: 'text-success',
567
+ warning: 'text-warning',
568
+ danger: 'text-danger',
569
+ },
570
+ },
571
+ defaultVariants: {
572
+ size: 'md',
573
+ color: 'primary',
574
+ },
575
+ });
576
+ //# sourceMappingURL=variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variants.js","sourceRoot":"","sources":["../src/variants.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "@libretexts/davis-core",
3
+ "version": "1.0.0",
4
+ "description": "Shared variant definitions and utilities for Davis UI library",
5
+ "main": "./dist/index.js",
6
+ "module": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "files": [
9
+ "README.md",
10
+ "dist",
11
+ "LICENSE",
12
+ "tailwind.preset.cjs",
13
+ "src/base.css",
14
+ "src/base.scoped.css",
15
+ "src/theme.css"
16
+ ],
17
+ "exports": {
18
+ ".": {
19
+ "types": "./dist/index.d.ts",
20
+ "import": "./dist/index.js"
21
+ },
22
+ "./tailwind.preset": "./tailwind.preset.cjs",
23
+ "./base.css": "./src/base.css",
24
+ "./base.scoped.css": "./src/base.scoped.css",
25
+ "./theme.css": "./src/theme.css",
26
+ "./package.json": "./package.json"
27
+ },
28
+ "sideEffects": false,
29
+ "type": "module",
30
+ "dependencies": {
31
+ "tailwind-variants": "^0.3.0",
32
+ "clsx": "^2.1.1"
33
+ },
34
+ "devDependencies": {
35
+ "typescript": "^5.6.0"
36
+ },
37
+ "scripts": {
38
+ "build": "tsc --project tsconfig.build.json && npm run generate:configs",
39
+ "dev": "tsc --project tsconfig.build.json --watch",
40
+ "typecheck": "tsc --noEmit",
41
+ "clean": "rm -rf dist",
42
+ "generate:configs": "node scripts/generate-tailwind-configs.mjs",
43
+ "prepublishOnly": "npm run build"
44
+ },
45
+ "keywords": [
46
+ "ui",
47
+ "components",
48
+ "variants",
49
+ "tailwind",
50
+ "design-system"
51
+ ],
52
+ "author": "LibreTexts, Inc.",
53
+ "license": "MIT",
54
+ "repository": {
55
+ "type": "git",
56
+ "url": "git+https://github.com/LibreTexts/davis.git",
57
+ "directory": "packages/core"
58
+ },
59
+ "publishConfig": {
60
+ "access": "public",
61
+ "registry": "https://registry.npmjs.org/"
62
+ }
63
+ }