@a-type/ui 1.6.5 → 1.7.1

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 (138) 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/masonry/masonry.stories.js +2 -2
  36. package/dist/cjs/components/masonry/masonry.stories.js.map +1 -1
  37. package/dist/cjs/components/navBar/NavBar.js +6 -6
  38. package/dist/cjs/components/navBar/NavBar.js.map +1 -1
  39. package/dist/cjs/components/numberStepper/NumberStepper.js +2 -2
  40. package/dist/cjs/components/numberStepper/NumberStepper.js.map +1 -1
  41. package/dist/cjs/components/popover/Popover.js +1 -1
  42. package/dist/cjs/components/popover/Popover.js.map +1 -1
  43. package/dist/cjs/components/richEditor/index.js +1 -1
  44. package/dist/cjs/components/richEditor/index.js.map +1 -1
  45. package/dist/cjs/components/scrollArea/ScrollArea.js +2 -2
  46. package/dist/cjs/components/scrollArea/ScrollArea.js.map +1 -1
  47. package/dist/cjs/components/select/Select.js +1 -1
  48. package/dist/cjs/components/select/Select.js.map +1 -1
  49. package/dist/cjs/components/tabs/tabs.js +3 -3
  50. package/dist/cjs/components/tabs/tabs.js.map +1 -1
  51. package/dist/cjs/themes.stories.js +6 -1
  52. package/dist/cjs/themes.stories.js.map +1 -1
  53. package/dist/cjs/uno.preset.d.ts +2 -1
  54. package/dist/cjs/uno.preset.js +191 -47
  55. package/dist/cjs/uno.preset.js.map +1 -1
  56. package/dist/css/main.css +66 -35
  57. package/dist/esm/components/box/Box.d.ts +1 -1
  58. package/dist/esm/components/box/Box.js +1 -1
  59. package/dist/esm/components/box/Box.js.map +1 -1
  60. package/dist/esm/components/button/classes.js +10 -10
  61. package/dist/esm/components/button/classes.js.map +1 -1
  62. package/dist/esm/components/camera/Camera.js +1 -1
  63. package/dist/esm/components/camera/Camera.js.map +1 -1
  64. package/dist/esm/components/card/Card.js +4 -4
  65. package/dist/esm/components/card/Card.js.map +1 -1
  66. package/dist/esm/components/checkbox/Checkbox.js +1 -1
  67. package/dist/esm/components/checkbox/Checkbox.js.map +1 -1
  68. package/dist/esm/components/datePicker/DatePicker.js +3 -3
  69. package/dist/esm/components/datePicker/DatePicker.js.map +1 -1
  70. package/dist/esm/components/dialog/Dialog.js +3 -3
  71. package/dist/esm/components/dialog/Dialog.js.map +1 -1
  72. package/dist/esm/components/dropdownMenu/DropdownMenu.js +3 -3
  73. package/dist/esm/components/dropdownMenu/DropdownMenu.js.map +1 -1
  74. package/dist/esm/components/editableText/EditableText.js +1 -1
  75. package/dist/esm/components/editableText/EditableText.js.map +1 -1
  76. package/dist/esm/components/forms/CheckboxField.js +1 -1
  77. package/dist/esm/components/forms/CheckboxField.js.map +1 -1
  78. package/dist/esm/components/forms/NumberStepperField.js +2 -2
  79. package/dist/esm/components/forms/NumberStepperField.js.map +1 -1
  80. package/dist/esm/components/forms/TextField.js +1 -1
  81. package/dist/esm/components/forms/TextField.js.map +1 -1
  82. package/dist/esm/components/horizontalList/HorizontalList.js +1 -1
  83. package/dist/esm/components/horizontalList/HorizontalList.js.map +1 -1
  84. package/dist/esm/components/icon/generated/IconSpritesheet.js +1 -1
  85. package/dist/esm/components/icon/generated/IconSpritesheet.js.map +1 -1
  86. package/dist/esm/components/icon/generated/iconNames.d.ts +1 -1
  87. package/dist/esm/components/icon/generated/iconNames.js +2 -0
  88. package/dist/esm/components/icon/generated/iconNames.js.map +1 -1
  89. package/dist/esm/components/input/Input.js +1 -1
  90. package/dist/esm/components/input/Input.js.map +1 -1
  91. package/dist/esm/components/masonry/masonry.stories.js +2 -2
  92. package/dist/esm/components/masonry/masonry.stories.js.map +1 -1
  93. package/dist/esm/components/navBar/NavBar.js +6 -6
  94. package/dist/esm/components/navBar/NavBar.js.map +1 -1
  95. package/dist/esm/components/numberStepper/NumberStepper.js +2 -2
  96. package/dist/esm/components/numberStepper/NumberStepper.js.map +1 -1
  97. package/dist/esm/components/popover/Popover.js +1 -1
  98. package/dist/esm/components/popover/Popover.js.map +1 -1
  99. package/dist/esm/components/richEditor/index.js +1 -1
  100. package/dist/esm/components/richEditor/index.js.map +1 -1
  101. package/dist/esm/components/scrollArea/ScrollArea.js +2 -2
  102. package/dist/esm/components/scrollArea/ScrollArea.js.map +1 -1
  103. package/dist/esm/components/select/Select.js +1 -1
  104. package/dist/esm/components/select/Select.js.map +1 -1
  105. package/dist/esm/components/tabs/tabs.js +3 -3
  106. package/dist/esm/components/tabs/tabs.js.map +1 -1
  107. package/dist/esm/themes.stories.js +7 -2
  108. package/dist/esm/themes.stories.js.map +1 -1
  109. package/dist/esm/uno.preset.d.ts +2 -1
  110. package/dist/esm/uno.preset.js +191 -47
  111. package/dist/esm/uno.preset.js.map +1 -1
  112. package/package.json +1 -1
  113. package/src/components/box/Box.tsx +3 -2
  114. package/src/components/button/classes.tsx +15 -14
  115. package/src/components/camera/Camera.tsx +2 -2
  116. package/src/components/card/Card.tsx +5 -5
  117. package/src/components/checkbox/Checkbox.tsx +1 -1
  118. package/src/components/datePicker/DatePicker.tsx +8 -8
  119. package/src/components/dialog/Dialog.tsx +3 -3
  120. package/src/components/dropdownMenu/DropdownMenu.tsx +4 -4
  121. package/src/components/editableText/EditableText.tsx +1 -1
  122. package/src/components/forms/CheckboxField.tsx +1 -1
  123. package/src/components/forms/NumberStepperField.tsx +2 -2
  124. package/src/components/forms/TextField.tsx +1 -1
  125. package/src/components/horizontalList/HorizontalList.tsx +1 -1
  126. package/src/components/icon/generated/IconSpritesheet.tsx +19 -0
  127. package/src/components/icon/generated/iconNames.ts +2 -0
  128. package/src/components/input/Input.tsx +4 -4
  129. package/src/components/masonry/masonry.stories.tsx +2 -2
  130. package/src/components/navBar/NavBar.tsx +10 -10
  131. package/src/components/numberStepper/NumberStepper.tsx +2 -2
  132. package/src/components/popover/Popover.tsx +1 -1
  133. package/src/components/richEditor/index.ts +1 -1
  134. package/src/components/scrollArea/ScrollArea.tsx +3 -3
  135. package/src/components/select/Select.tsx +4 -2
  136. package/src/components/tabs/tabs.tsx +6 -8
  137. package/src/themes.stories.tsx +159 -85
  138. package/src/uno.preset.ts +219 -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);
