@swiftwc/ui 0.0.0-dev.22 → 0.0.0-dev.24

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 (51) hide show
  1. package/generated/client/index.d.ts +1 -1
  2. package/generated/client/index.js +97 -32
  3. package/generated/components/bordered-button.js +1 -1
  4. package/generated/components/bordered-prominent-button.js +1 -1
  5. package/generated/components/borderless-button.js +1 -1
  6. package/generated/components/fine-tooltip.d.ts +7 -0
  7. package/generated/components/fine-tooltip.js +93 -0
  8. package/generated/components/glass-button.js +1 -1
  9. package/generated/components/glass-prominent-button.js +1 -1
  10. package/generated/components/index.d.ts +2 -0
  11. package/generated/components/index.js +2 -0
  12. package/generated/components/label-view.js +9 -4
  13. package/generated/components/picker-view.js +1 -1
  14. package/generated/components/progress-view.d.ts +13 -0
  15. package/generated/components/progress-view.js +122 -0
  16. package/generated/components/tool-bar-item.d.ts +2 -0
  17. package/generated/components/tool-bar-item.js +18 -4
  18. package/generated/css/index.css +374 -233
  19. package/generated/internal/utils/button-role.d.ts +1 -1
  20. package/generated/internal/utils/button-role.js +7 -3
  21. package/package.json +1 -1
  22. package/scss/_components.scss +3 -0
  23. package/scss/_mixins.scss +4 -0
  24. package/scss/_transitions.scss +4 -0
  25. package/scss/base/_reboot.scss +5 -0
  26. package/scss/base/_root.scss +64 -67
  27. package/scss/colors/_index.scss +81 -41
  28. package/scss/components/_alert-dialog.scss +4 -5
  29. package/scss/components/_bordered-button.scss +3 -0
  30. package/scss/components/_bordered-prominent-button.scss +3 -0
  31. package/scss/components/_borderless-button.scss +3 -0
  32. package/scss/components/_confirmation-dialog.scss +1 -1
  33. package/scss/components/_content-unavailable-view.scss +1 -1
  34. package/scss/components/_fine-tooltip.scss +82 -0
  35. package/scss/components/_glass-button.scss +3 -0
  36. package/scss/components/_glass-prominent-button.scss +3 -0
  37. package/scss/components/_index.scss +23 -20
  38. package/scss/components/_label-view copy.scss.txt +420 -0
  39. package/scss/components/_label-view.scss +26 -116
  40. package/scss/components/_menu-view.scss +17 -0
  41. package/scss/components/_navigation-split-view.scss +3 -3
  42. package/scss/components/_progress-view.scss +98 -0
  43. package/scss/components/_tool-bar-item.scss +61 -62
  44. package/scss/mixins/_button.scss +42 -0
  45. package/scss/mixins/_color.scss +16 -0
  46. package/scss/mixins/_index.scss +1 -1
  47. package/scss/placeholders/_buttons.scss +1 -44
  48. package/scss/transitions/_fine-tooltip.scss +21 -0
  49. package/scss/transitions/_progress-view.scss +23 -0
  50. package/scss/utils/_index.scss +9 -0
  51. package/web-components.html-data/en.json +27 -1
