react-modular-datepicker 0.0.3 → 0.0.5-canary.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.
package/README.md CHANGED
@@ -17,6 +17,20 @@ A modular, lightweight, and type-safe React datepicker library. Whether you need
17
17
 
18
18
  ---
19
19
 
20
+ ## Installation
21
+
22
+ ```bash
23
+ npm install react-modular-datepicker dayjs
24
+ # or
25
+ pnpm add react-modular-datepicker dayjs
26
+ # or
27
+ yarn add react-modular-datepicker dayjs
28
+ ```
29
+
30
+ > **Note on Peer Dependencies**: `dayjs` is configured as an optional peer dependency. By default, `react-modular-datepicker` uses the built-in `DayjsAdapter`, so `dayjs` must be installed in your project. However, if you bring your own date management library (such as `date-fns` or Luxon), you can implement a custom `DateAdapter` and pass it to the `adapter` prop without needing `dayjs`.
31
+
32
+ ---
33
+
20
34
  ## API Reference
21
35
 
22
36
  ### Imports
@@ -90,6 +104,29 @@ Represents a month grid.
90
104
  - `year`: `number`
91
105
  - `weeks`: `(DateObj | null)[][]`
92
106
 
107
+ #### `DateAdapter`
108
+ Pluggable interface for date operations:
109
+ ```typescript
110
+ export interface DateAdapter<T = any> {
111
+ date(value?: any): T;
112
+ add(date: T, amount: number, unit: 'day' | 'month' | 'year'): T;
113
+ subtract(date: T, amount: number, unit: 'day' | 'month' | 'year'): T;
114
+ startOf(date: T, unit: 'day' | 'month' | 'year'): T;
115
+ endOf(date: T, unit: 'day' | 'month' | 'year'): T;
116
+ isBefore(date: T, comparison: T, unit?: 'day' | 'month' | 'year'): boolean;
117
+ isAfter(date: T, comparison: T, unit?: 'day' | 'month' | 'year'): boolean;
118
+ isSame(date: T, comparison: T, unit?: 'day' | 'month' | 'year'): boolean;
119
+ set(date: T, unit: 'day' | 'month' | 'year', value: number): T;
120
+ get(date: T, unit: 'day' | 'month' | 'year'): number;
121
+ format(date: T, formatStr: string, locale?: string): string;
122
+ getDaysInMonth(date: T): number;
123
+ toDate(date: T): Date;
124
+ diff(date: T, comparison: T, unit: 'month' | 'year'): number;
125
+ getMonths(locale?: string): string[];
126
+ getWeekdays(locale?: string): string[];
127
+ }
128
+ ```
129
+
93
130
  ---
94
131
 
95
132
  ## Recipes
