@swiftwc/ui 0.0.0-dev.65 → 0.0.0-dev.67

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 (34) hide show
  1. package/generated/client/index.js +0 -1
  2. package/generated/components/h-stack.d.ts +4 -0
  3. package/generated/components/h-stack.js +4 -0
  4. package/generated/components/index.d.ts +1 -0
  5. package/generated/components/index.js +1 -0
  6. package/generated/components/label-view.d.ts +5 -0
  7. package/generated/components/label-view.js +5 -0
  8. package/generated/components/toggle-view.d.ts +28 -0
  9. package/generated/components/toggle-view.js +222 -0
  10. package/generated/components/v-stack.d.ts +4 -0
  11. package/generated/components/v-stack.js +4 -0
  12. package/generated/css/index.css +135 -31
  13. package/generated/events/index.d.ts +1 -0
  14. package/generated/events/index.js +1 -0
  15. package/generated/events/toggle-view.d.ts +9 -0
  16. package/generated/events/toggle-view.js +1 -0
  17. package/package.json +1 -1
  18. package/scss/_components.scss +2 -0
  19. package/scss/components/_date-picker.scss +15 -15
  20. package/scss/components/_h-stack.scss +17 -1
  21. package/scss/components/_index.scss +4 -0
  22. package/scss/components/_menu-view.scss +53 -49
  23. package/scss/components/_picker-view.scss +38 -39
  24. package/scss/components/_scroll-view-proxy.scss +4 -2
  25. package/scss/components/_section-view.scss +23 -22
  26. package/scss/components/_table-view.scss +6 -6
  27. package/scss/components/_text-field.scss +26 -26
  28. package/scss/components/_toggle-view.scss +79 -0
  29. package/scss/components/_tool-bar.scss +52 -52
  30. package/scss/mixins/_index.scss +10 -2
  31. package/scss/placeholders/_lists.scss +14 -12
  32. package/scss/transitions/_menu-view.scss +17 -15
  33. package/scss/utils/_index.scss +6 -1
  34. package/web-components.html-data/en.json +175 -0
@@ -110,66 +110,65 @@ $picker-ifs: (
110
110
  border-radius: var(--picker--stack-grid-border-radius,);
111
111
  border: var(--picker--stack-grid-border,);
112
112
  color: var(--picker--stack-grid-color,);
113
- }
114
113
 
115
- // > :not([slot]) {
116
- // :where(&) {
117
- // place-self: var(--picker--input-stack-child-place-self,);
118
- // }
119
- // }
114
+ &::part(picker-stack) {
115
+ // grid-auto-flow: column;
116
+ grid-template-columns: var(--picker--stack-grid-template-columns,); //minmax(30%, 1fr) auto;
120
117
 
121
- :where(&)::part(picker-stack) {
122
- // grid-auto-flow: column;
123
- grid-template-columns: var(--picker--stack-grid-template-columns,); //minmax(30%, 1fr) auto;
118
+ grid-template-rows: var(--picker--stack-grid-template-rows,); //minmax(0, 1fr);
119
+ row-gap: var(--picker--stack-row-gap,);
124
120
 
125
- grid-template-rows: var(--picker--stack-grid-template-rows,); //minmax(0, 1fr);
126
- row-gap: var(--picker--stack-row-gap,);
121
+ column-gap: var(--picker--stack-column-gap,);
127
122
 
128
- column-gap: var(--picker--stack-column-gap,);
123
+ // display: var(--picker--stack-display,);
129
124
 
130
- // display: var(--picker--stack-display,);
125
+ // flex-wrap: var(--picker--stack-flex-wrap,);
131
126
 
132
- // flex-wrap: var(--picker--stack-flex-wrap,);
127
+ // justify-content: var(--picker--stack-justify-content,);
133
128
 
134
- // justify-content: var(--picker--stack-justify-content,);
129
+ // grid-template-columns: var(--picker--stack-grid-template-columns,);
135
130
 
136
- // grid-template-columns: var(--picker--stack-grid-template-columns,);
131
+ // grid-template-rows: minmax(0, 1fr);
137
132
 
138
- // grid-template-rows: minmax(0, 1fr);
133
+ // column-gap: 1rem;
139
134
 
140
- // column-gap: 1rem;
141
-
142
- // // wire these to mimic componentize
143
- // padding-inline: var(--picker--stack-grid-padding-inline,);
144
- // padding-block: var(--picker--stack-grid-padding-block,);
145
- // background: var(--picker--stack-grid-background,);
146
- // border-radius: var(--picker--stack-grid-border-radius,);
147
- // border: var(--picker--stack-grid-border,);
148
- // color: var(--picker--stack-grid-color,);
149
- }
135
+ // // wire these to mimic componentize
136
+ // padding-inline: var(--picker--stack-grid-padding-inline,);
137
+ // padding-block: var(--picker--stack-grid-padding-block,);
138
+ // background: var(--picker--stack-grid-background,);
139
+ // border-radius: var(--picker--stack-grid-border-radius,);
140
+ // border: var(--picker--stack-grid-border,);
141
+ // color: var(--picker--stack-grid-color,);
142
+ }
150
143
 