@@ -1 +1 @@
1
- export default function (target: HTMLElement, attributeName: string | null): void;
1
+ export default function (target: HTMLElement, role: string | null): void;
@@ -18,6 +18,10 @@ function renderPlaceholder(el, role) {
18
18
  label.setAttribute('title', I18n.t('ButtonRole').Default.Confirm);
19
19
  label.setAttribute('system-image', Snapshot.config['confirm-button-icon']);
20
20
  break;
21
+ case 'confirmation-action':
22
+ label.setAttribute('title', I18n.t('ButtonRole').Default.Confirm);
23
+ label.setAttribute('system-image', Snapshot.config['confirm-button-icon']);
24
+ break;
21
25
  case 'destructive':
22
26
  label.setAttribute('title', I18n.t('ButtonRole').Default.Destructive);
23
27
  label.setAttribute('system-image', Snapshot.config['delete-button-icon']);
@@ -30,10 +34,10 @@ function renderPlaceholder(el, role) {
30
34
  // label.setAttribute('title', I18n.t('ButtonRole').Default.Destructive)
31
35
  // } else label?.remove()
32
36
  }
33
- export default function (target, attributeName) {
34
- renderPlaceholder(target, target.getAttribute(attributeName ?? ''));
37
+ export default function (target, role) {
38
+ renderPlaceholder(target, role);
35
39
  CleanupRegistry.unregister(target, 'i18n');
36
40
  CleanupRegistry.register(target, onoff('localechange', () => {
37
- renderPlaceholder(target, target.getAttribute(attributeName ?? ''));
41
+ renderPlaceholder(target, role);
38
42
  }, I18n.on).on(), 'i18n');
39
43
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swiftwc/ui",
3
- "version": "0.0.0-dev.22",
3
+ "version": "0.0.0-dev.24",
4
4
  "description": "Elegant SwiftUI-inspired web components for standalone web apps and web extensions.",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -10,6 +10,9 @@
10
10
  @forward 'components/full-screen';
11
11
 
12
12
  @forward 'components/detail-placeholder';
13
+ @forward 'components/progress-view';
14
+
15
+ @forward 'components/fine-tooltip';
13
16
 
14
17
  @forward 'components/sticky-container';
15
18
 
package/scss/_mixins.scss CHANGED
@@ -1,3 +1,7 @@
1
1
  @forward 'mixins/index';
2
2
 
3
3
  @forward 'mixins/dialog';
4
+
5
+ @forward 'mixins/button';
6
+
7
+ @forward 'mixins/color';
@@ -10,8 +10,12 @@
10
10
 
11
11
  @forward 'transitions/dialog';
12
12
 
13
+ @forward 'transitions/fine-tooltip';
14
+
13
15
  @forward 'transitions/menu-view';
14
16
 
17
+ @forward 'transitions/progress-view';
18
+
15
19
  @forward 'transitions/glass-button';
16
20
 
17
21
  @forward 'transitions/glass-prominent-button';
@@ -43,6 +43,7 @@
43
43
  text-transform: none;
44
44
  }
45
45
 
46
+ // FIXME:
46
47
  .ph,
47
48
  .ph::before {
48
49
  display: grid;
@@ -110,6 +111,10 @@
110
111
 
111
112
  html {
112
113
  transition: font-size 1ms step-start;
114
+
115
+ @media (pointer: fine) {
116
+ font-size: 14px;
117
+ }
113
118
  }
114
119
 
115
120
  // label {
@@ -1,6 +1,7 @@
1
1
  @use '../vars';
2
2
  @use '../mixins';
3
3
  @use 'sass:map';
4
+ @use 'sass:string';
4
5
 
5
6
  @property --root-font-size {
6
7
  syntax: '<number>';
@@ -61,8 +62,27 @@
61
62
  --liquid-glass-bg-alpha: 99%;
62
63
  --liquid-glass-bg-alpha-dark: 99%;
63
64
  }
65
+ //
64
66
  --liquid-glass-bg: oklch(var(--liquid-glass-bg-lch) / var(--liquid-glass-bg-alpha));
65
67
  --liquid-glass-bg-dark: oklch(var(--liquid-glass-bg-lch-dark) / var(--liquid-glass-bg-alpha-dark));
68
+
69
+ --clear-glass-bg: var(--liquid-glass-bg);
70
+ --clear-glass-bg-dark: var(--liquid-glass-bg-dark);
71
+ --clear-glass-focus-bg: var(--clear-glass-bg);
72
+ --clear-glass-focus-bg-dark: var(--clear-glass-bg-dark);
73
+ --clear-glass-active-bg: var(--clear-glass-bg);
74
+ --clear-glass-active-bg-dark: var(--clear-glass-bg-dark);
75
+
76
+ // @include mixins.wire-tinted-glass(tinted-glass-bg, tinted-glass-focus-bg, tinted-glass-active-bg);
77
+
78
+ // This is for glass effect on interactive elements like controls that supports hover on fine screens and active state!
79
+ // NOTE: On fine screens this fallbacks/transforms into a basic color w/out glass efect!
80
+ --control-clear-glass-bg: var(--liquid-glass-bg);
81
+ --control-clear-glass-bg-dark: var(--liquid-glass-bg-dark);
82
+ --control-clear-glass-focus-bg: var(--control-clear-glass-bg);
83
+ --control-clear-glass-focus-bg-dark: var(--control-clear-glass-bg-dark);
84
+ --control-clear-glass-active-bg: var(--control-clear-glass-bg);
85
+ --control-clear-glass-active-bg-dark: var(--control-clear-glass-bg-dark);
66
86
  //color-mix(in oklch, red calc(100% - 50%), transparent)
67
87
 
68
88
  // --sidebar-bg-lch: 1 0 0;
@@ -83,22 +103,24 @@
83
103
  var(--liquid-glass-bs-bevel-highlight), var(--liquid-glass-bs-soft-bevel-blur), inset 3px 3px 10px -3px light-dark(#ddd, #262626), inset -3px -3px 10px -3px light-dark(#ddd, #262626),
84
104
  inset 0 0 5px 1px light-dark(#fff, #141414), inset 0 0 0 0.5px light-dark(#00000040, #ffffff26), inset 0 0 24px 0 light-dark(#0000001a, #ffffff0d), var(--liquid-glass-bs-outer);
85
105
 
106
+ --control-clear-glass-box-shadow: var(--liquid-glass-box-shadow);
107
+
86
108
  --navigation-bar-block-size: var(--tool-bar-block-size);
87
109
 
88
110
  --nav-split-view-sidebar-inline-size: 20rem;
89
111
  --nav-split-view-content-inline-size: 25rem;
90
112
 
91
- --nav-split-view-separator-color: var(--divider); //oklch(0 0 0);
92
- --nav-split-view-separator-color-dark: var(--divider-dark); //oklch(1 0 0);
113
+ // --nav-split-view-separator-color: var(--divider); //var(--black);
114
+ // --nav-split-view-separator-color-dark: var(--divider-dark); //var(--white);
93
115
 
94
- --primary-label: oklch(0 0 0);
95
- --primary-label-dark: oklch(1 0 0);
116
+ // --primary-label: var(--black);
117
+ // --primary-label-dark: var(--white);
96
118
 
97
119
  // --secondary-label: oklch(0.4962 0 0); // ✅
98
120
  // --secondary-label-dark: oklch(0.6334 0 0); // ✅
99
121
 
100
- --secondary-text: oklch(0 0 0);
101
- --secondary-text-dark: oklch(1 0 0);
122
+ --secondary-text: var(--black);
123
+ --secondary-text-dark: var(--white);
102
124
 
103
125
  --tint: oklch(0.5325 0.1899 257.12);
104
126
  --tint1g: color-mix(in oklch, white 70%, var(--tint)); //oklch(0.9208 0.0306 249.69);
@@ -110,16 +132,16 @@
110
132
  // --tint-lch: 0.452 0.313214 264.052;
111
133
  // --tint-lch-dark: 0.452 0.313214 264.052;
112
134
 
113
- --divider: oklch(0.9431 0 0); // ✅
114
- --divider-dark: oklch(0.2858 0.0036 286.17); // ✅
135
+ // --divider: oklch(0.9431 0 0); // ✅
136
+ // --divider-dark: oklch(0.2858 0.0036 286.17); // ✅
115
137
 
116
- --system-bg: oklch(1 0 0); // ✅
117
- --system-bg-dark: oklch(0 0 0); // ✅
138
+ --system-bg: var(--white); // ✅
139
+ --system-bg-dark: var(--black); // ✅
118
140
 
119
- --primary-bg: oklch(0.9566 0.0067 286.27); // ✅
120
- --primary-bg-dark: oklch(0 0 0); // ✅
141
+ // --primary-bg: oklch(0.9566 0.0067 286.27); // ✅
142
+ // --primary-bg-dark: var(--black); // ✅
121
143
 
122
- --primary-grouped-bg: oklch(1 0 0); //0.8136 0.0428 255.03;
144
+ --primary-grouped-bg: var(--white); //0.8136 0.0428 255.03;
123
145
  --primary-grouped-bg-dark: oklch(0.8136 0.0428 255.03);
124
146
 
125
147
  --secondary-bg: oklch(0.8045 0.0779 73.42);
@@ -145,8 +167,8 @@
145
167
  --clear: transparent;
146
168
 
147
169
  --toolbar-col-gap: 0.5rem;
148
- --toolbar-cell-bg: var(--liquid-glass-bg); //oklch(var(--sidebar-bg-lch) / var(--sidebar-bg-alpha)); //oklch(0 0 0 / 0%);
149
- --toolbar-cell-bg-dark: var(--liquid-glass-bg-dark); //oklch(var(--sidebar-bg-lch-dark) / var(--sidebar-bg-alpha-dark)); //oklch(0 0 0 / 0%);
170
+ --toolbar-cell-bg: var(--control-clear-glass-bg); //oklch(var(--sidebar-bg-lch) / var(--sidebar-bg-alpha)); //oklch(0 0 0 / 0%);
171
+ --toolbar-cell-bg-dark: var(--control-clear-glass-bg-dark); //oklch(var(--sidebar-bg-lch-dark) / var(--sidebar-bg-alpha-dark)); //oklch(0 0 0 / 0%);
150
172
  --toolbar-cell-inline-padding-start: 0.25rem;
151
173
  --toolbar-cell-inline-padding-end: 0.25rem;
152
174
  --toolbar-cell-block-padding-start: 0.25rem;
@@ -154,22 +176,23 @@
154
176
  --toolbar-cell-border-radius: var(--pill-border-radius);
155
177
  --toolbar-cell-min-size: 2.8rem;
156
178
 
157
- --toolbar-cell-focus-bg: var(--toolbar-cell-bg); //oklch(0 0 0 / 0%);
158
- --toolbar-cell-focus-bg-dark: var(--toolbar-cell-bg-dark); //oklch(0 0 0 / 0%);
159
- --toolbar-cell-active-bg: var(--toolbar-cell-bg); //oklch(0 0 0 / 0%);
160
- --toolbar-cell-active-bg-dark: var(--toolbar-cell-bg-dark); //oklch(0 0 0 / 0%);
179
+ --toolbar-cell-focus-bg: var(--control-clear-glass-focus-bg); //oklch(0 0 0 / 0%);
180
+ --toolbar-cell-focus-bg-dark: var(--control-clear-glass-focus-bg-dark); //oklch(0 0 0 / 0%);
181
+ --toolbar-cell-active-bg: var(--control-clear-glass-active-bg); //oklch(0 0 0 / 0%);
182
+ --toolbar-cell-active-bg-dark: var(--control-clear-glass-active-bg-dark); //oklch(0 0 0 / 0%);
183
+
184
+ --toolbar-cell-box-shadow: var(--control-clear-glass-box-shadow);
161
185
 
162
- --toolbar-cell-box-shadow: var(--liquid-glass-box-shadow);
186
+ --menu-bg: var(--control-clear-glass-bg); //--menu-bg: var(--liquid-glass-bg); //oklch(var(--sidebar-bg-lch) / var(--sidebar-bg-alpha));
187
+ --menu-bg-dark: var(--control-clear-glass-bg-dark); //--menu-bg-dark: var(--liquid-glass-bg-dark); //oklch(var(--sidebar-bg-lch-dark) / var(--sidebar-bg-alpha-dark));
163
188
 
164
- --menu-bg: var(--liquid-glass-bg); //oklch(var(--sidebar-bg-lch) / var(--sidebar-bg-alpha));
165
- --menu-bg-dark: var(--liquid-glass-bg-dark); //oklch(var(--sidebar-bg-lch-dark) / var(--sidebar-bg-alpha-dark));
166
189
  --menu-max-inline-size: 15rem;
167
190
  --menu-max-block-size: 60vh;
168
191
  --menu-spacing: 1rem;
169
192
  --menu-host-offscreen-transform: scale(0);
170
193
  --menu-host-offscreen-filter: blur(10px);
171
194
 
172
- --menu-popover-box-shadow: var(--liquid-glass-box-shadow);
195
+ --menu-popover-box-shadow: var(--control-clear-glass-box-shadow);
173
196
 
174
197
  --menu-padding: 0.5rem;
175
198
 
@@ -180,12 +203,6 @@
180
203
 
181
204
  --menu-item-border-radius: 1.2rem; // define this to be like a pill, based on an exemplar item min-height
182
205
 
183
- --menu-item-focus-bg: oklch(0 0 0 / 0%);
184
- --menu-item-focus-bg-dark: oklch(0 0 0 / 0%);
185
-
186
- --menu-item-active-bg: oklch(0 0 0 / 20%);
187
- --menu-item-active-bg-dark: oklch(1 0 0 / 20%);
188
-
189
206
  --touchglass-transition-duration: 300ms;
190
207
  // --touchglass-transition-duration: 15s;
191
208
 
@@ -304,13 +321,6 @@
304
321
  --table-accessory-gap: 0.2rem;
305
322
  --table-accessory-size: 1.2rem;
306
323
 
307
- --glass-btn-bg: var(--liquid-glass-bg);
308
- --glass-btn-bg-dark: var(--liquid-glass-bg-dark);
309
- --glass-btn-focus-bg: var(--glass-btn-bg);
310
- --glass-btn-focus-bg-dark: var(--glass-btn-bg-dark);
311
- --glass-btn-active-bg: var(--glass-btn-bg);
312
- --glass-btn-active-bg-dark: var(--glass-btn-bg-dark);
313
-
314
324
  // button sizes 1/2
315
325
  @each $size, $media in vars.$button-sizes {
316
326
  $props: map.get($media, default);
@@ -322,6 +332,11 @@
322
332
  }
323
333
  }
324
334
 
335
+ --picker-affordance-size: 1rem;
336
+ --picker-affordance-col-gap: 1rem;
337
+
338
+ // SECTION
339
+
325
340
  // fine
326
341
  @media (pointer: fine) {
327
342
  // button sizes 2/2
@@ -335,47 +350,29 @@
335
350
  }
336
351
  }
337
352
 
338
- --primary-bg: oklch(0.9761 0 0); // ✅
339
- --primary-bg-dark: oklch(0.2666 0.0071 67.52); // ✅
353
+ // --primary-bg: oklch(0.9761 0 0); // ✅
354
+ // --primary-bg-dark: oklch(0.2666 0.0071 67.52); // ✅
340
355
 
341
- --divider: oklch(0.9249 0 0); // ✅
342
- --divider-dark: oklch(0.3452 0.0074 84.59); // ✅
356
+ // --divider: oklch(0.9249 0 0); // ✅
357
+ // --divider-dark: oklch(0.3452 0.0074 84.59); // ✅
343
358
 
344
359
  // --secondary-label: oklch(0.5999 0 0); // ✅
345
360
  // --secondary-label-dark: oklch(0.69 0.0019 67.79); // ✅
346
361
 
347
- --noglass-bg: oklch(1 0 0);
348
- --noglass-bg-dark: oklch(0.2871 0.0029 17.33);
362
+ // SECTION Glass
349
363
 
350
- --toolbar-cell-bg: var(--noglass-bg);
351
- --toolbar-cell-bg-dark: var(--noglass-bg-dark);
364
+ --control-clear-glass-bg: var(--white);
365
+ --control-clear-glass-bg-dark: oklch(0.2871 0.0029 17.33);
366
+ --control-clear-glass-focus-bg: var(--gray5); //oklch(0.9551 0 0); //FIXME: gray6!!!
367
+ --control-clear-glass-focus-bg-dark: oklch(0.3578 0.008 75.3); //FIXME: gray4!!!
368
+ --control-clear-glass-active-bg: var(--gray3); //oklch(0.9128 0 0); //FIXME: gray5!!!
369
+ --control-clear-glass-active-bg-dark: oklch(0.3995 0.0077 75.32); //FIXME: gray3!!!
352
370
 
353
- --toolbar-cell-focus-bg: oklch(0.9551 0 0); //FIXME: gray6!!!
354
- --toolbar-cell-focus-bg-dark: oklch(0.3578 0.008 75.3); //FIXME: gray4!!!
355
- --toolbar-cell-active-bg: oklch(0.9128 0 0); //FIXME: gray5!!!
356
- --toolbar-cell-active-bg-dark: oklch(0.3995 0.0077 75.32); //FIXME: gray3!!!
371
+ --control-clear-glass-box-shadow: var(--liquid-glass-bs-bevel-highlight), var(--liquid-glass-bs-soft-bevel-blur), var(--liquid-glass-bs-outer);
357
372
 
358
- --menu-bg: var(--noglass-bg);
359
- --menu-bg-dark: var(--noglass-bg-dark);
360
-
361
- --toolbar-cell-box-shadow: var(--liquid-glass-bs-bevel-highlight), var(--liquid-glass-bs-soft-bevel-blur), var(--liquid-glass-bs-outer);
362
- --menu-popover-box-shadow: var(--liquid-glass-bs-bevel-highlight), var(--liquid-glass-bs-soft-bevel-blur), var(--liquid-glass-bs-outer);
373
+ // SECTION
363
374
 
364
375
  //
365
- --menu-item-focus-color: oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none);
366
- --menu-item-focus-color-dark: oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none);
367
-
368
- --menu-item-active-color: oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none);
369
- --menu-item-active-color-dark: oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none);
370
-
371
- --menu-item-focus-bg: var(--accentColor);
372
- --menu-item-focus-bg-dark: var(--accentColor);
373
-
374
- --menu-item-active-bg: oklch(from var(--accentColor) max(calc(l * 0.7), 0) min(calc(c * 1.4), c) h); //color-mix(in oklch, black 10%, var(--accentColor));
375
- --menu-item-active-bg-dark: oklch(from var(--accentColor) min(calc(l * 1.3), 1) min(calc(c * 1.2), c) h); //color-mix(in oklch, white 10%, var(--accentColor));
376
-
377
- --picker-affordance-size: 1rem;
378
- --picker-affordance-col-gap: 1rem;
379
376
 