@@ -363,6 +400,101 @@ const { calendars, getBackProps, getForwardProps, getDateProps } = useDates({
363
400
 
364
401
  </details>
365
402
 
403
+ <details>
404
+ <summary><b>Custom Date Adapter (e.g. date-fns)</b></summary>
405
+ Replace the default `DayjsAdapter` with a custom adapter using `date-fns` (or any date library).
406
+
407
+ ```tsx
408
+ import { Calendar, DateAdapter } from 'react-modular-datepicker';
409
+ import {
410
+ addDays, addMonths, addYears,
411
+ subDays, subMonths, subYears,
412
+ startOfDay, startOfMonth, startOfYear,
413
+ endOfDay, endOfMonth, endOfYear,
414
+ isBefore, isAfter, isSameDay, isSameMonth, isSameYear,
415
+ setDate, setMonth, setYear,
416
+ getDate, getMonth, getYear,
417
+ format, getDaysInMonth,
418
+ differenceInCalendarMonths, differenceInCalendarYears
419
+ } from 'date-fns';
420
+
421
+ class DateFnsAdapter implements DateAdapter<Date> {
422
+ date(value?: any): Date { return value ? new Date(value) : new Date(); }
423
+ add(date: Date, amount: number, unit: 'day' | 'month' | 'year'): Date {
424
+ if (unit === 'day') return addDays(date, amount);
425
+ if (unit === 'month') return addMonths(date, amount);
426
+ return addYears(date, amount);
427
+ }
428
+ subtract(date: Date, amount: number, unit: 'day' | 'month' | 'year'): Date {
429
+ if (unit === 'day') return subDays(date, amount);
430
+ if (unit === 'month') return subMonths(date, amount);
431
+ return subYears(date, amount);
432
+ }
433
+ startOf(date: Date, unit: 'day' | 'month' | 'year'): Date {
434
+ if (unit === 'day') return startOfDay(date);
435
+ if (unit === 'month') return startOfMonth(date);
436
+ return startOfYear(date);
437
+ }
438
+ endOf(date: Date, unit: 'day' | 'month' | 'year'): Date {
439
+ if (unit === 'day') return endOfDay(date);
440
+ if (unit === 'month') return endOfMonth(date);
441
+ return endOfYear(date);
442
+ }
443
+ isBefore(date: Date, comparison: Date, unit?: 'day' | 'month' | 'year'): boolean {
444
+ if (unit === 'day') return startOfDay(date) < startOfDay(comparison);
445
+ if (unit === 'month') return startOfMonth(date) < startOfMonth(comparison);
446
+ if (unit === 'year') return startOfYear(date) < startOfYear(comparison);
447
+ return date < comparison;
448
+ }
449
+ isAfter(date: Date, comparison: Date, unit?: 'day' | 'month' | 'year'): boolean {
450
+ if (unit === 'day') return startOfDay(date) > startOfDay(comparison);
451
+ if (unit === 'month') return startOfMonth(date) > startOfMonth(comparison);
452
+ if (unit === 'year') return startOfYear(date) > startOfYear(comparison);
453
+ return date > comparison;
454
+ }
455
+ isSame(date: Date, comparison: Date, unit?: 'day' | 'month' | 'year'): boolean {
456
+ if (unit === 'day') return isSameDay(date, comparison);
457
+ if (unit === 'month') return isSameMonth(date, comparison);
458
+ if (unit === 'year') return isSameYear(date, comparison);
459
+ return date.getTime() === comparison.getTime();
460
+ }
461
+ set(date: Date, unit: 'day' | 'month' | 'year', value: number): Date {
462
+ if (unit === 'day') return setDate(date, value);
463
+ if (unit === 'month') return setMonth(date, value);
464
+ return setYear(date, value);
465
+ }
466
+ get(date: Date, unit: 'day' | 'month' | 'year'): number {
467
+ if (unit === 'day') return getDate(date);
468
+ if (unit === 'month') return getMonth(date);
469
+ return getYear(date);
470
+ }
471
+ format(date: Date, formatStr: string): string {
472
+ const f = formatStr.replace(/YYYY/g, 'yyyy').replace(/YY/g, 'yy').replace(/D/g, 'd');
473
+ return format(date, f);
474
+ }
475
+ getDaysInMonth(date: Date): number { return getDaysInMonth(date); }
476
+ toDate(date: Date): Date { return date; }
477
+ diff(date: Date, comparison: Date, unit: 'month' | 'year'): number {
478
+ if (unit === 'month') return differenceInCalendarMonths(date, comparison);
479
+ return differenceInCalendarYears(date, comparison);
480
+ }
481
+ getMonths(): string[] {
482
+ return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
483
+ }
484
+ getWeekdays(): string[] {
485
+ return ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'];
486
+ }
487
+ }
488
+
489
+ const customAdapter = new DateFnsAdapter();
490
+
491
+ function CustomAdapterExample() {
492
+ return <Calendar adapter={customAdapter} onChange={(date) => console.log(date)} />;
493
+ }
494
+ ```
495
+
496
+ </details>
497
+
366
498
  ---
367
499
 
368
500
  ## Contributors
package/dist/index.css CHANGED
@@ -1,10 +1,11 @@
1
- /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
2
  @layer properties;
3
3
  @layer theme, base, components, utilities;
4
4
  @layer theme {
5
5
  :root, :host {
6
- --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
7
- "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
6
+ --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
7
+ "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
8
+ "Segoe UI Symbol", "Noto Color Emoji";
8
9
  --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
9
10
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
10
11
  "Courier New", monospace;
@@ -122,7 +123,7 @@
122
123
  line-height: 1.5;
123
124
  -webkit-text-size-adjust: 100%;
124
125
  tab-size: 4;
125
- font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
126
+ font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
126
127
  font-feature-settings: var(--default-font-feature-settings, normal);
127
128
  font-variation-settings: var(--default-font-variation-settings, normal);
128
129
  -webkit-tap-highlight-color: transparent;
@@ -174,7 +175,7 @@
174
175
  border-color: inherit;
175
176
  border-collapse: collapse;
176
177
  }
177
- :-moz-focusring {
178
+ :-moz-focusring:where(:not(iframe)) {
178
179
  outline: auto;
179
180
  }
180
181
  progress {
@@ -272,11 +273,14 @@
272
273
  .absolute {
273
274
  position: absolute;
274
275
  }
276
+ .fixed {
277
+ position: fixed;
278
+ }
275
279
  .relative {
276
280
  position: relative;
277
281
  }
278
282
  .inset-0 {
279
- inset: calc(var(--spacing) * 0);
283
+ inset: 0px;
280
284
  }
281
285
  .top-1\/2 {
282
286
  top: calc(1 / 2 * 100%);
@@ -291,14 +295,11 @@
291
295
  bottom: 100%;
292
296
  }
293
297
  .left-0 {
294
- left: calc(var(--spacing) * 0);
298
+ left: 0px;
295
299
  }
296
300
  .left-1\/2 {
297
301
  left: calc(1 / 2 * 100%);
298
302
  }
299
- .isolate {
300
- isolation: isolate;
301
- }
302
303
  .z-10 {
303
304
  z-index: 10;
304
305
  }
@@ -318,7 +319,7 @@
318
319
  margin-top: calc(var(--spacing) * 6);
319
320
  }
320
321
  .mb-1 {
321
- margin-bottom: calc(var(--spacing) * 1);
322
+ margin-bottom: var(--spacing);
322
323
  }
323
324
  .mb-2 {
324
325
  margin-bottom: calc(var(--spacing) * 2);
@@ -353,6 +354,9 @@
353
354
  .inline-block {
354
355
  display: inline-block;
355
356
  }
357
+ .table {
358
+ display: table;
359
+ }
356
360
  .aspect-square {
357
361
  aspect-ratio: 1 / 1;
358
362
  }
@@ -375,7 +379,7 @@
375
379
  max-height: 300px;
376
380
  }
377
381
  .min-h-0 {
378
- min-height: calc(var(--spacing) * 0);
382
+ min-height: 0px;
379
383
  }
380
384
  .min-h-\[120px\] {
381
385
  min-height: 120px;
@@ -491,7 +495,7 @@
491
495
  justify-content: center;
492
496
  }
493
497
  .gap-1 {
494
- gap: calc(var(--spacing) * 1);
498
+ gap: var(--spacing);
495
499
  }
496
500
  .gap-2 {
497
501
  gap: calc(var(--spacing) * 2);
@@ -505,22 +509,21 @@
505
509
  .gap-8 {
506
510
  gap: calc(var(--spacing) * 8);
507
511
  }
512
+ .gap-12 {
513
+ gap: calc(var(--spacing) * 12);
514
+ }
508
515
  .gap-px {
509
516
  gap: 1px;
510
517
  }
511
- .space-y-1 {
512
- :where(& > :not(:last-child)) {
513
- --tw-space-y-reverse: 0;
514
- margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
515
- margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
516
- }
518
+ :where(.space-y-1 > :not(:last-child)) {
519
+ --tw-space-y-reverse: 0;
520
+ margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse));
521
+ margin-block-end: calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)));
517
522
  }
518
- .space-y-6 {
519
- :where(& > :not(:last-child)) {
520
- --tw-space-y-reverse: 0;
521
- margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
522
- margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
523
- }
523
+ :where(.space-y-6 > :not(:last-child)) {
524
+ --tw-space-y-reverse: 0;
525
+ margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
526
+ margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
524
527
  }
525
528
  .truncate {
526
529
  overflow: hidden;
@@ -860,7 +863,7 @@
860
863
  background-clip: text;
861
864
  }
862
865
  .p-1 {
863
- padding: calc(var(--spacing) * 1);
866
+ padding: var(--spacing);
864
867
  }
865
868
  .p-1\.5 {
866
869
  padding: calc(var(--spacing) * 1.5);
@@ -887,7 +890,7 @@
887
890
  padding: 1px;
888
891
  }
889
892
  .px-1 {
890
- padding-inline: calc(var(--spacing) * 1);
893
+ padding-inline: var(--spacing);
891
894
  }
892
895
  .px-1\.5 {
893
896
  padding-inline: calc(var(--spacing) * 1.5);
@@ -905,7 +908,7 @@
905
908
  padding-block: calc(var(--spacing) * 0.5);
906
909
  }
907
910
  .py-1 {
908
- padding-block: calc(var(--spacing) * 1);
911
+ padding-block: var(--spacing);
909
912
  }
910
913
  .py-1\.5 {
911
914
  padding-block: calc(var(--spacing) * 1.5);
@@ -926,7 +929,7 @@
926
929
  padding-right: calc(var(--spacing) * 2);
927
930
  }
928
931
  .pb-1 {
929
- padding-bottom: calc(var(--spacing) * 1);
932
+ padding-bottom: var(--spacing);
930
933
  }
931
934
  .pb-2 {
932
935
  padding-bottom: calc(var(--spacing) * 2);
@@ -1237,259 +1240,163 @@
1237
1240
  --tw-outline-style: none;
1238
1241
  outline-style: none;
1239
1242
  }
1240
- .group-focus-within\:visible {
1241
- &:is(:where(.group):focus-within *) {
1242
- visibility: visible;
1243
+ .group-focus-within\:visible:is(:where(.group):focus-within *) {
1244
+ visibility: visible;
1245
+ }
1246
+ .group-focus-within\:scale-100:is(:where(.group):focus-within *) {
1247
+ --tw-scale-x: 100%;
1248
+ --tw-scale-y: 100%;
1249
+ --tw-scale-z: 100%;
1250
+ scale: var(--tw-scale-x) var(--tw-scale-y);
1251
+ }
1252
+ .group-focus-within\:opacity-100:is(:where(.group):focus-within *) {
1253
+ opacity: 100%;
1254
+ }
1255
+ @media (hover: hover) {
1256
+ .group-hover\:block:is(:where(.group):hover *) {
1257
+ display: block;
1243
1258
  }
1244
1259
  }
1245
- .group-focus-within\:scale-100 {
1246
- &:is(:where(.group):focus-within *) {
1247
- --tw-scale-x: 100%;
1248
- --tw-scale-y: 100%;
1249
- --tw-scale-z: 100%;
1260
+ .last\:border-r-0:last-child {
1261
+ border-right-style: var(--tw-border-style);
1262
+ border-right-width: 0px;
1263
+ }
1264
+ @media (hover: hover) {
1265
+ .hover\:scale-110:hover {
1266
+ --tw-scale-x: 110%;
1267
+ --tw-scale-y: 110%;
1268
+ --tw-scale-z: 110%;
1250
1269
  scale: var(--tw-scale-x) var(--tw-scale-y);
1251
1270
  }
1252
- }
1253
- .group-focus-within\:opacity-100 {
1254
- &:is(:where(.group):focus-within *) {
1255
- opacity: 100%;
1271
+ .hover\:border-amber-400:hover {
1272
+ border-color: var(--color-amber-400);
1256
1273
  }
1257
- }
1258
- .group-hover\:block {
1259
- &:is(:where(.group):hover *) {
1260
- @media (hover: hover) {
1261
- display: block;
1262
- }
1274
+ .hover\:border-cyan-400:hover {
1275
+ border-color: var(--color-cyan-400);
1263
1276
  }
1264
- }
1265
- .last\:border-r-0 {
1266
- &:last-child {
1267
- border-right-style: var(--tw-border-style);
1268
- border-right-width: 0px;
1277
+ .hover\:bg-amber-100\/50:hover {
1278
+ background-color: color-mix(in srgb, oklch(96.2% 0.059 95.617) 50%, transparent);
1269
1279
  }
1270
- }
1271
- .hover\:scale-110 {
1272
- &:hover {
1273
- @media (hover: hover) {
1274
- --tw-scale-x: 110%;
1275
- --tw-scale-y: 110%;
1276
- --tw-scale-z: 110%;
1277
- scale: var(--tw-scale-x) var(--tw-scale-y);
1280
+ @supports (color: color-mix(in lab, red, red)) {
1281
+ .hover\:bg-amber-100\/50:hover {
1282
+ background-color: color-mix(in oklab, var(--color-amber-100) 50%, transparent);
1278
1283
  }
1279
1284
  }
1280
- }
1281
- .hover\:border-amber-400 {
1282
- &:hover {
1283
- @media (hover: hover) {
1284
- border-color: var(--color-amber-400);
1285
- }
1285
+ .hover\:bg-brand-gray-light:hover {
1286
+ background-color: var(--color-brand-gray-light);
1286
1287
  }
1287
- }
1288
- .hover\:border-cyan-400 {
1289
- &:hover {
1290
- @media (hover: hover) {
1291
- border-color: var(--color-cyan-400);
1292
- }
1288
+ .hover\:bg-cyan-400:hover {
1289
+ background-color: var(--color-cyan-400);
1293
1290
  }
1294
- }
1295
- .hover\:bg-amber-100\/50 {
1296
- &:hover {
1297
- @media (hover: hover) {
1298
- background-color: color-mix(in srgb, oklch(96.2% 0.059 95.617) 50%, transparent);
1299
- @supports (color: color-mix(in lab, red, red)) {
1300
- background-color: color-mix(in oklab, var(--color-amber-100) 50%, transparent);
1301
- }
1302
- }
1291
+ .hover\:bg-cyan-950:hover {
1292
+ background-color: var(--color-cyan-950);
1303
1293
  }
1304
- }
1305
- .hover\:bg-brand-gray-light {
1306
- &:hover {
1307
- @media (hover: hover) {
1308
- background-color: var(--color-brand-gray-light);
1309
- }
1294
+ .hover\:bg-gray-50:hover {
1295
+ background-color: var(--color-gray-50);
1310
1296
  }
1311
- }
1312
- .hover\:bg-cyan-400 {
1313
- &:hover {
1314
- @media (hover: hover) {
1315
- background-color: var(--color-cyan-400);
1316
- }
1297
+ .hover\:bg-gray-50\/50:hover {
1298
+ background-color: color-mix(in srgb, oklch(98.5% 0.002 247.839) 50%, transparent);
1317
1299
  }
1318
- }
1319
- .hover\:bg-cyan-950 {
1320
- &:hover {
1321
- @media (hover: hover) {
1322
- background-color: var(--color-cyan-950);
1300
+ @supports (color: color-mix(in lab, red, red)) {
1301
+ .hover\:bg-gray-50\/50:hover {
1302
+ background-color: color-mix(in oklab, var(--color-gray-50) 50%, transparent);
1323
1303
  }
1324
1304
  }
1325
- }
1326
- .hover\:bg-gray-50 {
1327
- &:hover {
1328
- @media (hover: hover) {
1329
- background-color: var(--color-gray-50);
1330
- }
1305
+ .hover\:bg-gray-100:hover {
1306
+ background-color: var(--color-gray-100);
1331
1307
  }
1332
- }
1333
- .hover\:bg-gray-50\/50 {
1334
- &:hover {
1335
- @media (hover: hover) {
1336
- background-color: color-mix(in srgb, oklch(98.5% 0.002 247.839) 50%, transparent);
1337
- @supports (color: color-mix(in lab, red, red)) {
1338
- background-color: color-mix(in oklab, var(--color-gray-50) 50%, transparent);
1339
- }
1340
- }
1308
+ .hover\:bg-gray-200:hover {
1309
+ background-color: var(--color-gray-200);
1341
1310
  }
1342
- }
1343
- .hover\:bg-gray-100 {
1344
- &:hover {
1345
- @media (hover: hover) {
1346
- background-color: var(--color-gray-100);
1347
- }
1311
+ .hover\:bg-green-200:hover {
1312
+ background-color: var(--color-green-200);
1348
1313
  }
1349
- }
1350
- .hover\:bg-gray-200 {
1351
- &:hover {
1352
- @media (hover: hover) {
1353
- background-color: var(--color-gray-200);
1354
- }
1314
+ .hover\:bg-purple-500\/30:hover {
1315
+ background-color: color-mix(in srgb, oklch(62.7% 0.265 303.9) 30%, transparent);
1355
1316
  }
1356
- }
1357
- .hover\:bg-green-200 {
1358
- &:hover {
1359
- @media (hover: hover) {
1360
- background-color: var(--color-green-200);
1317
+ @supports (color: color-mix(in lab, red, red)) {
1318
+ .hover\:bg-purple-500\/30:hover {
1319
+ background-color: color-mix(in oklab, var(--color-purple-500) 30%, transparent);
1361
1320
  }
1362
1321
  }
1363
- }
1364
- .hover\:bg-purple-500\/30 {
1365
- &:hover {
1366
- @media (hover: hover) {
1367
- background-color: color-mix(in srgb, oklch(62.7% 0.265 303.9) 30%, transparent);
1368
- @supports (color: color-mix(in lab, red, red)) {
1369
- background-color: color-mix(in oklab, var(--color-purple-500) 30%, transparent);
1370
- }
1371
- }
1322
+ .hover\:bg-purple-800\/40:hover {
1323
+ background-color: color-mix(in srgb, oklch(43.8% 0.218 303.724) 40%, transparent);
1372
1324
  }
1373
- }
1374
- .hover\:bg-purple-800\/40 {
1375
- &:hover {
1376
- @media (hover: hover) {
1377
- background-color: color-mix(in srgb, oklch(43.8% 0.218 303.724) 40%, transparent);
1378
- @supports (color: color-mix(in lab, red, red)) {
1379
- background-color: color-mix(in oklab, var(--color-purple-800) 40%, transparent);
1380
- }
1325
+ @supports (color: color-mix(in lab, red, red)) {
1326
+ .hover\:bg-purple-800\/40:hover {
1327
+ background-color: color-mix(in oklab, var(--color-purple-800) 40%, transparent);
1381
1328
  }
1382
1329
  }
1383
- }
1384
- .hover\:bg-stone-200\/60 {
1385
- &:hover {
1386
- @media (hover: hover) {
1387
- background-color: color-mix(in srgb, oklch(92.3% 0.003 48.717) 60%, transparent);
1388
- @supports (color: color-mix(in lab, red, red)) {
1389
- background-color: color-mix(in oklab, var(--color-stone-200) 60%, transparent);
1390
- }
1391
- }
1330
+ .hover\:bg-stone-200\/60:hover {
1331
+ background-color: color-mix(in srgb, oklch(92.3% 0.003 48.717) 60%, transparent);
1392
1332
  }
1393
- }
1394
- .hover\:bg-stone-200\/80 {
1395
- &:hover {
1396
- @media (hover: hover) {
1397
- background-color: color-mix(in srgb, oklch(92.3% 0.003 48.717) 80%, transparent);
1398
- @supports (color: color-mix(in lab, red, red)) {
1399
- background-color: color-mix(in oklab, var(--color-stone-200) 80%, transparent);
1400
- }
1333
+ @supports (color: color-mix(in lab, red, red)) {
1334
+ .hover\:bg-stone-200\/60:hover {
1335
+ background-color: color-mix(in oklab, var(--color-stone-200) 60%, transparent);
1401
1336
  }
1402
1337
  }
1403
- }
1404
- .hover\:text-black {
1405
- &:hover {
1406
- @media (hover: hover) {
1407
- color: var(--color-black);
1408
- }
1338
+ .hover\:bg-stone-200\/80:hover {
1339
+ background-color: color-mix(in srgb, oklch(92.3% 0.003 48.717) 80%, transparent);
1409
1340
  }
1410
- }
1411
- .hover\:text-stone-950 {
1412
- &:hover {
1413
- @media (hover: hover) {
1414
- color: var(--color-stone-950);
1341
+ @supports (color: color-mix(in lab, red, red)) {
1342
+ .hover\:bg-stone-200\/80:hover {
1343
+ background-color: color-mix(in oklab, var(--color-stone-200) 80%, transparent);
1415
1344
  }
1416
1345
  }
1417
- }
1418
- .hover\:text-white {
1419
- &:hover {
1420
- @media (hover: hover) {
1421
- color: var(--color-white);
1422
- }
1346
+ .hover\:text-black:hover {
1347
+ color: var(--color-black);
1423
1348
  }
1424
- }
1425
- .hover\:underline {
1426
- &:hover {
1427
- @media (hover: hover) {
1428
- text-decoration-line: underline;
1429
- }
1349
+ .hover\:text-stone-950:hover {
1350
+ color: var(--color-stone-950);
1430
1351
  }
1431
- }
1432
- .hover\:brightness-95 {
1433
- &:hover {
1434
- @media (hover: hover) {
1435
- --tw-brightness: brightness(95%);
1436
- filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
1437
- }
1352
+ .hover\:text-white:hover {
1353
+ color: var(--color-white);
1438
1354
  }
1439
- }
1440
- .focus\:border-brand-gold {
1441
- &:focus {
1442
- border-color: var(--color-brand-gold);
1355
+ .hover\:underline:hover {
1356
+ text-decoration-line: underline;
1443
1357
  }
1444
- }
1445
- .focus\:ring-2 {
1446
- &:focus {
1447
- --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1448
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1358
+ .hover\:brightness-95:hover {
1359
+ --tw-brightness: brightness(95%);
1360
+ filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
1449
1361
  }
1450
1362
  }
1451
- .focus\:ring-brand-gold {
1452
- &:focus {
1453
- --tw-ring-color: var(--color-brand-gold);
1454
- }
1363
+ .focus\:border-brand-gold:focus {
1364
+ border-color: var(--color-brand-gold);
1455
1365
  }
1456
- .disabled\:pointer-events-none {
1457
- &:disabled {
1458
- pointer-events: none;
1459
- }
1366
+ .focus\:ring-2:focus {
1367
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1368
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1460
1369
  }
1461
- .disabled\:opacity-30 {
1462
- &:disabled {
1463
- opacity: 30%;
1464
- }
1370
+ .focus\:ring-brand-gold:focus {
1371
+ --tw-ring-color: var(--color-brand-gold);
1465
1372
  }
1466
- .sm\:block {
1467
- @media (width >= 40rem) {
1373
+ .disabled\:pointer-events-none:disabled {
1374
+ pointer-events: none;
1375
+ }
1376
+ .disabled\:opacity-30:disabled {
1377
+ opacity: 30%;
1378
+ }
1379
+ @media (width >= 40rem) {
1380
+ .sm\:block {
1468
1381
  display: block;
1469
1382
  }
1470
- }
1471
- .sm\:grid-cols-2 {
1472
- @media (width >= 40rem) {
1383
+ .sm\:grid-cols-2 {
1473
1384
  grid-template-columns: repeat(2, minmax(0, 1fr));
1474
1385
  }
1475
1386
  }
1476
- .md\:grid-cols-2 {
1477
- @media (width >= 48rem) {
1387
+ @media (width >= 48rem) {
1388
+ .md\:grid-cols-2 {
1478
1389
  grid-template-columns: repeat(2, minmax(0, 1fr));
1479
1390
  }
1480
- }
1481
- .md\:flex-row {
1482
- @media (width >= 48rem) {
1391
+ .md\:flex-row {
1483
1392
  flex-direction: row;
1484
1393
  }
1485
1394
  }
1486
- .lg\:grid-cols-3 {
1487
- @media (width >= 64rem) {
1395
+ @media (width >= 64rem) {
1396
+ .lg\:grid-cols-3 {
1488
1397
  grid-template-columns: repeat(3, minmax(0, 1fr));
1489
1398
  }
1490
- }
1491
- .lg\:grid-cols-4 {
1492
- @media (width >= 64rem) {
1399
+ .lg\:grid-cols-4 {
1493
1400
  grid-template-columns: repeat(4, minmax(0, 1fr));
1494
1401
  }
1495
1402
  }