@swiftwc/ui 0.0.0-dev.8 → 0.0.0-dev.81

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 (243) hide show
  1. package/generated/buses/alert-dialog.d.ts +2 -0
  2. package/generated/buses/alert-dialog.js +1 -0
  3. package/generated/buses/confirmation-dialog.d.ts +2 -0
  4. package/generated/buses/confirmation-dialog.js +1 -0
  5. package/generated/buses/index.d.ts +6 -0
  6. package/generated/buses/index.js +6 -0
  7. package/generated/buses/lifecycle-observer.d.ts +2 -0
  8. package/generated/buses/lifecycle-observer.js +1 -0
  9. package/generated/client/index.d.ts +21 -10
  10. package/generated/client/index.js +177 -194
  11. package/generated/components/alert-dialog.d.ts +8 -0
  12. package/generated/components/alert-dialog.js +99 -0
  13. package/generated/components/body-view.js +5 -2
  14. package/generated/components/bordered-button.d.ts +10 -0
  15. package/generated/components/bordered-button.js +39 -3
  16. package/generated/components/bordered-prominent-button.d.ts +10 -0
  17. package/generated/components/bordered-prominent-button.js +39 -3
  18. package/generated/components/borderless-button.d.ts +9 -1
  19. package/generated/components/borderless-button.js +32 -11
  20. package/generated/components/color-scheme.d.ts +7 -0
  21. package/generated/components/color-scheme.js +54 -0
  22. package/generated/components/confirmation-dialog.d.ts +1 -1
  23. package/generated/components/confirmation-dialog.js +43 -32
  24. package/generated/components/content-unavailable-view.d.ts +24 -0
  25. package/generated/components/content-unavailable-view.js +81 -0
  26. package/generated/components/date-picker.d.ts +2 -12
  27. package/generated/components/date-picker.js +96 -65
  28. package/generated/components/disclosure-group.d.ts +5 -0
  29. package/generated/components/disclosure-group.js +18 -7
  30. package/generated/components/fine-tooltip.d.ts +7 -0
  31. package/generated/components/fine-tooltip.js +107 -0
  32. package/generated/components/form-view.d.ts +3 -0
  33. package/generated/components/form-view.js +8 -3
  34. package/generated/components/glass-button.d.ts +10 -0
  35. package/generated/components/glass-button.js +39 -3
  36. package/generated/components/glass-prominent-button.d.ts +10 -0
  37. package/generated/components/glass-prominent-button.js +39 -3
  38. package/generated/components/h-stack.d.ts +14 -0
  39. package/generated/components/h-stack.js +23 -0
  40. package/generated/components/image-view.d.ts +9 -0
  41. package/generated/components/image-view.js +64 -0
  42. package/generated/components/index.d.ts +11 -3
  43. package/generated/components/index.js +11 -3
  44. package/generated/components/label-view.d.ts +6 -1
  45. package/generated/components/label-view.js +40 -60
  46. package/generated/components/labeled-content.d.ts +9 -0
  47. package/generated/components/labeled-content.js +116 -0
  48. package/generated/components/list-view.d.ts +3 -0
  49. package/generated/components/list-view.js +20 -17
  50. package/generated/components/menu-view.d.ts +4 -1
  51. package/generated/components/menu-view.js +60 -51
  52. package/generated/components/navigation-large-title.js +9 -5
  53. package/generated/components/navigation-split-view.d.ts +4 -1
  54. package/generated/components/navigation-split-view.js +13 -6
  55. package/generated/components/navigation-stack.d.ts +4 -1
  56. package/generated/components/navigation-stack.js +16 -9
  57. package/generated/components/navigation-title.d.ts +1 -1
  58. package/generated/components/navigation-title.js +58 -55
  59. package/generated/components/picker-view.d.ts +32 -4
  60. package/generated/components/picker-view.js +924 -234
  61. package/generated/components/plain-button.js +5 -3
  62. package/generated/components/progress-view.d.ts +13 -0
  63. package/generated/components/progress-view.js +120 -0
  64. package/generated/components/screen-view.js +3 -1
  65. package/generated/components/scroll-view-proxy.d.ts +8 -0
  66. package/generated/components/scroll-view-proxy.js +17 -0
  67. package/generated/components/scroll-view.d.ts +1 -1
  68. package/generated/components/scroll-view.js +101 -85
  69. package/generated/components/search-view.d.ts +7 -0
  70. package/generated/components/search-view.js +30 -0
  71. package/generated/components/section-view.d.ts +1 -1
  72. package/generated/components/section-view.js +35 -30
  73. package/generated/components/sheet-view.d.ts +1 -2
  74. package/generated/components/sheet-view.js +32 -39
  75. package/generated/components/sidebar-toggle.js +44 -66
  76. package/generated/components/sidebar-view.js +13 -8
  77. package/generated/components/sticky-container.js +8 -4
  78. package/generated/components/tab-bar.d.ts +3 -0
  79. package/generated/components/tab-bar.js +20 -10
  80. package/generated/components/tab-item.js +24 -13
  81. package/generated/components/tab-view.js +25 -17
  82. package/generated/components/table-view.d.ts +5 -0
  83. package/generated/components/table-view.js +55 -77
  84. package/generated/components/text-field.d.ts +2 -2
  85. package/generated/components/text-field.js +95 -88
  86. package/generated/components/toggle-view.d.ts +28 -0
  87. package/generated/components/toggle-view.js +224 -0
  88. package/generated/components/tool-bar-item-group.js +21 -4
  89. package/generated/components/tool-bar-item.d.ts +4 -1
  90. package/generated/components/tool-bar-item.js +57 -10
  91. package/generated/components/tool-bar.d.ts +12 -0
  92. package/generated/components/tool-bar.js +27 -11
  93. package/generated/components/v-keyboard.d.ts +3 -1
  94. package/generated/components/v-keyboard.js +12 -6
  95. package/generated/components/v-stack.d.ts +12 -0
  96. package/generated/components/v-stack.js +17 -2
  97. package/generated/css/index.css +2533 -941
  98. package/generated/events/alert-dialog.d.ts +8 -0
  99. package/generated/events/alert-dialog.js +1 -0
  100. package/generated/events/confirmation-dialog.d.ts +2 -2
  101. package/generated/events/index.d.ts +2 -0
  102. package/generated/events/index.js +2 -0
  103. package/generated/events/picker-view.d.ts +7 -0
  104. package/generated/events/scroll-view.js +4 -0
  105. package/generated/events/tab-view.d.ts +6 -2
  106. package/generated/events/text-field.js +3 -0
  107. package/generated/events/toggle-view.d.ts +9 -0
  108. package/generated/events/toggle-view.js +4 -0
  109. package/generated/i18n/index.d.ts +20 -10
  110. package/generated/i18n/index.js +82 -54
  111. package/generated/i18n/locales/el.d.ts +16 -0
  112. package/generated/i18n/locales/el.js +16 -0
  113. package/generated/i18n/locales/en.d.ts +16 -0
  114. package/generated/i18n/locales/en.js +16 -0
  115. package/generated/i18n/locales/index.d.ts +4 -0
  116. package/generated/i18n/locales/index.js +4 -0
  117. package/generated/internal/class/css-style-observer.js +3 -2
  118. package/generated/internal/class/form-associated-base.d.ts +0 -4
  119. package/generated/internal/class/form-associated-base.js +23 -38
  120. package/generated/internal/class/mutation-observer-set.d.ts +9 -0
  121. package/generated/internal/class/mutation-observer-set.js +42 -0
  122. package/generated/internal/class/mutation-observer-singleton.js +18 -0
  123. package/generated/internal/class/navigation-view.d.ts +1 -1
  124. package/generated/internal/class/navigation-view.js +38 -43
  125. package/generated/internal/decorators/adaptive-slot.d.ts +1 -0
  126. package/generated/internal/decorators/adaptive-slot.js +50 -0
  127. package/generated/internal/decorators/custom-element.d.ts +1 -1
  128. package/generated/internal/decorators/custom-element.js +2 -1
  129. package/generated/internal/decorators/index.d.ts +6 -0
  130. package/generated/internal/decorators/index.js +6 -0
  131. package/generated/internal/decorators/microtask-on-connected.d.ts +39 -0
  132. package/generated/internal/decorators/microtask-on-connected.js +67 -0
  133. package/generated/internal/privateNamespace.d.ts +10 -0
  134. package/generated/internal/privateNamespace.js +168 -1
  135. package/generated/internal/utils/cash/index.d.ts +4 -3
  136. package/generated/internal/utils/cash/index.js +6 -4
  137. package/generated/internal/utils/dev-flags.d.ts +3 -0
  138. package/generated/internal/utils/dev-flags.js +5 -0
  139. package/generated/internal/utils/ensure-placeholder.d.ts +1 -0
  140. package/generated/internal/utils/ensure-placeholder.js +55 -0
  141. package/generated/internal/utils/index.d.ts +7 -2
  142. package/generated/internal/utils/index.js +9 -2
  143. package/generated/internal/utils/is-inside.d.ts +1 -0
  144. package/generated/internal/utils/is-inside.js +4 -0
  145. package/generated/internal/utils/list-active.js +67 -12
  146. package/generated/internal/utils/render-label-icon.d.ts +2 -0
  147. package/generated/internal/utils/render-label-icon.js +19 -0
  148. package/generated/internal/utils/render-label-title.d.ts +2 -0
  149. package/generated/internal/utils/render-label-title.js +16 -0
  150. package/generated/internal/utils/render-label.d.ts +1 -0
  151. package/generated/internal/utils/render-label.js +19 -0
  152. package/generated/internal/utils/touch-glass.js +5 -5
  153. package/generated/namespace-browser/base.d.ts +12 -3
  154. package/generated/namespace-browser/base.js +41 -18
  155. package/generated/namespace-browser/event.d.ts +10 -0
  156. package/generated/namespace-browser/event.js +1 -0
  157. package/generated/snapshot/index.d.ts +3 -1
  158. package/generated/snapshot/index.js +25 -2
  159. package/generated/tpl/html.d.ts +5 -0
  160. package/generated/tpl/html.js +3 -0
  161. package/generated/tpl/index.d.ts +4 -0
  162. package/generated/tpl/index.js +4 -0
  163. package/generated/tpl/render.d.ts +2 -0
  164. package/generated/tpl/render.js +132 -0
  165. package/package.json +18 -4
  166. package/scss/_components.scss +14 -0
  167. package/scss/_functions.scss +10 -0
  168. package/scss/_mixins.scss +4 -0
  169. package/scss/_transitions.scss +6 -1
  170. package/scss/_vars.scss +9 -2
  171. package/scss/base/_layout.scss +17 -7
  172. package/scss/base/_reboot.scss +34 -1
  173. package/scss/base/_root.scss +117 -114
  174. package/scss/colors/_index.scss +304 -85
  175. package/scss/components/_alert-dialog.scss +111 -0
  176. package/scss/components/_bordered-button.scss +35 -0
  177. package/scss/components/_bordered-prominent-button.scss +45 -0
  178. package/scss/components/_borderless-button.scss +25 -0
  179. package/scss/components/_confirmation-dialog.scss +41 -49
  180. package/scss/components/_content-unavailable-view.scss +56 -0
  181. package/scss/components/_date-picker.scss +15 -15
  182. package/scss/components/_detail-placeholder.scss +1 -3
  183. package/scss/components/_disclosure-group.scss +84 -33
  184. package/scss/components/_fine-tooltip.scss +84 -0
  185. package/scss/components/_form-view.scss +58 -20
  186. package/scss/components/_glass-button.scss +35 -0
  187. package/scss/components/_glass-prominent-button.scss +46 -0
  188. package/scss/components/_group-box.scss +27 -0
  189. package/scss/components/_h-flex-stack.scss +23 -0
  190. package/scss/components/_h-stack.scss +21 -15
  191. package/scss/components/_image-view.scss +20 -0
  192. package/scss/components/_index.scss +40 -20
  193. package/scss/components/_label-view copy.scss.txt +420 -0
  194. package/scss/components/_label-view.scss +94 -110
  195. package/scss/components/_label-view.scss.txt +536 -0
  196. package/scss/components/_labeled-content.scss +59 -1
  197. package/scss/components/_list-view.scss +65 -25
  198. package/scss/components/_menu-view.scss +95 -60
  199. package/scss/components/_navigation-large-title.scss +17 -0
  200. package/scss/components/_navigation-split-view.scss +3 -3
  201. package/scss/components/_picker-view.scss +259 -59
  202. package/scss/components/_plain-button.scss +7 -0
  203. package/scss/components/_progress-view.scss +98 -0
  204. package/scss/components/_scroll-view-proxy.scss +22 -20
  205. package/scss/components/_scroll-view.scss +4 -0
  206. package/scss/components/_search-view.scss +22 -0
  207. package/scss/components/_section-view.scss +23 -22
  208. package/scss/components/_sheet-view.scss +16 -6
  209. package/scss/components/_sidebar-toggle.scss +1 -4
  210. package/scss/components/_sticky-container.scss +1 -1
  211. package/scss/components/_tab-bar.scss +17 -3
  212. package/scss/components/_tab-view.scss +4 -2
  213. package/scss/components/_table-column.scss +2 -0
  214. package/scss/components/_table-row.scss +69 -1
  215. package/scss/components/_table-view.scss +22 -14
  216. package/scss/components/_text-field.scss +37 -17
  217. package/scss/components/_toggle-view.scss +112 -0
  218. package/scss/components/_tool-bar-item.scss +34 -82
  219. package/scss/components/_tool-bar.scss +77 -57
  220. package/scss/components/_v-stack.scss +9 -2
  221. package/scss/final/_touch-glass.scss +24 -0
  222. package/scss/mixins/_button.scss +44 -0
  223. package/scss/mixins/_color.scss +16 -0
  224. package/scss/mixins/_dialog.scss +1 -0
  225. package/scss/mixins/_index.scss +64 -2
  226. package/scss/placeholders/_buttons.scss +44 -10
  227. package/scss/placeholders/_lists.scss +133 -126
  228. package/scss/transitions/_alert-dialog.scss +18 -0
  229. package/scss/transitions/_confirmation-dialog.scss +8 -0
  230. package/scss/transitions/_fine-tooltip.scss +21 -0
  231. package/scss/transitions/_menu-view.scss +17 -15
  232. package/scss/transitions/_progress-view.scss +23 -0
  233. package/scss/transitions/_sheet-view.scss +30 -0
  234. package/scss/transitions/_tab-bar.scss +6 -5
  235. package/scss/utils/_frame.scss +42 -0
  236. package/scss/utils/_index.scss +67 -52
  237. package/scss/utils/_stacks.scss +56 -73
  238. package/web-components.html-data/en.json +623 -24
  239. package/generated/confirmation-dialog/index.d.ts +0 -1
  240. package/generated/confirmation-dialog/index.js +0 -1
  241. package/generated/lifecycle-observer/index.d.ts +0 -1
  242. package/generated/lifecycle-observer/index.js +0 -1
  243. package/scss/transitions/_dialog.scss +0 -28