380
377
  // list
381
378
  // @each $v in list, form {
@@ -417,6 +417,12 @@ $colors: map.merge(
417
417
  inherits: true;
418
418
  }
419
419
 
420
+ @property --clear {
421
+ syntax: '<color>';
422
+ initial-value: oklch(0 0 0 / 0%); // ✅
423
+ inherits: true;
424
+ }
425
+
420
426
  @layer #{vars.$colors-layer} {
421
427
  :root {
422
428
  // --background: light-dark(oklch(1 0 0), oklch(0 0 0)); // ✅
@@ -510,17 +516,13 @@ $colors: map.merge(
510
516
  // // --toolbaritemtext: light-dark(var(--primary-label), var(--primary-label-dark));
511
517
  // }
512
518
  }
513
- :where(&[tint]) {
514
- --toolbaritemtext: oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none);
515
- --toolbaritemhighlighttext: oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none);
516
- --toolbaritemactivetext: oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none);
517
-
518
- --toolbaritemface: var(--accentColor); //light-dark(var(--accentColor), var(--accentColor));
519
- --toolbaritemhighlightface: light-dark(
520
- oklch(from var(--accentColor) min(calc(l * 1.1), 1) min(calc(c * 1.1), c) h),
521
- oklch(from var(--accentColor) min(calc(l * 1.1), 1) min(calc(c * 1.1), c) h)
522
- );
523
- --toolbaritemactiveface: light-dark(oklch(from var(--accentColor) min(calc(l * 1.2), 1) min(calc(c * 1.1), c) h), oklch(from var(--accentColor) min(calc(l * 1.2), 1) min(calc(c * 1.1), c) h));
519
+
520
+ :where(&[tint], [tint] &) {
521
+ // --toolbaritemtext: oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none);
522
+ // --toolbaritemhighlighttext: oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none);
523
+ // --toolbaritemactivetext: oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none);
524
+
525
+ @include mixins.wire-tinted-glass(toolbaritem);
524
526
  }
