@swiftwc/ui 0.0.0-dev.66 → 0.0.0-dev.68

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 (40) hide show
  1. package/generated/client/index.d.ts +4 -1
  2. package/generated/client/index.js +50 -35
  3. package/generated/components/h-stack.d.ts +4 -0
  4. package/generated/components/h-stack.js +4 -0
  5. package/generated/components/index.d.ts +1 -0
  6. package/generated/components/index.js +1 -0
  7. package/generated/components/label-view.d.ts +5 -0
  8. package/generated/components/label-view.js +5 -0
  9. package/generated/components/toggle-view.d.ts +28 -0
  10. package/generated/components/toggle-view.js +222 -0
  11. package/generated/components/v-stack.d.ts +4 -0
  12. package/generated/components/v-stack.js +4 -0
  13. package/generated/css/index.css +110 -31
  14. package/generated/events/index.d.ts +1 -0
  15. package/generated/events/index.js +1 -0
  16. package/generated/events/toggle-view.d.ts +9 -0
  17. package/generated/events/toggle-view.js +1 -0
  18. package/generated/tpl/html.d.ts +5 -0
  19. package/generated/tpl/html.js +3 -0
  20. package/generated/tpl/index.d.ts +4 -0
  21. package/generated/tpl/index.js +4 -0
  22. package/generated/tpl/render.d.ts +2 -0
  23. package/generated/tpl/render.js +135 -0
  24. package/package.json +3 -2
  25. package/scss/_components.scss +2 -0
  26. package/scss/components/_date-picker.scss +15 -15
  27. package/scss/components/_h-stack.scss +17 -1
  28. package/scss/components/_index.scss +4 -0
  29. package/scss/components/_menu-view.scss +53 -49
  30. package/scss/components/_picker-view.scss +38 -39
  31. package/scss/components/_scroll-view-proxy.scss +4 -2
  32. package/scss/components/_section-view.scss +23 -22
  33. package/scss/components/_table-view.scss +6 -6
  34. package/scss/components/_text-field.scss +26 -26
  35. package/scss/components/_toggle-view.scss +79 -0
  36. package/scss/components/_tool-bar.scss +52 -52
  37. package/scss/mixins/_index.scss +9 -2
  38. package/scss/placeholders/_lists.scss +14 -12
  39. package/scss/transitions/_menu-view.scss +17 -15
  40. package/web-components.html-data/en.json +175 -0
@@ -5,74 +5,76 @@
5
5
 
6
6
  @layer #{vars.$components-layer} {