@@ -15,9 +15,19 @@
15
15
 
16
16
  --sheet-view-translate: translateY(var(--view-transition-dialog-offscreen-y));
17
17
 
18
- :where(&[fine-presentation-large-adaptation='bottom-bar'] > tool-bar > [slot^='top-bar-']) {
19
- --label-style: icon-only;
20
- }
18
+ // :where(&[fine-presentation-large-adaptation='bottom-bar'] > tool-bar > [slot^='top-bar-']) {
19
+ // // FIXME: Add live tooltip
20
+ // // NOTE: By default toolbars items dialogs have only icons, (except if they define/force w/ labelStyle)
21
+ // :where(& > tool-bar > [slot='top-bar-leading'], & > tool-bar > [slot='top-bar-trailing']) {
22
+ // --label-style: icon-only;
23
+ // }
24
+
25
+ // // NOTE: By default bottombar items dialogs on iphone have only icons, (except if they define/force w/ labelStyle)
26
+ // @media (pointer: coarse) {
27
+ // :where(& > tool-bar > [slot^='bottom-bar-']) {
28
+ // --label-style: icon-only;
29
+ // }
30
+ // }
21
31
 
22
32
  @media (pointer: coarse) and (orientation: portrait) {
23
33
  clip-path: inset(var(--safe-area-inset-top) 0 0 0 round 2rem 2rem 0 0);
@@ -39,8 +49,7 @@
39
49
  height: auto;
40
50
 
41
51
  inset-inline-start: calc(
42
- var(--inset-inline-start-resettor, 1) *
43
- calc(50lvw - calc(#{vars.$ipad-sheet-view-inline-size} / 2) - calc(calc(var(--safe-area-inset-left) + var(--safe-area-inset-right)) / 2))
52
+ var(--inset-inline-start-resettor, 1) * calc(50lvw - calc(#{vars.$ipad-sheet-view-inline-size} / 2) - calc(calc(var(--safe-area-inset-left) + var(--safe-area-inset-right)) / 2))
44
53
  );
45
54
 
46
55
  inset-block-start: calc(50lvh - calc(#{vars.$ipad-sheet-view-height} / 2) - calc(calc(var(--safe-area-inset-top) + var(--safe-area-inset-bottom)) / 2));
@@ -51,7 +60,8 @@
51
60
  }
52
61
 
53
62
  // NOTE: Safari-only mod for closing animation
54
- @supports not selector(:open) {
63
+ // @supports not selector(:open) {
64
+ @supports (hanging-punctuation: first) {
55
65
  &:has(&:not([open])) {
56
66
  :where(&) {
57
67
  overflow: visible;
@@ -101,10 +101,7 @@
101
101
  display: none;
102
102
  }
103
103
 
104
- :where(
105
- navigation-split-view:has(> [is='sidebar-view']):not([preferred-compact-column='content']) > &,
106
- navigation-split-view:has(> [is='sidebar-view'])[column-visibility='double-column'] > &
107
- ) {
104
+ :where(navigation-split-view:has(> [is='sidebar-view']):not([preferred-compact-column='content']) > &, navigation-split-view:has(> [is='sidebar-view'])[column-visibility='double-column'] > &) {
108
105
  display: none;
109
106
  }
110
107
  }
@@ -32,7 +32,7 @@
32
32
  }
33
33
  }
34
34
 
35
- @container (max-block-size: 400px) {
35
+ @container (max-block-size: 25rem) {
36
36
  :where(&) {
37
37
  position: relative;
38
38
  top: unset;
@@ -8,6 +8,7 @@
8
8
  position: absolute;
9
9
  background-color: rgba(0, 0, 0, 0.4);
10
10
  pointer-events: none;
11
+ touch-action: none;
11
12
 
12
13
  position-anchor: #{$anchor-name};
13
14
  // position-area: center;
@@ -39,6 +40,9 @@
39
40
  inset: auto 0 0 0;
40
41
 
41
42
  @include mixins.make-toolbar-pseudos(top);
43
+
44
+ --toolbaritempadistart: 1rem;
45
+ --toolbaritempadiend: 1rem;
42
46
  }
43
47
 
44
48
  > [is='form-view'] {
@@ -62,6 +66,8 @@
62
66
  --label-flow: vertical;
63
67
  --label-line-limit: 2;
64
68
  --label-truncation-mode: tail;
69
+
70
+ --label-font: caption2;
65
71
  }
66
72
 
67
73
  :where(& button) {
@@ -80,6 +86,9 @@
80
86
  --tab-bar-width: 100lvw;
81
87
 
82
88
  inset: 0 0 auto 0;
89
+
90
+ --toolbaritempadistart: 0.3rem;
91
+ --toolbaritempadiend: 0.3rem;
83
92
  }
84
93
 
85
94
  > [is='form-view'] {
@@ -97,9 +106,7 @@
97
106
 
98
107
  // overflow: clip;
99
108
 
100
- scroll-padding-left: calc(
101
- var(--sidebar-toggle-padding-inline-start, 0px) + var(--ipad-tabbar-block-padding-start) + var(--ipad-tabbar-block-padding-end)
102
- );
109
+ scroll-padding-left: calc(var(--sidebar-toggle-padding-inline-start, 0px) + var(--ipad-tabbar-block-padding-start) + var(--ipad-tabbar-block-padding-end));
103
110
 
104
111
  // overflow: auto clip;
105
112
 
@@ -123,6 +130,11 @@
123
130
  #{$selector} [is='sidebar-view'][open] ~ & > [is='form-view'] {
124
131
  :where(&) {
125
132
  transform: translateY(calc(calc(max(var(--safe-area-inset-top), var(--sidebar-block-spacing)) * -1) - 150%));
133
+
134
+ // SAFARI FIX
135
+ @media (prefers-reduced-motion: no-preference) {
136
+ animation: ipad_form_view_slide_up_offedge var(--sidebar-transition-duration) ease forwards;
137
+ }
126
138
  }
127
139
  }
128
140
  }
@@ -161,6 +173,8 @@
161
173
 
162
174
  pointer-events: all;
163
175
 
176
+ touch-action: none; // important for backdrop pans!
177
+
164
178
  grid-auto-flow: column;
165
179
  grid-template-rows: minmax(0, 1fr);
166
180
 
@@ -115,10 +115,12 @@
115
115
  }
116
116
  }
117
117
 
118
- :where(& > [is='sidebar-view']) {
118
+ > [is='sidebar-view'] {
119
119
  @include mixins.make-floating-sidebar;
120
120
 
121
- margin-inline-start: calc(var(--nav-split-view-sidebar-inline-size) * -1); // hide off screen
121
+ :where(&) {
122
+ margin-inline-start: calc(var(--nav-split-view-sidebar-inline-size) * -1); // hide off screen
123
+ }
122
124
  }
123
125
  }
124
126
 
@@ -15,6 +15,8 @@
15
15
  place-content: start;
16
16
 
17
17
  place-items: center;
18
+
19
+ color: var(--blue);
18
20
  }
19
21
 
20
22
  &[aria-sort] {
@@ -24,7 +24,7 @@
24
24
  }
25
25
  }
26
26
  }
27
-
27
+
28
28
  // dissmantle list and turn it into a h-column row
29
29
  @container table (width > #{vars.$table-expanded-bp}) {
30
30
  :where(&) {
@@ -32,6 +32,7 @@
32
32
  &:after {
33
33
  display: none;
34
34
  }
35
+ --list--accessories-size: 0rem;
35
36
  --list--accessories-display: none;
36
37
  // background: red;
37
38
  grid-auto-flow: column;
@@ -137,6 +138,73 @@
137
138
  }
138
139
  }
139
140
  }
141
+ table-view[preferred-compact-template='title:subtitle:trailing'] > & {
142
+ :where(&) {
143
+ grid-template-columns: 1fr 1fr;
144
+ grid-template-rows: repeat(2, auto);
145
+ grid-template-areas:
146
+ 'title trailing'
147
+ 'subtitle _';
148
+ // grid-template-rows: repeat(3, auto); /* 3 rows for first 6 items */
149
+ // grid-template-areas:
150
+ // 'a b'
151
+ // 'c d'
152
+ // 'e f';
153
+ }
154
+ > :nth-child(-n + 3) {
155
+ :where(&) {
156
+ display: grid;
157
+ }
158
+ }
159
+ > :nth-child(1) {
160
+ :where(&) {
161
+ grid-area: title;
162
+ }
163
+ }
164
+ > :nth-child(2) {
165
+ :where(&) {
166
+ grid-area: subtitle;
167
+ }
168
+ }
169
+ > :nth-child(3) {
170
+ :where(&) {
171
+ grid-area: trailing;
172
+ place-self: end;
173
+ grid-column: 1 / -1;
174
+ }
175
+ }
176
+ }
177
+ table-view[preferred-compact-template='title:trailing'] > & {
178
+ :where(&) {
179
+ grid-template-columns: 1fr 1fr;
180
+ grid-template-rows: repeat(2, auto);
181
+ grid-template-areas:
182
+ 'title trailing'
183
+ 'subtitle _';
184
+ // grid-template-rows: repeat(3, auto); /* 3 rows for first 6 items */
185
+ // grid-template-areas:
186
+ // 'a b'
187
+ // 'c d'
188
+ // 'e f';
189
+ }
190
+ > :nth-child(-n + 2) {
191
+ :where(&) {
192
+ display: grid;
193
+ }
194
+ }
195
+ > :nth-child(1) {
196
+ :where(&) {
197
+ grid-area: title;
198
+ }
199
+ }
200
+ > :nth-child(2) {
201
+ :where(&) {
202
+ grid-area: trailing;
203
+ place-self: end;
204
+ grid-column: 1 / -1;
205
+ }
206
+ }
207
+ }
140
208
  table-view[preferred-compact-template='*'] > & {
141
209
  > :nth-child(n + 2) {
142
210
  :where(&) {
@@ -51,7 +51,7 @@ $table-elses: (
51
51
  --list--accessories-display: grid,
52
52
  );
53
53
 
54
- @layer #{vars.$components-layer} {
54
+ @layer #{vars.$list-components-layer} {
55
55
  table-view {
56
56
  &:not(& &, list-view &, [is='form-view'] &) {
57
57
  @extend %list;
@@ -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
 
@@ -107,6 +107,7 @@ $table-elses: (
107
107
 
108
108
  &::part(table-column-stack) {
109
109
  grid-auto-flow: column;
110
+
110
111
  grid-auto-columns: minmax(0, 1fr);
111
112
 
112
113
  column-gap: var(--table-col-gap);
@@ -115,7 +116,9 @@ $table-elses: (
115
116
 
116
117
  padding-block: var(--table-row-gap);
117
118
 
118
- color: var(--blue);
119
+ // color: var(--blue);
120
+ font-size: 0.875rem;
121
+ font-weight: 600;
119
122
 
120
123
  background-color: var(--separator);
121
124
  }
@@ -165,14 +168,19 @@ $table-elses: (
165
168
  // SECTION: Columns counter
166
169
  :where(&) {
167
170
  --table--expanded-columns: 1;
168
- }
169
171
 
170
- :where(&:has(> [slot='column']:nth-of-type(2)):not(:has(> [slot='column']:nth-of-type(3)))) {
171
- --table--expanded-columns: 2;
172
- }
173
- :where(&:has(> [slot='column']:nth-of-type(3)):not(:has(> [slot='column']:nth-of-type(4)))) {
174
- --table--expanded-columns: 3;
172
+ @for $i from 2 through 6 {
173
+ &:has(> [slot='column']:nth-child(#{$i} of [slot='column'])) {
174
+ --table--expanded-columns: #{$i};
175
+ }
176
+ }
175
177
  }
178
+ // :where(&:has(> [slot='column']:nth-of-type(2)):not(:has(> [slot='column']:nth-of-type(3)))) {
179
+ // --table--expanded-columns: 2;
180
+ // }
181
+ // :where(&:has(> [slot='column']:nth-of-type(3)):not(:has(> [slot='column']:nth-of-type(4)))) {
182
+ // --table--expanded-columns: 3;
183
+ // }
176
184
 
177
185
  // // @include mixins.center-toolbar-elements('&');
178
186
  // :where(& > button[slot^='header'], & > button[slot^='footer']),
@@ -4,34 +4,54 @@
4
4
  text-field {
5
5
  :where(&) {
6
6
  grid-template-columns: minmax(0, 1fr);
7
+
7
8
  grid-template-rows: minmax(0, 1fr);
8
9
 
9
10
  // padding-inline: var(--toolbaritempadistart,) var(--toolbaritempadiend,);
10
11
  // padding-block: var(--toolbaritempadbstart,) var(--toolbaritempadbend,);
11
- }
12
12
 
13
- :where(&)::part(text-field-stack) {
14
- // display: grid;
13
+ &::part(text-field-stack) {
14
+ // display: grid;
15
15
 
16
- grid-template-columns: auto minmax(0, 1fr);
17
- grid-template-rows: minmax(0, 1fr);
18
- }
16
+ grid-template-columns: auto minmax(0, 1fr);
19
17
 
20
- :where(&)::part(text-field-label-stack) {
21
- // display: grid;
22
- }
18
+ grid-template-rows: minmax(0, 1fr);
23
19
 
24
- :where(&)::part(text-field-input-stack) {
25
- // display: grid;
20
+ column-gap: var(--labeled-content-column-gap);
21
+ }
26
22
 
27
- place-items: stretch;
28
- place-content: stretch;
29
- }
23
+ &::part(text-field-label-stack) {
24
+ // display: grid;
25
+
26
+ color: var(--secondary);
27
+ }
28
+
29
+ &::part(text-field-input-stack) {
30
+ // display: grid;
31
+
32
+ place-items: stretch;
33
+ place-content: stretch;
34
+ }
35
+
36
+ &::part(text-field-form-input) {
37
+ // display: grid;
38
+
39
+ text-align: end;
40
+
41
+ appearance: none;
42
+
43
+ border: 0;
44
+
45
+ outline: 0;
46
+
47
+ padding: 0;
48
+
49
+ // padding-block: 0.1rem;
30
50
 
31
- :where(&)::part(text-field-form-input) {
32
- // display: grid;
51
+ // padding-inline: 0.3rem;
33
52
 
34
- text-align: end;
53
+ background-color: transparent;
54
+ }
35
55
  }
36
56
  }
37
57
  }
@@ -0,0 +1,112 @@
1
+ @use '../vars';
2
+ @use '../mixins';
3
+ @use 'sass:string';
4
+
5
+ @layer #{vars.$components-layer} {
6
+ toggle-view {
7
+ :where(&) {
8
+ grid-template-columns: minmax(0, 1fr);
9
+
10
+ grid-template-rows: minmax(0, 1fr);
11
+
12
+ --toggle--trigger-bg: lightgray;
13
+
14
+ &::part(toggle-stack) {
15
+ grid-template-columns: auto minmax(0, 1fr);
16
+
17
+ grid-template-rows: minmax(0, 1fr);
18
+
19
+ column-gap: var(--labeled-content-column-gap);
20
+ }
21
+
22
+ // &::part(toggle-label-stack) {
23
+ // color: var(--secondary);
24
+ // }
25
+
26
+ &::part(toggle-input-stack) {
27
+ // place-items: end;
28
+ align-items: center;
29
+ justify-items: end;
30
+
31
+ place-content: stretch;
32
+ }
33
+
34
+ &::part(toggle-form-input):focus {
35
+ outline: blue solid 5px;
36
+ }
37
+
38
+ &::part(toggle-form-input) {
39
+ text-align: end;
40
+
41
+ position: relative;
42
+
43
+ display: grid;
44
+ outline: red solid 3px;
45
+ border-radius: 2rem;
46
+ inline-size: 4rem;
47
+ block-size: 1rem;
48
+ background: var(--toggle--trigger-bg);
49
+
50
+ // appearance: none;
51
+
52
+ // border: 0;
53
+
54
+ // outline: 0;
55
+
56
+ // padding: 0;
57
+
58
+ // background-color: transparent;
59
+ }
60
+
61
+ &::part(toggle-form-input)::before {
62
+ content: '';
63
+
64
+ display: grid;
65
+
66
+ position: absolute;
67
+ inset: 0 auto auto 0;
68
+ inline-size: 1rem;
69
+ block-size: 1rem;
70
+ border-radius: 1rem;
71
+ // background: yellow;
72
+
73
+ backdrop-filter: var(--liquid-glass-backdrop-filter);
74
+
75
+ box-shadow: var(--liquid-glass-box-shadow);
76
+ }
77
+ }
78
+
79
+ form & {
80
+ :where(&)::part(toggle-label-stack) {
81
+ color: var(--secondary);
82
+ }
83
+ }
84
+
85
+ &[aria-checked='true'] {
86
+ :where(&) {
87
+ --toggle--trigger-bg: green;
88
+ }
89
+ }
90
+
91
+ > :nth-child(n + 2 of [slot='label']) {
92
+ :where(&) {
93
+ --label-font: callout;
94
+
95
+ @supports not (x: #{string.unquote('if(else:red)')}) {
96
+ @include mixins.set-label-font(callout);
97
+ }
98
+
99
+ // toggle-view:not(form toggle-view) & {
100
+ // color: var(--secondary);
101
+ // }
102
+ }
103
+ }
104
+ &:not(form &) {
105
+ > :nth-child(n + 2 of [slot='label']) {
106
+ :where(&) {
107
+ color: var(--secondary);
108
+ }
109
+ }
110
+ }
111
+ }
112
+ }
@@ -29,15 +29,20 @@
29
29
  --toolbaritemradiusbl: var(--toolbar-cell-border-radius);
30
30
  --toolbaritemradiusbr: var(--toolbar-cell-border-radius);
31
31
  --toolbaritemborder: 0;
32
+
33
+ --menusummaryradiustl: var(--toolbar-cell-border-radius);
34
+ --menusummaryradiustr: var(--toolbar-cell-border-radius);
35
+ --menusummaryradiusbl: var(--toolbar-cell-border-radius);
36
+ --menusummaryradiusbr: var(--toolbar-cell-border-radius);
37
+ --menusummaryborder: 0;
32
38
  }
33
39
 
34
40
  :where(&:has([disabled])) {
35
41
  pointer-events: none;
36
42
  }
37
- }
38
43
 
39
- // NOTE: MUST be right-after the above `all: unset` in this SAME page!
40
- tool-bar-item {
44
+ // NOTE: MUST be right-after the above `all: unset` in this SAME page!
45
+
41
46
  :where(& > button),
42
47
  :where(& > picker-view > menu-view)::part(menu-summary),
43
48
  :where(& > menu-view)::part(menu-summary) {
@@ -45,98 +50,45 @@
45
50
 
46
51
  place-content: center;
47
52
  }
48
- }
49
53
 
50
- // tool-bar-item[slot],
51
- // tool-bar-item-group {
52
- // @media (prefers-reduced-motion: no-preference) {
53
- // transition:
54
- // display var(--menu-animation-duration) allow-discrete ease-out,
55
- // overlay var(--menu-animation-duration) allow-discrete ease-out,
56
- // transform var(--menu-animation-duration) allow-discrete ease-out;
57
- // will-change: transform, overlay, display;
58
- // }
59
- // }
60
-
61
- // tool-bar-item {
62
- // min-height: var(--toolbar-cell-min-size);
63
- // min-width: var(--toolbar-cell-min-size);
64
- // }
65
- }
54
+ > button {
55
+ @include mixins.takeover-button-slots;
66
56
 
67
- @layer #{vars.$colors-layer} {
68
- // sidebar-toggle > button,
69
- // tool-bar-item > button,
70
- // tool-bar-item > input,
71
- // [is='tab-item'],
72
- // // list-view > button,
73
- // menu-view > button,
74
- // [is='disclosure-group'] > button,
75
- // [is='disclosure-group'] > summary {
76
- // &:not(:disabled):not([readonly]) {
77
- // :where(&) {
78
- // @include mixins.add-focus-visible-state {
79
- // --toolbaritemface: light-dark(var(--toolbar-cell-focus-bg), var(--toolbar-cell-focus-bg-dark));
80
- // }
81
- // }
82
- // }
83
- // }
84
-
85
- menu-view {
86
- @include mixins.add-focus-visible-state('::part(menu-summary)') {
87
- --toolbaritemface: var(--toolbaritemhighlightface,); //light-dark(var(--toolbar-cell-focus-bg), var(--toolbar-cell-focus-bg-dark));
57
+ // [tint] &,
58
+ // &[tint] {
59
+ // :where(&) {
60
+ // // NOTE: Make everything inside prominent buttons white
61
+ // --secondary: var(--btntext);
62
+ // --blue: var(--btntext);
63
+
64
+ // --accentColorEffective: var(--btntext);
65
+ // --accentColor: var(--btntext);
66
+ // }
67
+ // }
88
68
  }
89
- @include mixins.add-hover-state('::part(menu-summary)') {
90
- --toolbaritemface: var(--toolbaritemhighlightface,); //light-dark(var(--toolbar-cell-focus-bg), var(--toolbar-cell-focus-bg-dark));
69
+
70
+ // NOTE: add paddings to labels w/ text in toolbar items
71
+ > button:has(> label-view > :not([slot])),
72
+ > picker-view > menu-view:has(> label-view > :not([slot])),
73
+ > menu-view:has(> label-view > :not([slot])) {
74
+ :where(& > label-view) {
75
+ --label-padding-inline: 0.5rem;
76
+ }
91
77
  }
92
78
 
93
- // &:not(:disabled):not([readonly]) {
94
- // > button {
79
+ // NOTE: on fine screens, toolbar icons are a little smaller
80
+ // @media (pointer: fine) {
81
+ // > button > label-view,
82
+ // > menu-view > label-view {
95
83
  // :where(&) {
96
- // --toolbaritempadistart: 0.3rem;
97
- // --toolbaritempadiend: 0.3rem;
98
- // --toolbaritempadbstart: 0.3rem;
99
- // --toolbaritempadbend: 0.3rem;
84
+ // --label-image-size: 1.8;
100
85
  // }
101
86
  // }
102
87
  // }
103
88
  }
104
-
105
- // list-view > button,
106
- // [is='form-view'] > button {
107
- // &:not(:disabled):not([readonly]) {
108
- // :where(&) {
109
- // --toolbaritempadistart: 0.3rem;
110
- // --toolbaritempadbstart: 0.3rem;
111
- // }
112
- // }
113
- // }
114
89
  }
115
90
 
116
91
  @layer #{vars.$ui-layer} {
117
- // sidebar-toggle > button,
118
- // tool-bar-item > button,
119
- // tool-bar-item > input,
120
- // [is='tab-item'],
121
- // // list-view > button,
122
- // menu-view > button,
123
- // [is='disclosure-group'] > summary,
124
- // [is='disclosure-group'] > button {
125
- // // &:not(:disabled):not([readonly]) {
126
- // // :where(&) {
127
- // @include mixins.add-active-state {
128
- // --toolbaritemface: light-dark(var(--toolbar-cell-active-bg), var(--toolbar-cell-active-bg-dark));
129
- // }
130
- // // }
131
- // // }
132
- // }
133
-
134
- menu-view {
135
- @include mixins.add-active-state('::part(menu-summary)') {
136
- --toolbaritemface: var(--toolbaritemactiveface,); //light-dark(var(--toolbar-cell-active-bg), var(--toolbar-cell-active-bg-dark));
137
- }
138
- }
139
-
140
92
  :where(tool-bar-item[slot]:has(menu-view[open])),
141
93
  :where(tool-bar-item-group:has(> tool-bar-item menu-view[open])) {
142
94
  --toolbar-cell-scale: var(--menu-host-offscreen-transform);