@lmfaole/basics 0.4.0 → 0.5.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 (68) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +78 -499
  3. package/basic-components/basic-accordion/README.md +53 -0
  4. package/{components → basic-components}/basic-accordion/index.js +59 -37
  5. package/basic-components/basic-alert/README.md +48 -0
  6. package/basic-components/basic-carousel/README.md +108 -0
  7. package/basic-components/basic-carousel/index.d.ts +73 -0
  8. package/basic-components/basic-carousel/index.js +255 -0
  9. package/basic-components/basic-carousel/register.js +3 -0
  10. package/basic-components/basic-dialog/README.md +57 -0
  11. package/basic-components/basic-popover/README.md +56 -0
  12. package/basic-components/basic-summary-table/README.md +93 -0
  13. package/basic-components/basic-table/README.md +89 -0
  14. package/basic-components/basic-tabs/README.md +63 -0
  15. package/basic-components/basic-toast/README.md +62 -0
  16. package/{components → basic-components}/basic-toast/index.d.ts +3 -0
  17. package/{components → basic-components}/basic-toast/index.js +264 -3
  18. package/basic-components/basic-toc/README.md +43 -0
  19. package/basic-components/basic-toc/register.d.ts +1 -0
  20. package/basic-styling/components/basic-accordion.css +38 -4
  21. package/basic-styling/components/basic-carousel.css +183 -0
  22. package/basic-styling/components/basic-popover.css +2 -4
  23. package/basic-styling/components/basic-summary-table.css +27 -5
  24. package/basic-styling/components/basic-table.css +22 -4
  25. package/basic-styling/components/basic-tabs.css +26 -10
  26. package/basic-styling/components.css +2 -0
  27. package/basic-styling/forms.css +55 -0
  28. package/basic-styling/global.css +1 -0
  29. package/basic-styling/interaction.css +90 -0
  30. package/basic-styling/tokens/palette.css +112 -0
  31. package/basic-styling/tokens/palette.tokens.json +768 -0
  32. package/index.d.ts +10 -9
  33. package/index.js +10 -9
  34. package/package.json +49 -29
  35. package/readme.mdx +0 -6
  36. /package/{components → basic-components}/basic-accordion/index.d.ts +0 -0
  37. /package/{components → basic-components}/basic-accordion/register.d.ts +0 -0
  38. /package/{components → basic-components}/basic-accordion/register.js +0 -0
  39. /package/{components → basic-components}/basic-alert/index.d.ts +0 -0
  40. /package/{components → basic-components}/basic-alert/index.js +0 -0
  41. /package/{components → basic-components}/basic-alert/register.d.ts +0 -0
  42. /package/{components → basic-components}/basic-alert/register.js +0 -0
  43. /package/{components/basic-dialog → basic-components/basic-carousel}/register.d.ts +0 -0
  44. /package/{components → basic-components}/basic-dialog/index.d.ts +0 -0
  45. /package/{components → basic-components}/basic-dialog/index.js +0 -0
  46. /package/{components/basic-popover → basic-components/basic-dialog}/register.d.ts +0 -0
  47. /package/{components → basic-components}/basic-dialog/register.js +0 -0
  48. /package/{components → basic-components}/basic-popover/index.d.ts +0 -0
  49. /package/{components → basic-components}/basic-popover/index.js +0 -0
  50. /package/{components/basic-summary-table → basic-components/basic-popover}/register.d.ts +0 -0
  51. /package/{components → basic-components}/basic-popover/register.js +0 -0
  52. /package/{components → basic-components}/basic-summary-table/index.d.ts +0 -0
  53. /package/{components → basic-components}/basic-summary-table/index.js +0 -0
  54. /package/{components/basic-table → basic-components/basic-summary-table}/register.d.ts +0 -0
  55. /package/{components → basic-components}/basic-summary-table/register.js +0 -0
  56. /package/{components → basic-components}/basic-table/index.d.ts +0 -0
  57. /package/{components → basic-components}/basic-table/index.js +0 -0
  58. /package/{components/basic-tabs → basic-components/basic-table}/register.d.ts +0 -0
  59. /package/{components → basic-components}/basic-table/register.js +0 -0
  60. /package/{components → basic-components}/basic-tabs/index.d.ts +0 -0
  61. /package/{components → basic-components}/basic-tabs/index.js +0 -0
  62. /package/{components/basic-toast → basic-components/basic-tabs}/register.d.ts +0 -0
  63. /package/{components → basic-components}/basic-tabs/register.js +0 -0
  64. /package/{components/basic-toc → basic-components/basic-toast}/register.d.ts +0 -0
  65. /package/{components → basic-components}/basic-toast/register.js +0 -0
  66. /package/{components → basic-components}/basic-toc/index.d.ts +0 -0
  67. /package/{components → basic-components}/basic-toc/index.js +0 -0
  68. /package/{components → basic-components}/basic-toc/register.js +0 -0