151
- :where(&)::part(picker-input-stack) {
152
- text-align: var(--picker--input-stack-text-align,);
153
- // flex-shrink: var(--picker--input-stack-flex-shrink,); //none;
144
+ &::part(picker-input-stack) {
145
+ text-align: var(--picker--input-stack-text-align,);
146
+ // flex-shrink: var(--picker--input-stack-flex-shrink,); //none;
154
147
 
155
- // max-width: var(--picker--input-stack-max-width,); //70%;
156
- }
148
+ // max-width: var(--picker--input-stack-max-width,); //70%;
149
+ }
157
150
 
158
- :where(&)::part(picker-label-stack) {
159
- display: var(--picker--labelstack-display, none); // display: none;
151
+ &::part(picker-label-stack) {
152
+ display: var(--picker--labelstack-display, none); // display: none;
160
153
 
161
- color: var(--secondary);
154
+ color: var(--secondary);
162
155
 
163
- --label-truncation-mode: tail;
156
+ --label-truncation-mode: tail;
164
157
 
165
- --label-line-limit: 1;
166
- }
158
+ --label-line-limit: 1;
159
+ }
167
160
 
168
- :where(&) {
169
161
  --picker--stack-grid-template-columns: minmax(30%, 1fr) auto;
170
162
 
171
163
  --picker--stack-grid-template-rows: minmax(0, 1fr);
172
164
  }
165
+
166
+ // > :not([slot]) {
167
+ // :where(&) {
168
+ // place-self: var(--picker--input-stack-child-place-self,);
169
+ // }
170
+ // }
171
+
173
172
  // :where(&) {
174
173
  // --picker--stack-grid-template-columns: auto minmax(0, 1fr);
175
174
  // @include mixins.write-props($picker-elses); NOT Needed for now since all defaults/fallbacks are already the elses
@@ -16,8 +16,6 @@
16
16
  :where(&) {
17
17
  position: relative;
18
18
 
19
- @include mixins.contain-overscroll;
20
-
21
19
  scrollbar-width: thin;
22
20
 
23
21
  container: scroll-view-proxy / inline-size;
@@ -53,6 +51,8 @@
53
51
 
54
52
  scroll-snap-type: block mandatory;
55
53
 
54
+ @include mixins.contain-overscroll(block);
55
+
56
56
  // &::before {
57
57
  // block-size: calc(100cqb + 1px); // creates overflow
58
58
  // }
@@ -65,6 +65,8 @@
65
65
 
66
66
  scroll-snap-type: inline mandatory;
67
67
 
68
+ @include mixins.contain-overscroll(inline);
69
+
68
70
  // &::before {
69
71
  // inline-size: calc(100cqi + 1px); // creates overflow
70
72
  // }
@@ -13,6 +13,29 @@
13
13
  // 'sentinel'
14
14
 
15
15
  gap: 0.5rem;
16
+
17
+ &::part(section-header-stack),
18
+ &::part(section-footer-stack) {
19
+ pointer-events: none;
20
+ // outline: solid magenta 4px;
21
+ // padding-block: 10px;
22
+ }
23
+
24
+ &::part(section-header-stack) {
25
+ grid-area: header;
26
+ }
27
+
28
+ &::part(section-main-stack) {
29
+ grid-area: main;
30
+ }
31
+
32
+ &::part(section-footer-stack) {
33
+ grid-area: footer;
34
+ }
35
+
36
+ &::part(section-header-stack) {
37
+ order: -1;
38
+ }
16
39
  }