7
7
  menu-view {
8
- :where(&)::part(menu-summary) {
9
- transform: var(--menu--summary-scale,);
8
+ :where(&) {
9
+ &::part(menu-summary) {
10
+ transform: var(--menu--summary-scale,);
10
11
 
11
- filter: var(--menu--summary-filter,);
12
- }
12
+ filter: var(--menu--summary-filter,);
13
+ }
13
14
 
14
- :where(&)::part(menu-scrollable) {
15
- @include mixins.make-scrollable(true);
15
+ &::part(menu-scrollable) {
16
+ @include mixins.make-scrollable(true);
16
17
 
17
- padding: var(--menu-padding);
18
- }
18
+ padding: var(--menu-padding);
19
+ }
19
20
 
20
- :where(&)::part(menu-form) {
21
- // min-inline-size: 200px; // FIXME: del this
22
- inline-size: max-content; //var(--menu-inline-size);
23
- block-size: min-content;
21
+ &::part(menu-form) {
22
+ // min-inline-size: 200px; // FIXME: del this
23
+ inline-size: max-content; //var(--menu-inline-size);
24
+ block-size: min-content;
24
25
 
25
- max-inline-size: var(--menu-max-inline-size,);
26
- max-block-size: var(--menu-max-block-size,);
26
+ max-inline-size: var(--menu-max-inline-size,);
27
+ max-block-size: var(--menu-max-block-size,);
27
28
 
28
- overflow: clip auto;
29
- border-radius: inherit;
29
+ overflow: clip auto;
30
+ border-radius: inherit;
30
31
 
31
- background-color: light-dark(var(--menu-bg), var(--menu-bg-dark));
32
- // border: transparent solid 20px; //make sure bezel is not covered
32
+ background-color: light-dark(var(--menu-bg), var(--menu-bg-dark));
33
+ // border: transparent solid 20px; //make sure bezel is not covered
33
34
 
34
- @include mixins.make-scrollable;
35
- @include mixins.contain-overscroll;
35
+ @include mixins.make-scrollable;
36
+ @include mixins.contain-overscroll;
36
37
 
37
- // touch-action: all;
38
+ // touch-action: all;
38
39
 
39
- --menu--dialog-max-inline-size: anchor-size();
40
- --menu--dialog-max-block-size: anchor-size();
41
- }
40
+ --menu--dialog-max-inline-size: anchor-size();
41
+ --menu--dialog-max-block-size: anchor-size();
42
+ }
42
43
 
43
- :where(&)::part(menu-dialog) {
44
- @include mixins.reset-dialog;
44
+ &::part(menu-dialog) {
45
+ @include mixins.reset-dialog;
45
46
 
46
- color: var(--text,);
47
+ color: var(--text,);
47
48
 
48
- touch-action: none;
49
+ touch-action: none;
49
50
 
50
- position: fixed;
51
+ position: fixed;
51
52
 
52
- inline-size: fit-content;
53
- block-size: fit-content;
54
- height: auto; // safari
55
- max-inline-size: var(--menu--dialog-max-inline-size,);
56
- max-block-size: var(--menu--dialog-max-block-size,);
53
+ inline-size: fit-content;
54
+ block-size: fit-content;
55
+ height: auto; // safari
56
+ max-inline-size: var(--menu--dialog-max-inline-size,);
57
+ max-block-size: var(--menu--dialog-max-block-size,);
57
58
 
58
- margin-block: var(--menu--dialog-margin-block,);
59
- margin-inline: var(--menu--dialog-margin-inline,);
59
+ margin-block: var(--menu--dialog-margin-block,);
60
+ margin-inline: var(--menu--dialog-margin-inline,);
60
61
 
61
- transform: var(--menu--dialog-scale,);
62
+ transform: var(--menu--dialog-scale,);
62
63
 
63
- // position-anchor: --my-anchor; // overriden
64
- position-area: center;
64
+ // position-anchor: --my-anchor; // overriden
65
+ position-area: center;
65
66
 
66
- overflow: clip;
67
- border-radius: calc(var(--menu-item-border-radius) + var(--menu-padding));
67
+ overflow: clip;
68
+ border-radius: calc(var(--menu-item-border-radius) + var(--menu-padding));
68
69
 
69
- backdrop-filter: var(--liquid-glass-backdrop-filter,);
70
- box-shadow: var(--menu-popover-box-shadow,); //0 0 10px 10px black;
70
+ backdrop-filter: var(--liquid-glass-backdrop-filter,);
71
+ box-shadow: var(--menu-popover-box-shadow,); //0 0 10px 10px black;
71
72
 
72
- // finally
73
- --menu--dialog-scale: scale(0);
74
- --menu--summary-scale: ;
75
- --menu--summary-filter: ;
73
+ // finally
74
+ --menu--dialog-scale: scale(0);
75
+ --menu--summary-scale: ;
76
+ --menu--summary-filter: ;
77
+ }
76
78
  }
77
79
 
78
80
  &[open] {
@@ -104,9 +106,11 @@
104
106
  // &[open] > &[open],
105
107
  // &[open]:not(tool-bar-item &) {
106
108
  &[open]:not(tool-bar-item > &) {
107
- --menu--summary-scale: scale(0.01);
109
+ :where(&) {
110
+ --menu--summary-scale: scale(0.01);
108
111
 
109
- --menu--summary-filter: blur(10px);
112
+ --menu--summary-filter: blur(10px);
113
+ }
110
114
  }
111
115
 
112
116
  // :where(& > *) {
@@ -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) {