@a-type/ui 1.6.4 → 1.7.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.
Files changed (145) hide show
  1. package/dist/cjs/components/box/Box.d.ts +1 -1
  2. package/dist/cjs/components/box/Box.js +1 -1
  3. package/dist/cjs/components/box/Box.js.map +1 -1
  4. package/dist/cjs/components/button/classes.js +10 -10
  5. package/dist/cjs/components/button/classes.js.map +1 -1
  6. package/dist/cjs/components/camera/Camera.js +1 -1
  7. package/dist/cjs/components/camera/Camera.js.map +1 -1
  8. package/dist/cjs/components/card/Card.js +4 -4
  9. package/dist/cjs/components/card/Card.js.map +1 -1
  10. package/dist/cjs/components/checkbox/Checkbox.js +1 -1
  11. package/dist/cjs/components/checkbox/Checkbox.js.map +1 -1
  12. package/dist/cjs/components/datePicker/DatePicker.js +3 -3
  13. package/dist/cjs/components/datePicker/DatePicker.js.map +1 -1
  14. package/dist/cjs/components/dialog/Dialog.js +3 -3
  15. package/dist/cjs/components/dialog/Dialog.js.map +1 -1
  16. package/dist/cjs/components/dropdownMenu/DropdownMenu.js +3 -3
  17. package/dist/cjs/components/dropdownMenu/DropdownMenu.js.map +1 -1
  18. package/dist/cjs/components/editableText/EditableText.js +1 -1
  19. package/dist/cjs/components/editableText/EditableText.js.map +1 -1
  20. package/dist/cjs/components/forms/CheckboxField.js +1 -1
  21. package/dist/cjs/components/forms/CheckboxField.js.map +1 -1
  22. package/dist/cjs/components/forms/NumberStepperField.js +2 -2
  23. package/dist/cjs/components/forms/NumberStepperField.js.map +1 -1
  24. package/dist/cjs/components/forms/TextField.js +1 -1
  25. package/dist/cjs/components/forms/TextField.js.map +1 -1
  26. package/dist/cjs/components/horizontalList/HorizontalList.js +1 -1
  27. package/dist/cjs/components/horizontalList/HorizontalList.js.map +1 -1
  28. package/dist/cjs/components/icon/generated/IconSpritesheet.js +1 -1
  29. package/dist/cjs/components/icon/generated/IconSpritesheet.js.map +1 -1
  30. package/dist/cjs/components/icon/generated/iconNames.d.ts +1 -1
  31. package/dist/cjs/components/icon/generated/iconNames.js +2 -0
  32. package/dist/cjs/components/icon/generated/iconNames.js.map +1 -1
  33. package/dist/cjs/components/input/Input.js +1 -1
  34. package/dist/cjs/components/input/Input.js.map +1 -1
  35. package/dist/cjs/components/layouts/layouts.stories.js +1 -1
  36. package/dist/cjs/components/layouts/layouts.stories.js.map +1 -1
  37. package/dist/cjs/components/masonry/masonry.stories.js +2 -2
  38. package/dist/cjs/components/masonry/masonry.stories.js.map +1 -1
  39. package/dist/cjs/components/navBar/NavBar.d.ts +3 -2
  40. package/dist/cjs/components/navBar/NavBar.js +11 -5
  41. package/dist/cjs/components/navBar/NavBar.js.map +1 -1
  42. package/dist/cjs/components/numberStepper/NumberStepper.js +2 -2
  43. package/dist/cjs/components/numberStepper/NumberStepper.js.map +1 -1
  44. package/dist/cjs/components/popover/Popover.js +1 -1
  45. package/dist/cjs/components/popover/Popover.js.map +1 -1
  46. package/dist/cjs/components/richEditor/index.js +1 -1
  47. package/dist/cjs/components/richEditor/index.js.map +1 -1
  48. package/dist/cjs/components/scrollArea/ScrollArea.js +2 -2
  49. package/dist/cjs/components/scrollArea/ScrollArea.js.map +1 -1
  50. package/dist/cjs/components/select/Select.js +1 -1
  51. package/dist/cjs/components/select/Select.js.map +1 -1
  52. package/dist/cjs/components/tabs/tabs.js +3 -3
  53. package/dist/cjs/components/tabs/tabs.js.map +1 -1
  54. package/dist/cjs/themes.stories.js +6 -1
  55. package/dist/cjs/themes.stories.js.map +1 -1
  56. package/dist/cjs/uno.preset.d.ts +2 -1
  57. package/dist/cjs/uno.preset.js +190 -47
  58. package/dist/cjs/uno.preset.js.map +1 -1
  59. package/dist/css/main.css +65 -35
  60. package/dist/esm/components/box/Box.d.ts +1 -1
  61. package/dist/esm/components/box/Box.js +1 -1
  62. package/dist/esm/components/box/Box.js.map +1 -1
  63. package/dist/esm/components/button/classes.js +10 -10
  64. package/dist/esm/components/button/classes.js.map +1 -1
  65. package/dist/esm/components/camera/Camera.js +1 -1
  66. package/dist/esm/components/camera/Camera.js.map +1 -1
  67. package/dist/esm/components/card/Card.js +4 -4
  68. package/dist/esm/components/card/Card.js.map +1 -1
  69. package/dist/esm/components/checkbox/Checkbox.js +1 -1
  70. package/dist/esm/components/checkbox/Checkbox.js.map +1 -1
  71. package/dist/esm/components/datePicker/DatePicker.js +3 -3
  72. package/dist/esm/components/datePicker/DatePicker.js.map +1 -1
  73. package/dist/esm/components/dialog/Dialog.js +3 -3
  74. package/dist/esm/components/dialog/Dialog.js.map +1 -1
  75. package/dist/esm/components/dropdownMenu/DropdownMenu.js +3 -3
  76. package/dist/esm/components/dropdownMenu/DropdownMenu.js.map +1 -1
  77. package/dist/esm/components/editableText/EditableText.js +1 -1
  78. package/dist/esm/components/editableText/EditableText.js.map +1 -1
  79. package/dist/esm/components/forms/CheckboxField.js +1 -1
  80. package/dist/esm/components/forms/CheckboxField.js.map +1 -1
  81. package/dist/esm/components/forms/NumberStepperField.js +2 -2
  82. package/dist/esm/components/forms/NumberStepperField.js.map +1 -1
  83. package/dist/esm/components/forms/TextField.js +1 -1
  84. package/dist/esm/components/forms/TextField.js.map +1 -1
  85. package/dist/esm/components/horizontalList/HorizontalList.js +1 -1
  86. package/dist/esm/components/horizontalList/HorizontalList.js.map +1 -1
  87. package/dist/esm/components/icon/generated/IconSpritesheet.js +1 -1
  88. package/dist/esm/components/icon/generated/IconSpritesheet.js.map +1 -1
  89. package/dist/esm/components/icon/generated/iconNames.d.ts +1 -1
  90. package/dist/esm/components/icon/generated/iconNames.js +2 -0
  91. package/dist/esm/components/icon/generated/iconNames.js.map +1 -1
  92. package/dist/esm/components/input/Input.js +1 -1
  93. package/dist/esm/components/input/Input.js.map +1 -1
  94. package/dist/esm/components/layouts/layouts.stories.js +1 -1
  95. package/dist/esm/components/layouts/layouts.stories.js.map +1 -1
  96. package/dist/esm/components/masonry/masonry.stories.js +2 -2
  97. package/dist/esm/components/masonry/masonry.stories.js.map +1 -1
  98. package/dist/esm/components/navBar/NavBar.d.ts +3 -2
  99. package/dist/esm/components/navBar/NavBar.js +11 -5
  100. package/dist/esm/components/navBar/NavBar.js.map +1 -1
  101. package/dist/esm/components/numberStepper/NumberStepper.js +2 -2
  102. package/dist/esm/components/numberStepper/NumberStepper.js.map +1 -1
  103. package/dist/esm/components/popover/Popover.js +1 -1
  104. package/dist/esm/components/popover/Popover.js.map +1 -1
  105. package/dist/esm/components/richEditor/index.js +1 -1
  106. package/dist/esm/components/richEditor/index.js.map +1 -1
  107. package/dist/esm/components/scrollArea/ScrollArea.js +2 -2
  108. package/dist/esm/components/scrollArea/ScrollArea.js.map +1 -1
  109. package/dist/esm/components/select/Select.js +1 -1
  110. package/dist/esm/components/select/Select.js.map +1 -1
  111. package/dist/esm/components/tabs/tabs.js +3 -3
  112. package/dist/esm/components/tabs/tabs.js.map +1 -1
  113. package/dist/esm/themes.stories.js +7 -2
  114. package/dist/esm/themes.stories.js.map +1 -1
  115. package/dist/esm/uno.preset.d.ts +2 -1
  116. package/dist/esm/uno.preset.js +190 -47
  117. package/dist/esm/uno.preset.js.map +1 -1
  118. package/package.json +1 -1
  119. package/src/components/box/Box.tsx +3 -2
  120. package/src/components/button/classes.tsx +15 -14
  121. package/src/components/camera/Camera.tsx +2 -2
  122. package/src/components/card/Card.tsx +5 -5
  123. package/src/components/checkbox/Checkbox.tsx +1 -1
  124. package/src/components/datePicker/DatePicker.tsx +8 -8
  125. package/src/components/dialog/Dialog.tsx +3 -3
  126. package/src/components/dropdownMenu/DropdownMenu.tsx +4 -4
  127. package/src/components/editableText/EditableText.tsx +1 -1
  128. package/src/components/forms/CheckboxField.tsx +1 -1
  129. package/src/components/forms/NumberStepperField.tsx +2 -2
  130. package/src/components/forms/TextField.tsx +1 -1
  131. package/src/components/horizontalList/HorizontalList.tsx +1 -1
  132. package/src/components/icon/generated/IconSpritesheet.tsx +19 -0
  133. package/src/components/icon/generated/iconNames.ts +2 -0
  134. package/src/components/input/Input.tsx +4 -4
  135. package/src/components/layouts/layouts.stories.tsx +9 -0
  136. package/src/components/masonry/masonry.stories.tsx +2 -2
  137. package/src/components/navBar/NavBar.tsx +21 -8
  138. package/src/components/numberStepper/NumberStepper.tsx +2 -2
  139. package/src/components/popover/Popover.tsx +1 -1
  140. package/src/components/richEditor/index.ts +1 -1
  141. package/src/components/scrollArea/ScrollArea.tsx +3 -3
  142. package/src/components/select/Select.tsx +4 -2
  143. package/src/components/tabs/tabs.tsx +6 -8
  144. package/src/themes.stories.tsx +159 -85
  145. package/src/uno.preset.ts +218 -46