17
40
 
18
41
  :where(&:has(> [slot='header']):not(:has(> [slot='footer']))) {
@@ -42,24 +65,6 @@
42
65
  display: none;
43
66
  }
44
67
 
45
- :where(&)::part(section-header-stack),
46
- :where(&)::part(section-footer-stack) {
47
- pointer-events: none;
48
- // outline: solid magenta 4px;
49
- // padding-block: 10px;
50
- }
51
-
52
- :where(&)::part(section-header-stack) {
53
- grid-area: header;
54
- }
55
-
56
- :where(&)::part(section-main-stack) {
57
- grid-area: main;
58
- }
59
-
60
- :where(&)::part(section-footer-stack) {
61
- grid-area: footer;
62
- }
63
68
  // :where(& > *) {
64
69
  // display: grid;
65
70
  // }
@@ -68,10 +73,6 @@
68
73
  // margin-bottom: 3rem;
69
74
  // }
70
75
 
71
- :where(&)::part(section-header-stack) {
72
- order: -1;
73
- }
74
-
75
76
  // :where(&:not(& &))::part(section-header-stack) {
76
77
  // :where(&)::part(section-header-stack) {
77
78
  // display: var(--section--headerstack-display, grid);
@@ -92,12 +92,12 @@ $table-elses: (
92
92
  border-top: 1px solid var(--separator);
93
93
  }
94
94
 
95
- :where(&)::part(table-header-leading-stack),
96
- :where(&)::part(table-header-principal-stack),
97
- :where(&)::part(table-header-trailing-stack),
98
- :where(&)::part(table-footer-leading-stack),
99
- :where(&)::part(table-footer-principal-stack),
100
- :where(&)::part(table-footer-trailing-stack) {
95
+ &::part(table-header-leading-stack),
96
+ &::part(table-header-principal-stack),
97
+ &::part(table-header-trailing-stack),
98
+ &::part(table-footer-leading-stack),
99
+ &::part(table-footer-principal-stack),
100
+ &::part(table-footer-trailing-stack) {
101
101
  grid-auto-flow: column;
102
102
  grid-template-columns: minmax(0, 1fr);
103
103
 
@@ -9,49 +9,49 @@
9
9
 
10
10
  // padding-inline: var(--toolbaritempadistart,) var(--toolbaritempadiend,);
11
11
  // padding-block: var(--toolbaritempadbstart,) var(--toolbaritempadbend,);
12
- }
13
12
 
14
- :where(&)::part(text-field-stack) {
15
- // display: grid;
13
+ &::part(text-field-stack) {
14
+ // display: grid;
16
15
 
17
- grid-template-columns: auto minmax(0, 1fr);
16
+ grid-template-columns: auto minmax(0, 1fr);
18
17
 
19
- grid-template-rows: minmax(0, 1fr);
18
+ grid-template-rows: minmax(0, 1fr);
20
19
 
21
- column-gap: var(--labeled-content-column-gap);
22
- }
20
+ column-gap: var(--labeled-content-column-gap);
21
+ }
23
22
 
24
- :where(&)::part(text-field-label-stack) {
25
- // display: grid;
23
+ &::part(text-field-label-stack) {
24
+ // display: grid;
26
25
 
27
- color: var(--secondary);
28
- }
26
+ color: var(--secondary);
27
+ }
29
28
 
30
- :where(&)::part(text-field-input-stack) {
31
- // display: grid;
29
+ &::part(text-field-input-stack) {
30
+ // display: grid;
32
31
 
33
- place-items: stretch;
34
- place-content: stretch;
35
- }
32
+ place-items: stretch;
33
+ place-content: stretch;
34
+ }
36
35
 
37
- :where(&)::part(text-field-form-input) {
38
- // display: grid;
36
+ &::part(text-field-form-input) {
37
+ // display: grid;
39
38
 
40
- text-align: end;
39
+ text-align: end;
41
40
 
42
- appearance: none;
41
+ appearance: none;
43
42
 
44
- border: 0;
43
+ border: 0;
45
44
 
46
- outline: 0;
45
+ outline: 0;
47
46
 
48
- padding: 0;
47
+ padding: 0;
49
48
 
50
- // padding-block: 0.1rem;
49
+ // padding-block: 0.1rem;
51
50
 
52
- // padding-inline: 0.3rem;
51
+ // padding-inline: 0.3rem;
53
52
 
54
- background-color: transparent;
53
+ background-color: transparent;
54
+ }
55
55
  }
56
56
  }