@@ -575,17 +677,19 @@ export default function presetAglio({
575
677
  --color-primary-light: var(--color-yellow-light);
576
678
  --color-primary-dark: var(--color-yellow-dark);
577
679
  --color-primary-wash: var(--color-yellow-wash);
680
+ --wash-hue-tweak: -30;
578
681
  }
579
682
 
580
683
  /* INTRINSIC DARK THEME */
581
684
  @media(prefers-color-scheme: dark) {
582
685
  html {
686
+ --wash-saturation-tweak: ${darkModeSaturationTweak};
687
+ --mode-mult: -1;
583
688
  ${darkColors}
584
689
  --color-dark-blend: var(--palette-light-blend);
585
690
  --color-light-blend: var(--palette-dark-blend);
586
691
  --color-black: var(--palette-white);
587
692
  --color-white: var(--palette-black);
588
- --color-wash: var(--palette-dark);
589
693
  --color-gray-1: var(--palette-gray-ex-2);
590
694
  --color-gray-2: var(--palette-gray-ex-1);
591
695
  --color-gray-3: var(--palette-gray-0);
@@ -607,12 +711,13 @@ export default function presetAglio({
607
711
  /** SYSTEM OVERRIDES **/
608
712
  @media(prefers-color-scheme: dark) {
609
713
  html.override-light {
714
+ --wash-saturation-tweak: ${lightModeSaturationTweak};
715
+ --mode-mult: 1;
610
716
  ${lightColors}
611
717
  --color-dark-blend: var(--palette-dark-blend);
612
718
  --color-light-blend: var(--palette-light-blend);
613
719
  --color-black: var(--palette-black);
614
720
  --color-white: var(--palette-white);
615
- --color-wash: var(--palette-light);
616
721
  --color-gray-1: var(--palette-gray-1);
617
722
  --color-gray-2: var(--palette-gray-2);
618
723
  --color-gray-3: var(--palette-gray-3);
@@ -633,12 +738,13 @@ export default function presetAglio({
633
738
 
634
739
  @media(prefers-color-scheme: light) {
635
740
  html.override-dark {
741
+ --wash-saturation-tweak: ${darkModeSaturationTweak};
742
+ --mode-mult: -1;
636
743
  ${darkColors}
637
744
  --color-dark-blend: var(--palette-light-blend);
638
745
  --color-light-blend: var(--palette-dark-blend);
639
746
  --color-black: var(--palette-white);
640
747
  --color-white: var(--palette-black);
641
- --color-wash: var(--palette-dark);
642
748
  --color-gray-1: var(--palette-gray-ex-2);
643
749
  --color-gray-2: var(--palette-gray-ex-1);
644
750
  --color-gray-3: var(--palette-gray-0);
@@ -670,6 +776,8 @@ export default function presetAglio({
670
776
  --color-primary-light: var(--color-yellow-light);
671
777
  --color-primary-dark: var(--color-yellow-dark);
672
778
  --color-primary-wash: var(--color-yellow-wash);
779
+
780
+ --wash-hue-tweak: -30;
673
781
  }
674
782
 
675
783
  .theme-blueberry {
@@ -715,21 +823,25 @@ export default function presetAglio({
715
823
  --color-primary-light: var(--color-green-light);
716
824
  --color-primary-dark: var(--color-green-dark);
717
825
  --color-primary-wash: var(--color-green-wash);
826
+
827
+ --wash-hue-tweak: 50;
718
828
  }
719
829
 
720
830
  .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);
831
+ --color-attention-light: var(--color-red-light);
832
+ --color-attention: var(--color-red);
833
+ --color-attention-dark: var(--color-red-dark);
834
+ --color-attention-wash: var(--color-red-wash);
725
835
  --color-accent: var(--color-green);
726
836
  --color-accent-wash: var(--color-green-wash);
727
837
  --color-accent-light: var(--color-green-light);
728
838
  --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);
839
+ --color-primary: hsl(from var(--color-red) calc(h - 20) s l);
840
+ --color-primary-light: hsl(from var(--color-red-light) calc(h - 20) s l);
841
+ --color-primary-dark: hsl(from var(--color-red-dark) calc(h - 20) s l);
842
+ --color-primary-wash: hsl(from var(--color-red-wash) calc(h - 20) s l);
843
+
844
+ --wash-hue-tweak: -20;
733
845
  }
734
846
 
735
847
  .theme-salt {
@@ -786,6 +898,21 @@ export default function presetAglio({
786
898
  overscroll-behavior: none;
787
899
  }
788
900
  }
901
+
902
+ @property --v-bg-altered {
903
+ syntax: "*";
904
+ inherits: false;
905
+ }
906
+
907
+ @property --v-color-altered {
908
+ syntax: "*";
909
+ inherits: false;
910
+ }
911
+
912
+ @property --v-border-altered {
913
+ syntax: "*";
914
+ inherits: false;
915
+ }
789
916
  `,
790
917
  },
791
918
  ],
@@ -851,3 +978,49 @@ function makeSpacing(increment: number) {
851
978
  xl: 'calc(3rem * var(--spacing-scale,1))',
852
979
  };
853
980
  }
981
+
982
+ function resolveThemeColor(color: string, theme: any) {
983
+ if (
984
+ typeof color === 'string' &&
985
+ color.startsWith('[') &&
986
+ color.endsWith(']')
987
+ ) {
988
+ return color.slice(1, -1);
989
+ }
990
+
991
+ const parts = color.split('-');
992
+ let resolveFrom = theme.colors;
993
+ let resolvedColor: any = color;
994
+ while (parts.length) {
995
+ const part = parts.shift();
996
+ if (!part) break;
997
+ resolvedColor = resolveFrom[part];
998
+ resolveFrom = resolvedColor;
999
+ if (!resolveFrom) break;
1000
+ }
1001
+
1002
+ if (typeof resolvedColor === 'object' && 'DEFAULT' in resolvedColor) {
1003
+ return resolvedColor.DEFAULT;
1004
+ }
1005
+
1006
+ if (color === 'accent-light') {
1007
+ console.log(resolveFrom, resolvedColor);
1008
+ }
1009
+
1010
+ return resolvedColor;
1011
+ }
1012
+
1013
+ function lighten(base: string, level: string, saturate?: string) {
1014
+ const levelNum = parseFloat(level) * 0.175;
1015
+ const saturateNum = saturate ? parseFloat(saturate) : levelNum / 100;
1016
+ return `hsl(from ${base} h calc(s * pow(${
1017
+ 1 + saturateNum
1018
+ }, var(--mode-mult, 1))) calc(l * pow(${
1019
+ 1 + levelNum
1020
+ }, var(--mode-mult, 1))))`;
1021
+ }
1022
+
1023
+ function darken(base: string, level: string) {
1024
+ const levelNum = parseFloat(level);
1025
+ return lighten(base, (levelNum / -15).toString());
1026
+ }