525
527
  }
526
528
 
@@ -531,12 +533,12 @@ $colors: map.merge(
531
533
  // }
532
534
  // }
533
535
 
534
- sidebar-toggle,
536
+ sidebar-toggle {
535
537
  // tool-bar-item,
536
538
  // [is='tab-item'],
537
539
  // list-view > button,
538
540
  // this is temp for toolbar look aboove tables
539
- menu-view {
541
+ // menu-view {
540
542
  // [is='disclosure-group'] {
541
543
  :where(&) {
542
544
  --toolbaritemhighlightface: light-dark(var(--toolbar-cell-focus-bg), var(--toolbar-cell-focus-bg-dark));
@@ -546,12 +548,43 @@ $colors: map.merge(
546
548
 
547
549
  menu-view {
548
550
  :where(&) {
549
- --menuitemhighlighttext: light-dark(var(--menu-item-focus-color), var(--menu-item-focus-color-dark));
550
- --menuitemhighlightface: light-dark(var(--menu-item-focus-bg), var(--menu-item-focus-bg-dark));
551
+ --menuitemhighlightface: light-dark(var(--clear), var(--clear));
552
+
553
+ --menuitemactiveface: light-dark(oklch(0 0 0 / 20%), oklch(1 0 0 / 20%));
554
+
555
+ @media (pointer: fine) {
556
+ --menuitemhighlightface: light-dark(var(--accentColor), var(--accentColor));
557
+
558
+ --menuitemhighlighttext: light-dark(oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none), oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none));
559
+
560
+ --menuitemactivetext: light-dark(oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none), oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none));
551
561
 
552
- --menuitemactivetext: light-dark(var(--menu-item-active-color), var(--menu-item-active-color-dark));
553
- --menuitemactiveface: light-dark(var(--menu-item-active-bg), var(--menu-item-active-bg-dark));
562
+ --menuitemactiveface: light-dark(
563
+ oklch(from var(--accentColor) max(calc(l * 0.7), 0) min(calc(c * 1.4), c) h),
564
+ oklch(from var(--accentColor) min(calc(l * 1.3), 1) min(calc(c * 1.2), c) h)
565
+ ); //color-mix(in oklch, black 10%, var(--accentColor)); //color-mix(in oklch, white 10%, var(--accentColor));
566
+ }
567
+
568
+ --menusummaryhighlightface: light-dark(var(--toolbar-cell-focus-bg), var(--toolbar-cell-focus-bg-dark));
569
+ --menusummaryactiveface: light-dark(var(--toolbar-cell-active-bg), var(--toolbar-cell-active-bg-dark));
570
+ }
571
+
572
+ tool-bar-item > picker-view > &,
573
+ tool-bar-item > & {
574
+ :where(&) {
575
+ --menusummaryface: var(--toolbaritemface);
576
+ --menusummaryhighlightface: var(--toolbaritemhighlightface);
577
+ --menusummaryactiveface: var(--toolbaritemactiveface);
578
+ --menusummarytext: var(--toolbaritemtext);
579
+ --menusummaryhighlighttext: var(--toolbaritemhighlighttext);
580
+ --menusummaryactivetext: var(--toolbaritemactivetext);
581
+ }
554
582
  }
583
+
584
+ // :where(&[tint]) {
585
+ // @include mixins.wire-tinted-menu(menuitemface, menuitemhighlightface, menuitemactiveface);
586
+ // @include mixins.wire-menu-colors;
587
+ // }
555
588
  }
556
589
 
557
590
  :where([is='confirmation-dialog'], [is='alert-dialog']) {
@@ -575,25 +608,34 @@ $colors: map.merge(
575
608
  }
576
609
 
577
610
  :where([is='bordered-button']) {
578
- --btntext: var(--accentEmphasis, var(--accentColor));
611
+ --btntext: var(--accentColorEffective, var(--accentColor));
579
612
  --btnhighlighttext: light-dark(
580
- oklch(from var(--accentEmphasis, var(--accentColor)) max(calc(l * 0.7), 0) min(calc(c * 1.4), c) h),
581
- oklch(from var(--accentEmphasis, var(--accentColor)) min(calc(l * 1.2), 1) min(calc(c * 1.4), c) h)
613
+ oklch(from var(--accentColorEffective, var(--accentColor)) max(calc(l * 0.7), 0) min(calc(c * 1.4), c) h),
614
+ oklch(from var(--accentColorEffective, var(--accentColor)) min(calc(l * 1.2), 1) min(calc(c * 1.4), c) h)
582
615
  );
583
616
  --btnactivetext: light-dark(
584
- oklch(from var(--accentEmphasis, var(--accentColor)) max(calc(l * 0.5), 0) min(calc(c * 1.4), c) h),
585
- oklch(from var(--accentEmphasis, var(--accentColor)) min(calc(l * 1.3), 1) min(calc(c * 1.4), c) h)
617
+ oklch(from var(--accentColorEffective, var(--accentColor)) max(calc(l * 0.5), 0) min(calc(c * 1.4), c) h),
618
+ oklch(from var(--accentColorEffective, var(--accentColor)) min(calc(l * 1.3), 1) min(calc(c * 1.4), c) h)
586
619
  );
587
620
 
588
- --btnface: light-dark(var(--accentSubtle, oklch(from var(--accentColor4) l 0 h)), var(--accentSubtle, oklch(from var(--accentColor4) l 0 h)));
621
+ --btnface: light-dark(var(--accentColorEffective4, oklch(from var(--accentColor4) l 0 h)), var(--accentColorEffective4, oklch(from var(--accentColor4) l 0 h)));
589
622
  --btnhighlightface: light-dark(
590
- oklch(from var(--accentSubtle, oklch(from var(--accentColor4) l 0 h)) max(calc(l * 0.95), 0) min(calc(c * 1.8), c) h),
591
- oklch(from var(--accentSubtle, oklch(from var(--accentColor4) l 0 h)) min(calc(l * 1.2), 1) min(calc(c * 1.8), c) h)
623
+ oklch(from var(--accentColorEffective4, oklch(from var(--accentColor4) l 0 h)) max(calc(l * 0.95), 0) min(calc(c * 1.8), c) h),
624
+ oklch(from var(--accentColorEffective4, oklch(from var(--accentColor4) l 0 h)) min(calc(l * 1.2), 1) min(calc(c * 1.8), c) h)
592
625
  );
593
626
  --btnactiveface: light-dark(
594
- oklch(from var(--accentSubtle, oklch(from var(--accentColor4) l 0 h)) max(calc(l * 0.9), 0) min(calc(c * 1.8), c) h),
595
- oklch(from var(--accentSubtle, oklch(from var(--accentColor4) l 0 h)) min(calc(l * 1.3), 1) min(calc(c * 1.8), c) h)
627
+ oklch(from var(--accentColorEffective4, oklch(from var(--accentColor4) l 0 h)) max(calc(l * 0.9), 0) min(calc(c * 1.8), c) h),
628
+ oklch(from var(--accentColorEffective4, oklch(from var(--accentColor4) l 0 h)) min(calc(l * 1.3), 1) min(calc(c * 1.8), c) h)
596
629
  );
630
+ // --btnface: light-dark(var(--accentSubtle, oklch(from var(--accentColor4) l 0 h)), var(--accentSubtle, oklch(from var(--accentColor4) l 0 h)));
631
+ // --btnhighlightface: light-dark(
632
+ // oklch(from var(--accentSubtle, oklch(from var(--accentColor4) l 0 h)) max(calc(l * 0.95), 0) min(calc(c * 1.8), c) h),
633
+ // oklch(from var(--accentSubtle, oklch(from var(--accentColor4) l 0 h)) min(calc(l * 1.2), 1) min(calc(c * 1.8), c) h)
634
+ // );
635
+ // --btnactiveface: light-dark(
636
+ // oklch(from var(--accentSubtle, oklch(from var(--accentColor4) l 0 h)) max(calc(l * 0.9), 0) min(calc(c * 1.8), c) h),
637
+ // oklch(from var(--accentSubtle, oklch(from var(--accentColor4) l 0 h)) min(calc(l * 1.3), 1) min(calc(c * 1.8), c) h)
638
+ // );
597
639
  }
598
640
 
599
641
  :where([is='bordered-prominent-button']) {
@@ -607,29 +649,27 @@ $colors: map.merge(
607
649
  }
608
650
 
609
651
  :where([is='glass-button']) {
610
- --btntext: var(--accentEmphasis, var(--accentColor));
652
+ --btntext: var(--accentColorEffective, var(--accentColor));
611
653
  --btnhighlighttext: light-dark(
612
- oklch(from var(--accentEmphasis, var(--accentColor)) min(calc(l * 1.1), 1) min(calc(c * 1.1), c) h),
613
- oklch(from var(--accentEmphasis, var(--accentColor)) min(calc(l * 1.1), 1) min(calc(c * 1.1), c) h)
654
+ oklch(from var(--accentColorEffective, var(--accentColor)) min(calc(l * 1.1), 1) min(calc(c * 1.1), c) h),
655
+ oklch(from var(--accentColorEffective, var(--accentColor)) min(calc(l * 1.1), 1) min(calc(c * 1.1), c) h)
614
656
  );
615
657
  --btnactivetext: light-dark(
616
- oklch(from var(--accentEmphasis, var(--accentColor)) min(calc(l * 1.2), 1) min(calc(c * 1.1), c) h),
617
- oklch(from var(--accentEmphasis, var(--accentColor)) min(calc(l * 1.2), 1) min(calc(c * 1.1), c) h)
658
+ oklch(from var(--accentColorEffective, var(--accentColor)) min(calc(l * 1.2), 1) min(calc(c * 1.1), c) h),
659
+ oklch(from var(--accentColorEffective, var(--accentColor)) min(calc(l * 1.2), 1) min(calc(c * 1.1), c) h)
618
660
  );
619
661
 
620
- --btnface: light-dark(var(--glass-btn-bg), var(--glass-btn-bg-dark));
621
- --btnhighlightface: light-dark(var(--glass-btn-focus-bg), var(--glass-btn-focus-bg-dark));
622
- --btnactiveface: light-dark(var(--glass-btn-active-bg), var(--glass-btn-active-bg-dark));
662
+ --btnface: light-dark(var(--clear-glass-bg), var(--clear-glass-bg-dark));
663
+ --btnhighlightface: light-dark(var(--clear-glass-focus-bg), var(--clear-glass-focus-bg-dark));
664
+ --btnactiveface: light-dark(var(--clear-glass-active-bg), var(--clear-glass-active-bg-dark));
623
665
  }
624
666
 
625
667
  :where([is='glass-prominent-button']) {
626
- --btntext: oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none);
627
- --btnhighlighttext: oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none);
628
- --btnactivetext: oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none);
668
+ // --btntext: oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none);
669
+ // --btnhighlighttext: oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none);
670
+ // --btnactivetext: oklch(from var(--accentColor) clamp(0, (0.7 - l) * 999, 1) none none);
629
671
 
630
- --btnface: var(--accentColor); //light-dark(var(--accentColor), var(--accentColor));
631
- --btnhighlightface: light-dark(oklch(from var(--accentColor) min(calc(l * 1.1), 1) min(calc(c * 1.1), c) h), oklch(from var(--accentColor) min(calc(l * 1.1), 1) min(calc(c * 1.1), c) h));
632
- --btnactiveface: light-dark(oklch(from var(--accentColor) min(calc(l * 1.2), 1) min(calc(c * 1.1), c) h), oklch(from var(--accentColor) min(calc(l * 1.2), 1) min(calc(c * 1.1), c) h));
672
+ @include mixins.wire-tinted-glass(btn);
633
673
  }