57
57
  }
@@ -0,0 +1,79 @@
1
+ @use '../vars';
2
+
3
+ @layer #{vars.$components-layer} {
4
+ toggle-view {
5
+ :where(&) {
6
+ grid-template-columns: minmax(0, 1fr);
7
+
8
+ grid-template-rows: minmax(0, 1fr);
9
+
10
+ --toggle--trigger-bg: lightgray;
11
+
12
+ &::part(toggle-stack) {
13
+ grid-template-columns: auto minmax(0, 1fr);
14
+
15
+ grid-template-rows: minmax(0, 1fr);
16
+
17
+ column-gap: var(--labeled-content-column-gap);
18
+ }
19
+
20
+ &::part(toggle-label-stack) {
21
+ color: var(--secondary);
22
+ }
23
+
24
+ &::part(toggle-input-stack) {
25
+ place-items: stretch;
26
+
27
+ place-content: stretch;
28
+ }
29
+
30
+ &::part(toggle-form-input):focus {
31
+ outline: blue solid 5px;
32
+ }
33
+
34
+ &::part(toggle-form-input) {
35
+ text-align: end;
36
+
37
+ position: relative;
38
+
39
+ display: grid;
40
+ outline: red solid 3px;
41
+ border-radius: 2rem;
42
+ inline-size: 4rem;
43
+ block-size: 1rem;
44
+ background: var(--toggle--trigger-bg);
45
+
46
+ // appearance: none;
47
+
48
+ // border: 0;
49
+
50
+ // outline: 0;
51
+
52
+ // padding: 0;
53
+
54
+ // background-color: transparent;
55
+ }
56
+
57
+ &::part(toggle-form-input)::before {
58
+ content: '';
59
+
60
+ display: grid;
61
+
62
+ position: absolute;
63
+ inset: 0 auto auto 0;
64
+ inline-size: 1rem;
65
+ block-size: 1rem;
66
+ border-radius: 1rem;
67
+ // background: yellow;
68
+
69
+ backdrop-filter: var(--liquid-glass-backdrop-filter);
70
+
71
+ box-shadow: var(--liquid-glass-box-shadow);
72
+ }
73
+ }
74
+
75
+ &[aria-checked='true'] {
76
+ --toggle--trigger-bg: green;
77
+ }
78
+ }
79
+ }
@@ -16,80 +16,80 @@
16
16
  'top-bar'
17
17
  'spacer'
18
18
  'bottom-bar';
19
- }
20
19
 