package/src/uno.preset.ts CHANGED
@@ -21,6 +21,7 @@ export default function presetAglio({
21
21
  },
22
22
  borderScale = 1,
23
23
  roundedness = 1,
24
+ saturation = 20,
24
25
  }: {
25
26
  scale?: 'sm' | 'md' | 'lg';
26
27
  interFontLocation?: string;
@@ -30,12 +31,17 @@ export default function presetAglio({
30
31
  };
31
32
  borderScale?: number;
32
33
  roundedness?: number;
34
+ saturation?: number;
33
35
  } = {}): Preset {
36
+ const saturationPercent = saturation / 100;
34
37
  const spacingIncrement = spacing[scale];
35
38
  roundedness *= roundedScaling[scale];
36
39
  const lightColors = generateColors(...colorRanges.light);
37
40
  const darkColors = generateColors(...colorRanges.dark);
38
41
 
42
+ const darkModeSaturationTweak = 1;
43
+ const lightModeSaturationTweak = 3;
44
+
39
45
  return {
40
46
  name: 'atype',
41
47
  enforce: 'post',
@@ -47,18 +53,33 @@ export default function presetAglio({
47
53
  wash: 'var(--color-wash)',
48
54
  attentionLight: 'var(--color-attention-light)',
49
55
  'attention-light': 'var(--color-attention-light)',
50
- attention: 'var(--color-attention)',
51
56
  attentionDark: 'var(--color-attention-dark)',
52
57
  'attention-dark': 'var(--color-attention-dark)',
53
58
  'attention-wash': 'var(--color-attention-wash)',
54
- accent: 'var(--color-accent)',
59
+ attention: {
60
+ DEFAULT: 'var(--color-attention)',
61
+ light: 'var(--color-attention-light)',
62
+ dark: 'var(--color-attention-dark)',
63
+ wash: 'var(--color-attention-wash)',
64
+ },
65
+ accent: {
66
+ DEFAULT: 'var(--color-accent)',
67
+ light: 'var(--color-accent-light)',
68
+ dark: 'var(--color-accent-dark)',
69
+ wash: 'var(--color-accent-wash)',
70
+ },
55
71
  accentWash: 'var(--color-accent-wash)',
56
72
  'accent-wash': 'var(--color-accent-wash)',
57
73
  accentLight: 'var(--color-accent-light)',
58
74
  'accent-light': 'var(--color-accent-light)',
59
75
  accentDark: 'var(--color-accent-dark)',
60
76
  'accent-dark': 'var(--color-accent-dark)',
61
- primary: 'var(--color-primary)',
77
+ primary: {
78
+ DEFAULT: 'var(--color-primary)',
79
+ light: 'var(--color-primary-light)',
80
+ dark: 'var(--color-primary-dark)',
81
+ wash: 'var(--color-primary-wash)',
82
+ },
62
83
  primaryLight: 'var(--color-primary-light)',
63
84
  'primary-light': 'var(--color-primary-light)',
64
85
  primaryDark: 'var(--color-primary-dark)',
@@ -66,16 +87,11 @@ export default function presetAglio({
66
87
  primaryWash: 'var(--color-primary-wash)',
67
88
  'primary-wash': 'var(--color-primary-wash)',
68
89
  gray: {
69
- 1: 'var(--color-gray-1)',
70
- 2: 'var(--color-gray-2)',
71
- 3: 'var(--color-gray-3)',
72
- 4: 'var(--color-gray-4)',
73
- 5: 'var(--color-gray-5)',
74
- 6: 'var(--color-gray-6)',
75
- 7: 'var(--color-gray-7)',
76
- 8: 'var(--color-gray-8)',
77
- 9: 'var(--color-gray-9)',
78
- 0: 'var(--color-gray-0)',
90
+ DEFAULT: 'var(--color-gray)',
91
+ wash: 'var(--color-gray-wash)',
92
+ light: 'var(--color-gray-light)',
93
+ dark: 'var(--color-gray-dark)',
94
+ blend: 'var(--color-gray-blend)',
79
95
  },
80
96
  grayBlend: 'var(--color-gray-blend)',
81
97
  'gray-blend': 'var(--color-gray-blend)',
@@ -390,6 +406,79 @@ export default function presetAglio({
390
406
  '0 20px 25px -5px var(--color-shadow-1), 0 10px 10px -5px var(--color-shadow-2)',
391
407
  },
392
408
  ],
409
+
410
+ [
411
+ /^color-(.*)$/,
412
+ (match, { theme }) => ({
413
+ color: 'var(--v-color-altered,var(--v-color))',
414
+ '--v-color': resolveThemeColor(match[1], theme),
415
+ }),
416
+ ],
417
+ [
418
+ /^color-lighten-(\d+\.?\d*)$/,
419
+ (match, { theme }) => ({
420
+ '--v-color-altered': lighten('var(--v-color,currentColor)', match[1]),
421
+ }),
422
+ ],
423
+ [
424
+ /^color-darken-(\d+\.?\d*)$/,
425
+ (match, { theme }) => ({
426
+ '--v-color-altered': darken('var(--v-color,currentColor)', match[1]),
427
+ }),
428
+ ],
429
+ [
430
+ /^bg-(.*)$/,
431
+ (match, { theme }) => {
432
+ return {
433
+ 'background-color': 'var(--v-bg-altered,var(--v-bg))',
434
+ ['--v-bg']: resolveThemeColor(match[1], theme),
435
+ };
436
+ },
437
+ ],
438
+ [
439
+ /^bg-lighten-(\d+\.?\d*)$/,
440
+ (match, { theme }) => ({
441
+ '--v-bg-altered': lighten('var(--v-bg,var(--color-white))', match[1]),
442
+ }),
443
+ ],
444
+ [
445
+ /^bg-darken-(\d+\.?\d*)$/,
446
+ (match, { theme }) => ({
447
+ '--v-bg-altered': darken('var(--v-bg,var(--color-white))', match[1]),
448
+ }),
449
+ ],
450
+
451
+ [
452
+ /^border-color-(.*)$/,
453
+ (match, { theme }) => ({
454
+ 'border-color': 'var(--v-border-altered,var(--v-border))',
455
+ '--v-border': resolveThemeColor(match[1], theme),
456
+ }),
457
+ ],
458
+ [
459
+ /^border-color-lighten-(\d+\.?\d*)$/,
460
+ (match, { theme }) => ({
461
+ '--v-border-altered': lighten(
462
+ 'var(--v-border,currentColor)',
463
+ match[1],
464
+ ),
465
+ }),
466
+ ],
467
+ [
468
+ /^border-color-darken-(\d+\.?\d*)$/,
469
+ (match, { theme }) => ({
470
+ '--v-border-altered': darken(
471
+ 'var(--v-border,currentColor)',
472
+ match[1],
473
+ ),
474
+ }),
475
+ ],
476
+ [
477
+ /^ring-bg$/,
478
+ () => ({
479
+ '--un-ring-color': 'var(--v-bg-altered,var(--v-bg))',
480
+ }),
481
+ ],
393
482
  ],
394
483
 
395
484
  variants: [
@@ -447,46 +536,46 @@ export default function presetAglio({
447
536
  @layer preflightBase, components, responsive, variants, utilities;
448
537
 
449
538
  :root {
450
- --palette-red-90: #ffede7;
539
+ --palette-red-90: #fff4f0;
451
540
  --palette-red-80: #ffdbcf;
452
- --palette-red-70: #ffb59b;
453
- --palette-red-60: #ff8c60;
454
- --palette-red-50: #e66d3d;
455
- --palette-red-40: #be613d;
456
- --palette-red-30: #9e4f2b;
457
- --palette-red-20: #854121;
458
- --palette-red-10: #743c22;
541
+ --palette-red-70: #ffbea6;
542
+ --palette-red-60: #fdad8e;
543
+ --palette-red-50: #ff8e61;
544
+ --palette-red-40: #d56f46;
545
+ --palette-red-30: #ae562d;
546
+ --palette-red-20: #804020;
547
+ --palette-red-10: #702604;
459
548
  --palette-red-00: #321f19;
460
- --palette-green-90: #e9fff1;
461
- --palette-green-80: #c2ffe1;
549
+ --palette-green-90: #f0fff5;
550
+ --palette-green-80: #c2ffe9;
462
551
  --palette-green-70: #92f2d1;
463
552
  --palette-green-60: #86efc8;
464
553
  --palette-green-50: #63cea5;
465
554
  --palette-green-40: #499d92;
466
555
  --palette-green-30: #1f837c;
467
556
  --palette-green-20: #246869;
468
- --palette-green-10: #274e48;
469
- --palette-green-00: #183527;
470
- --palette-yellow-90: #fff9ef;
557
+ --palette-green-10: #274e50;
558
+ --palette-green-00: #18352e;
559
+ --palette-yellow-90: #fff9ea;
471
560
  --palette-yellow-80: #fff1c7;
472
- --palette-yellow-70: #ffe17c;
473
- --palette-yellow-60: #f7d352;
474
- --palette-yellow-50: #c9a829;
561
+ --palette-yellow-70: #ffdf7c;
562
+ --palette-yellow-60: #ffdb57;
563
+ --palette-yellow-50: #e1b83c;
475
564
  --palette-yellow-40: #ac7c04;
476
565
  --palette-yellow-30: #8e5c00;
477
566
  --palette-yellow-20: #714d00;
478
567
  --palette-yellow-10: #634500;
479
568
  --palette-yellow-00: #3b1c00;
480
- --palette-blue-90: #e3f3ff;
569
+ --palette-blue-90: #eef8fe;
481
570
  --palette-blue-80: #c4e7ff;
482
571
  --palette-blue-70: #87d3fc;
483
- --palette-blue-60: #6ad2ff;
572
+ --palette-blue-60: #5fcefe;
484
573
  --palette-blue-50: #1ebcf5;
485
574
  --palette-blue-40: #0ca6df;
486
575
  --palette-blue-30: #077da7;
487
576
  --palette-blue-20: #005979;
488
577
  --palette-blue-10: #004c69;
489
- --palette-blue-00: #00354a;
578
+ --palette-blue-00: #092c3a;
490
579
  --palette-purple-90: #f1efff;
491
580
  --palette-purple-80: #e0e0ff;
492
581
  --palette-purple-70: #c8cdff;
@@ -495,8 +584,8 @@ export default function presetAglio({
495
584
  --palette-purple-40: #6d78d7;
496
585
  --palette-purple-30: #6068c0;
497
586
  --palette-purple-20: #5a62a7;
498
- --palette-purple-10: #4f5697;
499
- --palette-purple-00: #2c2f5e;
587
+ --palette-purple-10: #464d8a;
588
+ --palette-purple-00: #272a39;
500
589
  --palette-light-blend: rgba(255, 255, 255, 0.8);
501
590
  --palette-dark-blend: rgba(0, 0, 0, 0.65);
502
591
  --palette-black: #303030;
@@ -526,6 +615,18 @@ export default function presetAglio({
526
615
  --palette-white-overlay: rgba(255, 255, 255, 0.4);
527
616
  --palette-black-overlay: rgba(0, 0, 0, 0.4);
528
617
 
618
+ --color-gray-wash: hsl(from var(--color-primary-wash) calc(h + var(--wash-hue-tweak, 0)) calc(s * ${Math.min(
619
+ 1,
620
+ saturationPercent,
621
+ )} * var(--wash-saturation-tweak, 1)) calc(l * pow(1.025, var(--mode-mult,1))));
622
+ --color-gray: hsl(from var(--color-primary) h calc(s * ${saturationPercent}) calc(l * 1.125));
623
+ --color-gray-dark: hsl(from var(--color-primary-dark) h calc(s * ${
624
+ saturationPercent * 0.75
625
+ }) calc(l * pow(1.125, var(--mode-mult,1))));
626
+ --color-gray-light: hsl(from var(--color-primary-light) h calc(s * ${
627
+ saturationPercent * 0.5
628
+ }) calc(l * pow(1.05, var(--mode-mult,1))));
629
+ --color-wash: var(--color-gray-wash);
529
630
 
530
631
  --z-nowPlaying: 40;
531
632
  --z-nav: 50;
@@ -539,12 +640,13 @@ export default function presetAglio({
539
640
 
540
641
  /* LIGHT THEME */
541
642
  html {
643
+ --wash-saturation-tweak: ${lightModeSaturationTweak};
644
+
542
645
  ${lightColors}
543
646
  --color-dark-blend: var(--palette-dark-blend);
544
647
  --color-light-blend: var(--palette-light-blend);
545
648
  --color-black: var(--palette-black);
546
649
  --color-white: var(--palette-white);
547
- --color-wash: var(--palette-light);
548
650
  --color-gray-1: var(--palette-gray-1);
549
651
  --color-gray-2: var(--palette-gray-2);
550
652
  --color-gray-3: var(--palette-gray-3);
@@ -580,12 +682,13 @@ export default function presetAglio({
580
682
  /* INTRINSIC DARK THEME */
581
683
  @media(prefers-color-scheme: dark) {
582
684
  html {
685
+ --wash-saturation-tweak: ${darkModeSaturationTweak};
686
+ --mode-mult: -1;
583
687
  ${darkColors}
584
688
  --color-dark-blend: var(--palette-light-blend);
585
689
  --color-light-blend: var(--palette-dark-blend);
586
690
  --color-black: var(--palette-white);
587
691
  --color-white: var(--palette-black);
588
- --color-wash: var(--palette-dark);
589
692
  --color-gray-1: var(--palette-gray-ex-2);
590
693
  --color-gray-2: var(--palette-gray-ex-1);
591
694
  --color-gray-3: var(--palette-gray-0);
@@ -607,12 +710,13 @@ export default function presetAglio({
607
710
  /** SYSTEM OVERRIDES **/
608
711
  @media(prefers-color-scheme: dark) {
609
712
  html.override-light {
713
+ --wash-saturation-tweak: ${lightModeSaturationTweak};
714
+ --mode-mult: 1;
610
715
  ${lightColors}
611
716
  --color-dark-blend: var(--palette-dark-blend);
612
717
  --color-light-blend: var(--palette-light-blend);
613
718
  --color-black: var(--palette-black);
614
719
  --color-white: var(--palette-white);
615
- --color-wash: var(--palette-light);
616
720
  --color-gray-1: var(--palette-gray-1);
617
721
  --color-gray-2: var(--palette-gray-2);
618
722
  --color-gray-3: var(--palette-gray-3);
@@ -633,12 +737,13 @@ export default function presetAglio({
633
737
 
634
738
  @media(prefers-color-scheme: light) {
635
739
  html.override-dark {
740
+ --wash-saturation-tweak: ${darkModeSaturationTweak};
741
+ --mode-mult: -1;
636
742
  ${darkColors}
637
743
  --color-dark-blend: var(--palette-light-blend);
638
744
  --color-light-blend: var(--palette-dark-blend);
639
745
  --color-black: var(--palette-white);
640
746
  --color-white: var(--palette-black);
641
- --color-wash: var(--palette-dark);
642
747
  --color-gray-1: var(--palette-gray-ex-2);
643
748
  --color-gray-2: var(--palette-gray-ex-1);
644
749
  --color-gray-3: var(--palette-gray-0);
@@ -670,6 +775,8 @@ export default function presetAglio({
670
775
  --color-primary-light: var(--color-yellow-light);
671
776
  --color-primary-dark: var(--color-yellow-dark);
672
777
  --color-primary-wash: var(--color-yellow-wash);
778
+
779
+ --wash-hue-tweak: -30;
673
780
  }
674
781
 
675
782
  .theme-blueberry {
@@ -715,21 +822,25 @@ export default function presetAglio({
715
822
  --color-primary-light: var(--color-green-light);
716
823
  --color-primary-dark: var(--color-green-dark);
717
824
  --color-primary-wash: var(--color-green-wash);
825
+
826
+ --wash-hue-tweak: 50;
718
827
  }
719
828
 
720
829
  .theme-tomato {
721
- --color-attention-light: var(--color-yellow-light);
722
- --color-attention: var(--color-yellow);
723
- --color-attention-dark: var(--color-yellow-dark);
724
- --color-attention-wash: var(--color-yellow-wash);
830
+ --color-attention-light: var(--color-red-light);
831
+ --color-attention: var(--color-red);
832
+ --color-attention-dark: var(--color-red-dark);
833
+ --color-attention-wash: var(--color-red-wash);
725
834
  --color-accent: var(--color-green);
726
835
  --color-accent-wash: var(--color-green-wash);
727
836
  --color-accent-light: var(--color-green-light);
728
837
  --color-accent-dark: var(--color-green-dark);
729
- --color-primary: var(--color-red);
730
- --color-primary-light: var(--color-red-light);
731
- --color-primary-dark: var(--color-red-dark);
732
- --color-primary-wash: var(--color-red-wash);
838
+ --color-primary: hsl(from var(--color-red) calc(h - 20) s l);
839
+ --color-primary-light: hsl(from var(--color-red-light) calc(h - 20) s l);
840
+ --color-primary-dark: hsl(from var(--color-red-dark) calc(h - 20) s l);
841
+ --color-primary-wash: hsl(from var(--color-red-wash) calc(h - 20) s l);
842
+
843
+ --wash-hue-tweak: -20;
733
844
  }
734
845
 
735
846
  .theme-salt {
@@ -786,6 +897,21 @@ export default function presetAglio({
786
897
  overscroll-behavior: none;
787
898
  }
788
899
  }
900
+
901
+ @property --v-bg-altered {
902
+ syntax: "*";
903
+ inherits: false;
904
+ }
905
+
906
+ @property --v-color-altered {
907
+ syntax: "*";
908
+ inherits: false;
909
+ }
910
+
911
+ @property --v-border-altered {
912
+ syntax: "*";
913
+ inherits: false;
914
+ }
789
915
  `,
790
916
  },
791
917
  ],
@@ -851,3 +977,49 @@ function makeSpacing(increment: number) {
851
977
  xl: 'calc(3rem * var(--spacing-scale,1))',
852
978
  };
853
979
  }
980
+
981
+ function resolveThemeColor(color: string, theme: any) {
982
+ if (
983
+ typeof color === 'string' &&
984
+ color.startsWith('[') &&
985
+ color.endsWith(']')
986
+ ) {
987
+ return color.slice(1, -1);
988
+ }
989
+
990
+ const parts = color.split('-');
991
+ let resolveFrom = theme.colors;
992
+ let resolvedColor: any = color;
993
+ while (parts.length) {
994
+ const part = parts.shift();
995
+ if (!part) break;
996
+ resolvedColor = resolveFrom[part];
997
+ resolveFrom = resolvedColor;
998
+ if (!resolveFrom) break;
999
+ }
1000
+
1001
+ if (typeof resolvedColor === 'object' && 'DEFAULT' in resolvedColor) {
1002
+ return resolvedColor.DEFAULT;
1003
+ }
1004
+
1005
+ if (color === 'accent-light') {
1006
+ console.log(resolveFrom, resolvedColor);
1007
+ }
1008
+
1009
+ return resolvedColor;
1010
+ }
1011
+
1012
+ function lighten(base: string, level: string, saturate?: string) {
1013
+ const levelNum = parseFloat(level) * 0.175;
1014
+ const saturateNum = saturate ? parseFloat(saturate) : levelNum / 100;
1015
+ return `hsl(from ${base} h calc(s * pow(${
1016
+ 1 + saturateNum
1017
+ }, var(--mode-mult, 1))) calc(l * pow(${
1018
+ 1 + levelNum
1019
+ }, var(--mode-mult, 1))))`;
1020
+ }
1021
+
1022
+ function darken(base: string, level: string) {
1023
+ const levelNum = parseFloat(level);
1024
+ return lighten(base, (levelNum / -15).toString());
1025
+ }