634
674
 
635
675
  /* list-view {
@@ -18,14 +18,13 @@
18
18
  max-inline-size: min(20rem, 80vw);
19
19
  max-block-size: 80vh;
20
20
 
21
- margin-block: max(env(safe-area-inset-top), var(--menu-spacing)) max(env(safe-area-inset-bottom), var(--menu-spacing));
22
- margin-inline: max(env(safe-area-inset-left), var(--menu-spacing)) max(env(safe-area-inset-right), var(--menu-spacing));
21
+ margin-block: auto;
22
+ margin-inline: auto;
23
23
 
24
24
  transform: var(--alert--dialog-scale,);
25
25
  opacity: var(--alert--dialog-opacity,);
26
26
 
27
- position-anchor: --alert-dialog; // overriden
28
- position-area: center;
27
+ place-self: center;
29
28
 
30
29
  overflow: clip;
31
30
  border-radius: 0.9rem;
@@ -34,7 +33,7 @@
34
33
  box-shadow: var(--menu-popover-box-shadow,); //0 0 10px 10px black;
35
34
 
36
35
  padding-block: 1rem;
37
- padding-inline: 1em;
36
+ padding-inline: 1rem;
38
37
  gap: 1rem;
39
38
 
40
39
  // finally
@@ -26,6 +26,9 @@
26
26
  }
27
27
 
28
28
  :where(&[role='destructive']) {
29
+ --accentColorEffective: var(--red);
30
+ --accentColorEffective4: var(--red4);
31
+
29
32
  --accentColor: var(--red);
30
33
  --accentColor2: var(--red2);
31
34
  --accentColor3: var(--red3);
@@ -22,6 +22,9 @@
22
22
  }
23
23
 
24
24
  :where(&[role='destructive']) {
25
+ --accentColorEffective: var(--red);
26
+ --accentColorEffective4: var(--red4);
27
+
25
28
  --accentColor: var(--red);
26
29
  --accentColor2: var(--red2);
27
30
  --accentColor3: var(--red3);
@@ -13,6 +13,9 @@
13
13
  }
14
14
 
15
15
  :where(&[role='destructive']) {
16
+ --accentColorEffective: var(--red);
17
+ --accentColorEffective4: var(--red4);
18
+
16
19
  --accentColor: var(--red);
17
20
  --accentColor2: var(--red2);
18
21
  --accentColor3: var(--red3);
@@ -33,7 +33,7 @@
33
33
  box-shadow: var(--menu-popover-box-shadow,); //0 0 10px 10px black;
34
34
 
35
35
  padding-block: 1rem;
36
- padding-inline: 1em;
36
+ padding-inline: 1rem;
37
37
  gap: 0.5rem;
38
38
 
39
39
  // finally
@@ -25,7 +25,7 @@
25
25
  > :not([slot]) {
26
26
  --label-image-size: 5;
27
27
 
28
- --label-gap: 1rem;
28
+ --label-gap: 1;
29
29
 
30
30
  // --label-font: title3;
31
31
  }