21
- :where(& > *:not(sidebar-toggle), & > sidebar-toggle > tool-bar-item, tab-view > sidebar-toggle > tool-bar-item, navigation-split-view > sidebar-toggle > tool-bar-item) {
22
- backdrop-filter: var(--liquid-glass-backdrop-filter);
23
- box-shadow: var(--toolbar-cell-box-shadow);
20
+ &::part(top-bar),
21
+ &::part(bottom-bar) {
22
+ position: relative; // SAFARI BUG
24
23
 
25
- min-inline-size: var(--toolbar-cell-min-size);
24
+ padding-inline: var(--safe-area-inset-left, 0px) var(--safe-area-inset-right, 0px);
25
+ pointer-events: none;
26
26
 
27
- // tfo
28
- transform: var(--toolbar-cell-scale,);
29
- filter: var(--toolbar-cell-filter,);
30
- opacity: var(--toolbar-cell-opacity,);
27
+ grid-template-columns: auto 1fr auto;
28
+ column-gap: var(--toolbar-col-gap);
29
+ // grid-auto-rows: 40px;
31
30
 
32
- // min-width: calc(var(--tool-bar-block-size) - var(--toolbar-cell-block-padding-start) - var(--toolbar-cell-block-padding-end));
33
- }
31
+ grid-template-rows: var(--toolbar-cell-min-size);
34
32
 
35
- :where(&)::part(top-bar),
36
- :where(&)::part(bottom-bar) {
37
- position: relative; // SAFARI BUG
33
+ // place-items: center;
34
+ place-content: center; // middle of y axis
35
+ }
38
36
 
39
- padding-inline: var(--safe-area-inset-left, 0px) var(--safe-area-inset-right, 0px);
40
- pointer-events: none;
37
+ &::part(top-bar) {
38
+ // padding-inline: calc(
39
+ // var(--safe-area-inset-left, 0px) + var(--navbar-area-inset-left, 0px)
40
+ // )
41
+ // calc(
42
+ // var(--safe-area-inset-right, 0px) + var(--navbar-area-inset-right, 0px)
43
+ // );
41
44
 
42
- grid-template-columns: auto 1fr auto;
43
- column-gap: var(--toolbar-col-gap);
44
- // grid-auto-rows: 40px;
45
+ grid-area: top-bar;
45
46
 
46
- grid-template-rows: var(--toolbar-cell-min-size);
47
+ block-size: calc(var(--safe-area-inset-top) + var(--navigation-bar-block-size));
47
48
 
48
- // place-items: center;
49
- place-content: center; // middle of y axis
50
- }
49
+ padding-block-start: var(--safe-area-inset-top);
50
+ }
51
51
 
52
- :where(&)::part(top-bar) {
53
- // padding-inline: calc(
54
- // var(--safe-area-inset-left, 0px) + var(--navbar-area-inset-left, 0px)
55
- // )
56
- // calc(
57
- // var(--safe-area-inset-right, 0px) + var(--navbar-area-inset-right, 0px)
58
- // );
52
+ &::part(bottom-bar) {
53
+ // padding-inline: calc(
54
+ // var(--safe-area-inset-left, 0px) + var(--toolbar-area-inset-left, 0px)
55
+ // )
56
+ // calc(
57
+ // var(--safe-area-inset-right, 0px) + var(--toolbar-area-inset-right, 0px)
58
+ // );
59
59
 
60
- grid-area: top-bar;
60
+ grid-area: bottom-bar;
61
61
 
62
- block-size: calc(var(--safe-area-inset-top) + var(--navigation-bar-block-size));
62
+ block-size: calc(var(--safe-area-inset-bottom) + var(--tool-bar-block-size));
63
63
 
64
- padding-block-start: var(--safe-area-inset-top);
65
- }
64
+ padding-block-end: var(--safe-area-inset-bottom);
65
+ }
66
66
 
67
- :where(&)::part(bottom-bar) {
68
- // padding-inline: calc(
69
- // var(--safe-area-inset-left, 0px) + var(--toolbar-area-inset-left, 0px)
70
- // )
71
- // calc(
72
- // var(--safe-area-inset-right, 0px) + var(--toolbar-area-inset-right, 0px)
73
- // );
67
+ &::part(toolbar-leading-stack),
68
+ &::part(toolbar-principal-stack),
69
+ &::part(toolbar-trailing-stack) {
70
+ display: grid;
74
71
 
75
- grid-area: bottom-bar;
72
+ grid-auto-flow: column;
73
+ grid-template-columns: minmax(0, 1fr);
76
74
 
77
- block-size: calc(var(--safe-area-inset-bottom) + var(--tool-bar-block-size));
75
+ column-gap: var(--toolbar-col-gap);
78
76
 
79
- padding-block-end: var(--safe-area-inset-bottom);
77
+ padding-inline: var(--toolbar-col-gap) var(--toolbar-col-gap);
78
+ }
80
79
  }