@@ -2,6 +2,11 @@ basic-summary-table {
2
2
  --basic-summary-table-caption-gap: var(--basic-flow-space);
3
3
  --basic-summary-table-cell-padding-block: var(--basic-space-3);
4
4
  --basic-summary-table-cell-padding-inline: var(--basic-space-4);
5
+ --basic-summary-table-row-background-zebra: color-mix(
6
+ in oklch,
7
+ var(--basic-color-surface-muted) 48%,
8
+ var(--basic-color-surface)
9
+ );
5
10
 
6
11
  display: block;
7
12
  overflow-x: auto;
@@ -33,10 +38,19 @@ basic-summary-table tr {
33
38
  basic-summary-table th,
34
39
  basic-summary-table td {
35
40
  padding: var(--basic-summary-table-cell-padding-block) var(--basic-summary-table-cell-padding-inline);
36
- border-block-end: var(--basic-border-width) solid var(--basic-color-border);
41
+ border: 0 solid var(--basic-color-border);
37
42
  vertical-align: top;
38
43
  }
39
44
 
45
+ basic-summary-table:is(:not([data-separators]), [data-separators="rows"], [data-separators="both"]) th,
46
+ basic-summary-table:is(:not([data-separators]), [data-separators="rows"], [data-separators="both"]) td {
47
+ border-block-end-width: var(--basic-border-width);
48
+ }
49
+
50
+ basic-summary-table:is([data-separators="columns"], [data-separators="both"]) tr > :is(th, td):not(:last-child) {
51
+ border-inline-end-width: var(--basic-border-width);
52
+ }
53
+
40
54
  basic-summary-table td {
41
55
  font-variant-numeric: tabular-nums;
42
56
  }
@@ -46,27 +60,35 @@ basic-summary-table thead th {
46
60
  font-weight: 700;
47
61
  }
48
62
 
49
- basic-summary-table tbody tr:last-child th,
50
- basic-summary-table tbody tr:last-child td {
51
- border-block-end: 0;
63
+ basic-summary-table:is(:not([data-separators]), [data-separators="rows"], [data-separators="both"]) tbody tr:last-child th,
64
+ basic-summary-table:is(:not([data-separators]), [data-separators="rows"], [data-separators="both"]) tbody tr:last-child td {
65
+ border-block-end-width: 0;
52
66
  }
53
67
 
54
68
  basic-summary-table tbody th {
55
69
  font-weight: 600;
56
70
  }
57
71
 
72
+ basic-summary-table[data-zebra] tbody tr:nth-child(even) > :is(th, td) {
73
+ background: var(--basic-summary-table-row-background-zebra);
74
+ }
75
+
58
76
  basic-summary-table tbody td {
59
77
  color: var(--basic-color-text-muted);
60
78
  }
61
79
 
62
80
  basic-summary-table tfoot th,
63
81
  basic-summary-table tfoot td {
64
- border-block-start: calc(var(--basic-border-width) * 2) solid var(--basic-color-border);
65
82
  border-block-end: 0;
66
83
  background: var(--basic-color-surface-muted);
67
84
  font-weight: 700;
68
85
  }
69
86
 
87
+ basic-summary-table:is(:not([data-separators]), [data-separators="rows"], [data-separators="both"]) tfoot th,
88
+ basic-summary-table:is(:not([data-separators]), [data-separators="rows"], [data-separators="both"]) tfoot td {
89
+ border-block-start: calc(var(--basic-border-width) * 2) solid var(--basic-color-border);
90
+ }
91
+
70
92
  basic-summary-table tfoot td[data-summary-empty] {
71
93
  color: var(--basic-color-text-muted);
72
94
  }
@@ -2,6 +2,11 @@ basic-table {
2
2
  --basic-table-caption-gap: var(--basic-flow-space);
3
3
  --basic-table-cell-padding-block: var(--basic-space-3);
4
4
  --basic-table-cell-padding-inline: var(--basic-space-4);
5
+ --basic-table-row-background-zebra: color-mix(
6
+ in oklch,
7
+ var(--basic-color-surface-muted) 48%,
8
+ var(--basic-color-surface)
9
+ );
5
10
  display: block;
6
11
  overflow-x: auto;
7
12
  }
@@ -24,25 +29,38 @@ basic-table caption {
24
29
  basic-table th,
25
30
  basic-table td {
26
31
  padding: var(--basic-table-cell-padding-block) var(--basic-table-cell-padding-inline);
27
- border-block-end: var(--basic-border-width) solid var(--basic-color-border);
32
+ border: 0 solid var(--basic-color-border);
28
33
  vertical-align: top;
29
34
  text-align: left;
30
35
  }
31
36
 
37
+ basic-table:is(:not([data-separators]), [data-separators="rows"], [data-separators="both"]) th,
38
+ basic-table:is(:not([data-separators]), [data-separators="rows"], [data-separators="both"]) td {
39
+ border-block-end-width: var(--basic-border-width);
40
+ }
41
+
42
+ basic-table:is([data-separators="columns"], [data-separators="both"]) tr > :is(th, td):not(:last-child) {
43
+ border-inline-end-width: var(--basic-border-width);
44
+ }
45
+
32
46
  basic-table thead th {
33
47
  background: var(--basic-color-surface-muted);
34
48
  font-weight: 700;
35
49
  }
36
50
 
37
- basic-table tbody tr:last-child th,
38
- basic-table tbody tr:last-child td {
39
- border-block-end: 0;
51
+ basic-table:is(:not([data-separators]), [data-separators="rows"], [data-separators="both"]) tbody tr:last-child th,
52
+ basic-table:is(:not([data-separators]), [data-separators="rows"], [data-separators="both"]) tbody tr:last-child td {
53
+ border-block-end-width: 0;
40
54
  }
41
55
 
42
56
  basic-table tbody th {
43
57
  font-weight: 600;
44
58
  }
45
59
 
60
+ basic-table[data-zebra] tbody tr:nth-child(even) > :is(th, td) {
61
+ background: var(--basic-table-row-background-zebra);
62
+ }
63
+
46
64
  basic-table tbody td {
47
65
  color: var(--basic-color-text-muted);
48
66
  }
@@ -1,39 +1,55 @@
1
1
  basic-tabs {
2
- --basic-tabs-gap: var(--basic-stack-gap);
2
+ --basic-tabs-list-gap: var(--basic-space-1);
3
+ --basic-tabs-list-padding-inline: var(--basic-space-2);
4
+ --basic-tabs-list-padding-block-start: var(--basic-space-2);
3
5
  --basic-tabs-panel-padding: var(--basic-panel-padding);
6
+ --basic-tabs-panel-background: var(--basic-color-surface-selected);
7
+ --basic-tabs-panel-border: var(--basic-color-border-selected);
4
8
  display: grid;
5
- gap: var(--basic-tabs-gap);
9
+ gap: 0;
6
10
  }
7
11
 
8
12
  basic-tabs [data-tabs-list] {
9
13
  display: flex;
10
14
  flex-wrap: wrap;
11
- gap: var(--basic-space-2);
15
+ align-items: flex-end;
16
+ gap: var(--basic-tabs-list-gap);
17
+ padding-inline: var(--basic-tabs-list-padding-inline);
18
+ padding-block-start: var(--basic-tabs-list-padding-block-start);
12
19
  }
13
20
 
14
21
  basic-tabs [data-tab] {
22
+ --basic-interaction-text-rest: var(--basic-color-text-muted);
23
+ --basic-interaction-text-hover: var(--basic-color-text);
24
+ --basic-interaction-text-active: var(--basic-color-text);
25
+ --basic-interaction-text-selected: var(--basic-color-text);
15
26
  display: inline-flex;
16
27
  align-items: center;
17
28
  justify-content: center;
29
+ margin: 0;
18
30
  padding: var(--basic-control-padding-block) var(--basic-control-padding-inline);
19
31
  border: var(--basic-border-width) solid var(--basic-color-border);
20
- border-radius: var(--basic-radius);
21
- background: var(--basic-color-surface);
22
- color: var(--basic-color-text-muted);
32
+ border-radius: var(--basic-radius) var(--basic-radius) 0 0;
33
+ background: transparent;
23
34
  cursor: pointer;
35
+ position: relative;
36
+ z-index: 1;
24
37
  }
25
38
 
26
39
  basic-tabs [data-tab][aria-selected="true"] {
27
- background: var(--basic-color-surface-muted);
28
- color: inherit;
40
+ border-bottom-color: var(--basic-tabs-panel-background);
29
41
  font-weight: 600;
42
+ z-index: 2;
30
43
  }
31
44
 
32
45
  basic-tabs [data-tab-panel] {
46
+ margin-block-start: calc(var(--basic-border-width) * -1);
33
47
  padding: var(--basic-tabs-panel-padding);
34
- border: var(--basic-border-width) solid var(--basic-color-border);
48
+ border: var(--basic-border-width) solid var(--basic-tabs-panel-border);
35
49
  border-radius: var(--basic-radius);
36
- background: var(--basic-color-surface);
50
+ background: var(--basic-tabs-panel-background);
51
+ position: relative;
52
+ z-index: 0;
37
53
  }
38
54
 
39
55
  basic-tabs [data-tab-panel] > :where(*) {
@@ -1,5 +1,6 @@
1
1
  @import "./components/basic-alert.css";
2
2
  @import "./components/basic-accordion.css";
3
+ @import "./components/basic-carousel.css";
3
4
  @import "./components/basic-dialog.css";
4
5
  @import "./components/basic-popover.css";
5
6
  @import "./components/basic-table.css";
@@ -7,3 +8,4 @@
7
8
  @import "./components/basic-tabs.css";
8
9
  @import "./components/basic-toc.css";
9
10
  @import "./components/basic-toast.css";
11
+ @import "./interaction.css";
@@ -0,0 +1,55 @@
1
+ :where(label):has(> input:is([type="checkbox"], [type="radio"])[data-panel]) {
2
+ display: grid;
3
+ grid-template-columns: auto 1fr;
4
+ gap: var(--basic-space-3);
5
+ align-items: start;
6
+ padding: var(--basic-space-4);
7
+ border: var(--basic-border-width) solid var(--basic-color-border);
8
+ background: var(--basic-color-surface);
9
+ color: inherit;
10
+ cursor: pointer;
11
+ }
12
+
13
+ :where(label):has(> input:is([type="checkbox"], [type="radio"])[data-panel]:enabled):where(:hover) {
14
+ border-color: var(--basic-color-border-hover);
15
+ background: var(--basic-color-surface-hover);
16
+ }
17
+
18
+ :where(label):has(> input:is([type="checkbox"], [type="radio"])[data-panel]:checked) {
19
+ border-color: var(--basic-color-border-selected);
20
+ background: var(--basic-color-surface-selected);
21
+ }
22
+
23
+ :where(label):has(> input:is([type="checkbox"], [type="radio"])[data-panel]:disabled) {
24
+ opacity: 0.7;
25
+ cursor: not-allowed;
26
+ }
27
+
28
+ :where(label):has(> input:is([type="checkbox"], [type="radio"])[data-panel]:focus-visible) {
29
+ outline: 3px solid var(--basic-color-focus);
30
+ outline-offset: 2px;
31
+ }
32
+
33
+ :where(label):has(> input:is([type="checkbox"], [type="radio"])[data-panel]) > input:is([type="checkbox"], [type="radio"])[data-panel] {
34
+ width: auto;
35
+ margin-top: 0.15rem;
36
+ }
37
+
38
+ :where(label):has(> input:is([type="checkbox"], [type="radio"])[data-panel]) > :not(input:is([type="checkbox"], [type="radio"])[data-panel]) {
39
+ min-width: 0;
40
+ }
41
+
42
+ :where(label):has(> input:is([type="checkbox"], [type="radio"])[data-panel]) > :not(input:is([type="checkbox"], [type="radio"])[data-panel]):where(span, div) {
43
+ display: grid;
44
+ gap: var(--basic-space-1);
45
+ }
46
+
47
+ :where(label):has(> input:is([type="checkbox"], [type="radio"])[data-panel]) strong {
48
+ display: block;
49
+ color: var(--basic-color-text);
50
+ }
51
+
52
+ :where(label):has(> input:is([type="checkbox"], [type="radio"])[data-panel]) :is(p, small) {
53
+ margin: 0;
54
+ color: var(--basic-color-text-muted);
55
+ }
@@ -1,5 +1,6 @@
1
1
  @import "./tokens/base.css";
2
2
  @import "./tokens/palette.css";
3
+ @import "./forms.css";
3
4
 
4
5
  html {
5
6
  color-scheme: light dark;
@@ -0,0 +1,90 @@
1
+ :where(
2
+ basic-alert [data-alert-close],
3
+ basic-dialog :is([data-dialog-open], [data-dialog-close]),
4
+ basic-popover :is([data-popover-open], [data-popover-close]),
5
+ basic-toast :is([data-toast-open], [data-toast-close]),
6
+ basic-tabs [data-tab],
7
+ basic-accordion > details > summary
8
+ ) {
9
+ --basic-interaction-state: rest;
10
+ --basic-interaction-surface-rest: var(--basic-color-surface);
11
+ --basic-interaction-surface-hover: var(--basic-color-surface-hover);
12
+ --basic-interaction-surface-active: var(--basic-color-surface-active);
13
+ --basic-interaction-surface-selected: var(--basic-color-surface-selected);
14
+ --basic-interaction-surface-checked: var(--basic-color-surface-checked);
15
+ --basic-interaction-border-rest: var(--basic-color-border);
16
+ --basic-interaction-border-hover: var(--basic-color-border-hover);
17
+ --basic-interaction-border-active: var(--basic-color-border-active);
18
+ --basic-interaction-border-selected: var(--basic-color-border-selected);
19
+ --basic-interaction-border-checked: var(--basic-color-border-checked);
20
+ --basic-interaction-text-rest: inherit;
21
+ --basic-interaction-text-hover: var(--basic-interaction-text-rest);
22
+ --basic-interaction-text-active: var(--basic-interaction-text-hover);
23
+ --basic-interaction-text-selected: var(--basic-interaction-text-rest);
24
+ --basic-interaction-text-checked: var(--basic-interaction-text-rest);
25
+
26
+ position: relative;
27
+ isolation: isolate;
28
+ container-type: normal;
29
+ background: transparent;
30
+ border-color: transparent;
31
+ color: var(--basic-interaction-text-rest);
32
+
33
+ &::before {
34
+ content: "";
35
+ position: absolute;
36
+ inset: 0;
37
+ z-index: -1;
38
+ border-radius: inherit;
39
+ background: var(--basic-interaction-surface-rest);
40
+ box-shadow: 0 0 0 var(--basic-border-width) var(--basic-interaction-border-rest);
41
+ pointer-events: none;
42
+ }
43
+
44
+ &:where(:hover, :focus-visible) {
45
+ --basic-interaction-state: hover;
46
+ color: var(--basic-interaction-text-hover);
47
+ }
48
+
49
+ &:active {
50
+ --basic-interaction-state: active;
51
+ color: var(--basic-interaction-text-active);
52
+ }
53
+
54
+ @container style(--basic-interaction-state: hover) {
55
+ &::before {
56
+ background: var(--basic-interaction-surface-hover);
57
+ box-shadow: 0 0 0 var(--basic-border-width) var(--basic-interaction-border-hover);
58
+ }
59
+ }
60
+
61
+ @container style(--basic-interaction-state: active) {
62
+ &::before {
63
+ background: var(--basic-interaction-surface-active);
64
+ box-shadow: 0 0 0 var(--basic-border-width) var(--basic-interaction-border-active);
65
+ }
66
+ }
67
+
68
+ @container style(--basic-interaction-state: selected) {
69
+ &::before {
70
+ background: var(--basic-interaction-surface-selected);
71
+ box-shadow: 0 0 0 var(--basic-border-width) var(--basic-interaction-border-selected);
72
+ }
73
+ }
74
+
75
+ @container style(--basic-interaction-state: checked) {
76
+ &::before {
77
+ background: var(--basic-interaction-surface-checked);
78
+ box-shadow: 0 0 0 var(--basic-border-width) var(--basic-interaction-border-checked);
79
+ }
80
+ }
81
+ }
82
+
83
+ :where(
84
+ basic-accordion > details[open] > summary,
85
+ basic-popover [data-popover-open][aria-expanded="true"],
86
+ basic-tabs [data-tab][aria-selected="true"]
87
+ ) {
88
+ --basic-interaction-state: selected;
89
+ color: var(--basic-interaction-text-selected);
90
+ }
@@ -58,6 +58,46 @@
58
58
  var(--basic-palette-accent-dark) 18%,
59
59
  var(--basic-palette-surface-dark)
60
60
  );
61
+ --basic-palette-surface-hover-light: color-mix(
62
+ in oklch,
63
+ var(--basic-palette-accent-light) 12%,
64
+ var(--basic-palette-surface-light)
65
+ );
66
+ --basic-palette-surface-hover-dark: color-mix(
67
+ in oklch,
68
+ var(--basic-palette-accent-dark) 20%,
69
+ var(--basic-palette-surface-dark)
70
+ );
71
+ --basic-palette-surface-active-light: color-mix(
72
+ in oklch,
73
+ var(--basic-palette-accent-light) 16%,
74
+ var(--basic-palette-surface-light)
75
+ );
76
+ --basic-palette-surface-active-dark: color-mix(
77
+ in oklch,
78
+ var(--basic-palette-accent-dark) 26%,
79
+ var(--basic-palette-surface-dark)
80
+ );
81
+ --basic-palette-surface-selected-light: color-mix(
82
+ in oklch,
83
+ var(--basic-palette-accent-light) 14%,
84
+ var(--basic-palette-surface-light)
85
+ );
86
+ --basic-palette-surface-selected-dark: color-mix(
87
+ in oklch,
88
+ var(--basic-palette-accent-dark) 24%,
89
+ var(--basic-palette-surface-dark)
90
+ );
91
+ --basic-palette-surface-checked-light: color-mix(
92
+ in oklch,
93
+ var(--basic-palette-accent-light) 18%,
94
+ var(--basic-palette-surface-light)
95
+ );
96
+ --basic-palette-surface-checked-dark: color-mix(
97
+ in oklch,
98
+ var(--basic-palette-accent-dark) 30%,
99
+ var(--basic-palette-surface-dark)
100
+ );
61
101
  --basic-palette-text-muted-light: color-mix(
62
102
  in oklch,
63
103
  var(--basic-palette-text-light) 68%,
@@ -78,6 +118,46 @@
78
118
  var(--basic-palette-text-dark) 24%,
79
119
  var(--basic-palette-surface-dark)
80
120
  );
121
+ --basic-palette-border-hover-light: color-mix(
122
+ in oklch,
123
+ var(--basic-palette-accent-light) 18%,
124
+ var(--basic-palette-border-light)
125
+ );
126
+ --basic-palette-border-hover-dark: color-mix(
127
+ in oklch,
128
+ var(--basic-palette-accent-dark) 28%,
129
+ var(--basic-palette-border-dark)
130
+ );
131
+ --basic-palette-border-active-light: color-mix(
132
+ in oklch,
133
+ var(--basic-palette-accent-light) 24%,
134
+ var(--basic-palette-border-light)
135
+ );
136
+ --basic-palette-border-active-dark: color-mix(
137
+ in oklch,
138
+ var(--basic-palette-accent-dark) 36%,
139
+ var(--basic-palette-border-dark)
140
+ );
141
+ --basic-palette-border-selected-light: color-mix(
142
+ in oklch,
143
+ var(--basic-palette-accent-light) 22%,
144
+ var(--basic-palette-border-light)
145
+ );
146
+ --basic-palette-border-selected-dark: color-mix(
147
+ in oklch,
148
+ var(--basic-palette-accent-dark) 34%,
149
+ var(--basic-palette-border-dark)
150
+ );
151
+ --basic-palette-border-checked-light: color-mix(
152
+ in oklch,
153
+ var(--basic-palette-accent-light) 28%,
154
+ var(--basic-palette-border-light)
155
+ );
156
+ --basic-palette-border-checked-dark: color-mix(
157
+ in oklch,
158
+ var(--basic-palette-accent-dark) 40%,
159
+ var(--basic-palette-border-dark)
160
+ );
81
161
  --basic-palette-overlay-light: color-mix(
82
162
  in oklch,
83
163
  var(--basic-palette-text-light) 24%,
@@ -106,12 +186,44 @@
106
186
  var(--basic-palette-surface-muted-light),
107
187
  var(--basic-palette-surface-muted-dark)
108
188
  );
189
+ --basic-color-surface-hover: light-dark(
190
+ var(--basic-palette-surface-hover-light),
191
+ var(--basic-palette-surface-hover-dark)
192
+ );
193
+ --basic-color-surface-active: light-dark(
194
+ var(--basic-palette-surface-active-light),
195
+ var(--basic-palette-surface-active-dark)
196
+ );
197
+ --basic-color-surface-selected: light-dark(
198
+ var(--basic-palette-surface-selected-light),
199
+ var(--basic-palette-surface-selected-dark)
200
+ );
201
+ --basic-color-surface-checked: light-dark(
202
+ var(--basic-palette-surface-checked-light),
203
+ var(--basic-palette-surface-checked-dark)
204
+ );
109
205
  --basic-color-text: light-dark(var(--basic-palette-text-light), var(--basic-palette-text-dark));
110
206
  --basic-color-text-muted: light-dark(
111
207
  var(--basic-palette-text-muted-light),
112
208
  var(--basic-palette-text-muted-dark)
113
209
  );
114
210
  --basic-color-border: light-dark(var(--basic-palette-border-light), var(--basic-palette-border-dark));
211
+ --basic-color-border-hover: light-dark(
212
+ var(--basic-palette-border-hover-light),
213
+ var(--basic-palette-border-hover-dark)
214
+ );
215
+ --basic-color-border-active: light-dark(
216
+ var(--basic-palette-border-active-light),
217
+ var(--basic-palette-border-active-dark)
218
+ );
219
+ --basic-color-border-selected: light-dark(
220
+ var(--basic-palette-border-selected-light),
221
+ var(--basic-palette-border-selected-dark)
222
+ );
223
+ --basic-color-border-checked: light-dark(
224
+ var(--basic-palette-border-checked-light),
225
+ var(--basic-palette-border-checked-dark)
226
+ );
115
227
  --basic-color-overlay: light-dark(var(--basic-palette-overlay-light), var(--basic-palette-overlay-dark));
116
228
  --basic-color-focus: light-dark(var(--basic-palette-focus-light), var(--basic-palette-focus-dark));
117
229
  }