81
80
 
82
- :where(&)::part(toolbar-leading-stack),
83
- :where(&)::part(toolbar-principal-stack),
84
- :where(&)::part(toolbar-trailing-stack) {
85
- display: grid;
81
+ :where(& > *:not(sidebar-toggle), & > sidebar-toggle > tool-bar-item, tab-view > sidebar-toggle > tool-bar-item, navigation-split-view > sidebar-toggle > tool-bar-item) {
82
+ backdrop-filter: var(--liquid-glass-backdrop-filter);
83
+ box-shadow: var(--toolbar-cell-box-shadow);
86
84
 
87
- grid-auto-flow: column;
88
- grid-template-columns: minmax(0, 1fr);
85
+ min-inline-size: var(--toolbar-cell-min-size);
89
86
 
90
- column-gap: var(--toolbar-col-gap);
87
+ // tfo
88
+ transform: var(--toolbar-cell-scale,);
89
+ filter: var(--toolbar-cell-filter,);
90
+ opacity: var(--toolbar-cell-opacity,);
91
91
 
92
- padding-inline: var(--toolbar-col-gap) var(--toolbar-col-gap);
92
+ // min-width: calc(var(--tool-bar-block-size) - var(--toolbar-cell-block-padding-start) - var(--toolbar-cell-block-padding-end));
93
93
  }
94
94
 
95
95
  @include mixins.if-ipad-sheet-fits {
@@ -111,9 +111,16 @@
111
111
  }
112
112
  }
113
113
 
114
- @mixin contain-overscroll() {
115
- overscroll-behavior: contain;
114
+ @mixin contain-overscroll($axis: both) {
116
115
  -webkit-overflow-scrolling: touch;
116
+
117
+ @if $axis == inline {
118
+ overscroll-behavior-inline: contain;
119
+ } @else if $axis == block {
120
+ overscroll-behavior-block: contain;
121
+ } @else {
122
+ overscroll-behavior: contain;
123
+ }
117
124
  }
118
125
 
119
126
  @mixin make-toolbar-pseudos($dir: bottom) {
@@ -208,6 +215,7 @@
208
215
  --red: var(--#{$prefix}text);
209
216
  --green: var(--#{$prefix}text);
210
217
  --orange: var(--#{$prefix}text);
218
+ --purple: var(--#{$prefix}text);
211
219
 
212
220
  // NOTE: breaks list-item-tints
213
221
  --accentColor: var(--#{$prefix}text);
@@ -352,24 +352,26 @@ $list-item-selector: ':not([slot], section-view, [is="disclosure-group"], picker
352
352
 
353
353
  // SECTION: style section heders/footers
354
354
  section-view:not(section-view section-view, menu-view *) {
355
- :where(&)::part(section-footer-stack),
356
- :where(&)::part(section-header-stack) {
357
- // outline: magenta 4px solid;
358
- padding-inline: calc(var(--list--root-padding-inline, 0px) + var(--itempadistart, 0px)) calc(var(--list--root-padding-inline, 0px) + var(--itempadiend, 0px));
355
+ :where(&) {
356
+ &::part(section-footer-stack),
357
+ &::part(section-header-stack) {
358
+ // outline: magenta 4px solid;
359
+ padding-inline: calc(var(--list--root-padding-inline, 0px) + var(--itempadistart, 0px)) calc(var(--list--root-padding-inline, 0px) + var(--itempadiend, 0px));
359
360
 
360
- margin-inline: calc(var(--list--root-padding-inline) * -1);
361
+ margin-inline: calc(var(--list--root-padding-inline) * -1);
361
362
 
362
- padding-block: 1px;
363
- }
363
+ padding-block: 1px;
364
+ }
364
365
 
365
- :where(&)::part(section-header-stack) {
366
- top: calc(var(--list--sticky-block-size, 0px) + var(--navigation-bar-block-size));
366
+ &::part(section-header-stack) {
367
+ top: calc(var(--list--sticky-block-size, 0px) + var(--navigation-bar-block-size));
367
368
 
368
- position: sticky;
369
+ position: sticky;
369
370
 
370
- // backdrop-filter: blur(20px);
371
+ // backdrop-filter: blur(20px);
371
372
 
372
- // text-shadow: 0 0 5px var(--face);
373
+ // text-shadow: 0 0 5px var(--face);
374
+ }
373
375
  }
374
376
  }
375
377
 
@@ -4,22 +4,24 @@
4
4
  @layer #{vars.$transitions-layer} {
5
5
  @media (prefers-reduced-motion: no-preference) {
6
6
  menu-view {
7
- :where(&)::part(menu-summary) {
8
- transition:
9
- transform var(--touchglass-transition-duration) allow-discrete ease-out,
10
- filter var(--touchglass-transition-duration) allow-discrete ease-out;
11
- will-change: transform;
12
- }
7
+ :where(&) {
8
+ &::part(menu-summary) {
9
+ transition:
10
+ transform var(--touchglass-transition-duration) allow-discrete ease-out,
11
+ filter var(--touchglass-transition-duration) allow-discrete ease-out;
12
+ will-change: transform;
13
+ }
13
14
 
14
- :where(&)::part(menu-dialog) {
15
- // transition:
16
- // block-size var(--menu-animation-duration) allow-discrete ease-out,
17
- // inline-size var(--menu-animation-duration) allow-discrete ease-out,
18
- // display var(--menu-animation-duration) allow-discrete ease-out,
19
- // overlay var(--menu-animation-duration) allow-discrete ease-out,
20
- // transform var(--menu-animation-duration) allow-discrete ease-out;
21
- transition: all var(--touchglass-transition-duration) allow-discrete ease-out;
22
- // will-change: block-size, inline-size, transform, overlay, display;
15
+ &::part(menu-dialog) {
16
+ // transition:
17
+ // block-size var(--menu-animation-duration) allow-discrete ease-out,
18
+ // inline-size var(--menu-animation-duration) allow-discrete ease-out,
19
+ // display var(--menu-animation-duration) allow-discrete ease-out,
20
+ // overlay var(--menu-animation-duration) allow-discrete ease-out,
21
+ // transform var(--menu-animation-duration) allow-discrete ease-out;
22
+ transition: all var(--touchglass-transition-duration) allow-discrete ease-out;
23
+ // will-change: block-size, inline-size, transform, overlay, display;
24
+ }
23
25
  }
24
26
  }
25
27
  }
@@ -33,22 +33,27 @@
33
33
  red: --red,
34
34
  green: --green,
35
35
  orange: --orange,
36
+ purple: --purple,
36
37
  'blue.secondary': --blue2,
37
38
  'red.secondary': --red2,
38
39
  'green.secondary': --green2,
39
40
  'orange.secondary': --orange2,
41
+ 'purple.secondary': --purple2,
40
42
  'blue.tertiary': --blue3,
41
43
  'red.tertiary': --red3,
42
44
  'green.tertiary': --green3,
43
45
  'orange.tertiary': --orange3,
46
+ 'purple.tertiary': --purple3,
44
47
  'blue.quaternary': --blue4,
45
48
  'red.quaternary': --red4,
46
49
  'green.quaternary': --green4,
47
50
  'orange.quaternary': --orange4,
51
+ 'purple.quaternary': --purple4,
48
52
  'blue.quinary': --blue5,
49
53
  'red.quinary': --red5,
50
54
  'green.quinary': --green5,
51
- 'orange.quinary': --orange5
55
+ 'orange.quinary': --orange5,
56
+ 'purple.quinary': --purple5
52
57
  )
53
58
  {
54
59
  :where([foreground='#{"" + $k}']) {