@swiftwc/ui 0.0.0-dev.6 → 0.0.0-dev.61

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 (332) hide show
  1. package/README.md +15 -0
  2. package/generated/buses/alert-dialog.d.ts +2 -0
  3. package/generated/buses/alert-dialog.js +1 -0
  4. package/generated/buses/confirmation-dialog.d.ts +2 -0
  5. package/generated/buses/confirmation-dialog.js +1 -0
  6. package/generated/buses/index.d.ts +6 -0
  7. package/generated/buses/index.js +6 -0
  8. package/generated/buses/lifecycle-observer.d.ts +2 -0
  9. package/generated/buses/lifecycle-observer.js +1 -0
  10. package/generated/client/index.d.ts +22 -4
  11. package/generated/client/index.js +219 -181
  12. package/generated/components/alert-dialog.d.ts +8 -0
  13. package/generated/components/alert-dialog.js +99 -0
  14. package/generated/components/body-view.js +5 -2
  15. package/generated/components/bordered-button.d.ts +17 -0
  16. package/generated/components/bordered-button.js +56 -0
  17. package/generated/components/bordered-prominent-button.d.ts +17 -0
  18. package/generated/components/bordered-prominent-button.js +56 -0
  19. package/generated/components/borderless-button.d.ts +12 -4
  20. package/generated/components/borderless-button.js +47 -16
  21. package/generated/components/color-scheme.d.ts +7 -0
  22. package/generated/components/color-scheme.js +54 -0
  23. package/generated/components/confirmation-dialog.d.ts +9 -0
  24. package/generated/components/confirmation-dialog.js +113 -0
  25. package/generated/components/content-unavailable-view.d.ts +24 -0
  26. package/generated/components/content-unavailable-view.js +81 -0
  27. package/generated/components/date-picker.d.ts +36 -0
  28. package/generated/components/date-picker.js +461 -0
  29. package/generated/components/disclosure-group.d.ts +9 -7
  30. package/generated/components/disclosure-group.js +51 -65
  31. package/generated/components/fine-tooltip.d.ts +7 -0
  32. package/generated/components/fine-tooltip.js +107 -0
  33. package/generated/components/form-view.d.ts +9 -0
  34. package/generated/components/form-view.js +63 -0
  35. package/generated/components/glass-button.d.ts +16 -0
  36. package/generated/components/glass-button.js +53 -0
  37. package/generated/components/glass-prominent-button.d.ts +16 -0
  38. package/generated/components/glass-prominent-button.js +53 -0
  39. package/generated/components/h-stack.d.ts +10 -0
  40. package/generated/components/h-stack.js +19 -0
  41. package/generated/components/image-view.d.ts +9 -0
  42. package/generated/components/image-view.js +46 -0
  43. package/generated/components/index.d.ts +41 -10
  44. package/generated/components/index.js +41 -15
  45. package/generated/components/label-view.d.ts +9 -0
  46. package/generated/components/label-view.js +51 -0
  47. package/generated/components/labeled-content.d.ts +9 -0
  48. package/generated/components/labeled-content.js +115 -0
  49. package/generated/components/list-view.d.ts +8 -0
  50. package/generated/components/list-view.js +32 -0
  51. package/generated/components/menu-view.d.ts +12 -0
  52. package/generated/components/menu-view.js +142 -0
  53. package/generated/components/navigation-large-title.d.ts +6 -0
  54. package/generated/components/navigation-large-title.js +181 -0
  55. package/generated/components/navigation-split-view.d.ts +7 -2
  56. package/generated/components/navigation-split-view.js +19 -3
  57. package/generated/components/navigation-stack.d.ts +6 -2
  58. package/generated/components/navigation-stack.js +23 -59
  59. package/generated/components/navigation-title.d.ts +8 -0
  60. package/generated/components/navigation-title.js +50 -0
  61. package/generated/components/picker-view.d.ts +44 -0
  62. package/generated/components/picker-view.js +1009 -0
  63. package/generated/components/plain-button.d.ts +7 -0
  64. package/generated/components/plain-button.js +22 -0
  65. package/generated/components/progress-view.d.ts +13 -0
  66. package/generated/components/progress-view.js +120 -0
  67. package/generated/components/screen-view.d.ts +1 -1
  68. package/generated/components/screen-view.js +4 -2
  69. package/generated/components/scroll-view-proxy.d.ts +8 -0
  70. package/generated/components/scroll-view-proxy.js +17 -0
  71. package/generated/components/scroll-view.d.ts +4 -2
  72. package/generated/components/scroll-view.js +179 -64
  73. package/generated/components/search-view.d.ts +7 -0
  74. package/generated/components/search-view.js +30 -0
  75. package/generated/components/section-view.d.ts +9 -0
  76. package/generated/components/section-view.js +85 -0
  77. package/generated/components/sheet-view.d.ts +3 -4
  78. package/generated/components/sheet-view.js +53 -17
  79. package/generated/components/sidebar-toggle.d.ts +1 -1
  80. package/generated/components/sidebar-toggle.js +76 -72
  81. package/generated/components/sidebar-view.d.ts +2 -4
  82. package/generated/components/sidebar-view.js +25 -17
  83. package/generated/components/sticky-container.d.ts +6 -0
  84. package/generated/components/sticky-container.js +26 -0
  85. package/generated/components/tab-bar.d.ts +5 -4
  86. package/generated/components/tab-bar.js +34 -17
  87. package/generated/components/tab-item.d.ts +4 -3
  88. package/generated/components/tab-item.js +125 -29
  89. package/generated/components/tab-view.d.ts +17 -2
  90. package/generated/components/tab-view.js +252 -17
  91. package/generated/components/table-view.d.ts +12 -0
  92. package/generated/components/table-view.js +153 -0
  93. package/generated/components/text-field.d.ts +29 -0
  94. package/generated/components/text-field.js +496 -0
  95. package/generated/components/tool-bar-item-group.d.ts +5 -0
  96. package/generated/components/tool-bar-item-group.js +28 -0
  97. package/generated/components/tool-bar-item.d.ts +8 -0
  98. package/generated/components/tool-bar-item.js +66 -0
  99. package/generated/components/tool-bar.d.ts +19 -0
  100. package/generated/components/tool-bar.js +93 -0
  101. package/generated/components/v-keyboard.d.ts +4 -0
  102. package/generated/components/v-keyboard.js +72 -70
  103. package/generated/components/v-stack.d.ts +13 -0
  104. package/generated/components/v-stack.js +22 -0
  105. package/generated/css/index.css +8847 -0
  106. package/generated/events/alert-dialog.d.ts +8 -0
  107. package/generated/events/confirmation-dialog.d.ts +9 -0
  108. package/generated/events/confirmation-dialog.js +1 -0
  109. package/generated/events/date-picker.d.ts +8 -0
  110. package/generated/events/date-picker.js +1 -0
  111. package/generated/events/index.d.ts +8 -0
  112. package/generated/events/index.js +8 -0
  113. package/generated/events/lifecycle-observer.d.ts +10 -0
  114. package/generated/events/lifecycle-observer.js +1 -0
  115. package/generated/events/picker-view.d.ts +15 -0
  116. package/generated/events/picker-view.js +1 -0
  117. package/generated/events/scroll-view.d.ts +10 -0
  118. package/generated/events/scroll-view.js +1 -0
  119. package/generated/events/tab-view.d.ts +28 -0
  120. package/generated/events/tab-view.js +1 -0
  121. package/generated/events/text-field.d.ts +8 -0
  122. package/generated/events/text-field.js +1 -0
  123. package/generated/i18n/index.d.ts +34 -0
  124. package/generated/i18n/index.js +167 -0
  125. package/generated/i18n/locales/el.d.ts +16 -0
  126. package/generated/i18n/locales/el.js +16 -0
  127. package/generated/i18n/locales/en.d.ts +16 -0
  128. package/generated/i18n/locales/en.js +16 -0
  129. package/generated/i18n/locales/index.d.ts +4 -0
  130. package/generated/i18n/locales/index.js +4 -0
  131. package/generated/internal/class/cleanup-registry.d.ts +5 -0
  132. package/generated/internal/class/cleanup-registry.js +38 -0
  133. package/generated/internal/class/css-style-observer.d.ts +8 -0
  134. package/generated/internal/class/css-style-observer.js +26 -0
  135. package/generated/internal/class/form-associated-base.d.ts +16 -0
  136. package/generated/internal/class/form-associated-base.js +78 -0
  137. package/generated/internal/class/mutation-observer-set.d.ts +9 -0
  138. package/generated/internal/class/mutation-observer-set.js +42 -0
  139. package/generated/internal/class/mutation-observer-singleton.d.ts +10 -0
  140. package/generated/internal/class/mutation-observer-singleton.js +64 -0
  141. package/generated/internal/class/navigation-path.d.ts +15 -0
  142. package/generated/internal/class/navigation-path.js +84 -0
  143. package/generated/internal/class/navigation-view.d.ts +8 -0
  144. package/generated/internal/class/navigation-view.js +72 -0
  145. package/generated/internal/class/resize-observer-singleton.d.ts +7 -0
  146. package/generated/internal/class/resize-observer-singleton.js +22 -0
  147. package/generated/internal/decorators/adaptive-slot.d.ts +1 -0
  148. package/generated/internal/decorators/adaptive-slot.js +50 -0
  149. package/generated/internal/decorators/custom-element.d.ts +5 -0
  150. package/generated/internal/decorators/custom-element.js +5 -0
  151. package/generated/internal/decorators/index.d.ts +6 -0
  152. package/generated/internal/decorators/index.js +6 -0
  153. package/generated/internal/decorators/microtask-on-connected.d.ts +39 -0
  154. package/generated/internal/decorators/microtask-on-connected.js +67 -0
  155. package/generated/internal/privateNamespace.d.ts +14 -0
  156. package/generated/internal/privateNamespace.js +168 -0
  157. package/generated/internal/utils/add.d.ts +1 -0
  158. package/generated/internal/utils/add.js +7 -0
  159. package/generated/internal/utils/cash/ancestors.d.ts +1 -0
  160. package/generated/internal/utils/cash/ancestors.js +27 -0
  161. package/generated/internal/utils/cash/index.d.ts +23 -0
  162. package/generated/internal/utils/cash/index.js +25 -0
  163. package/generated/internal/utils/cash/next-all.d.ts +1 -0
  164. package/generated/internal/utils/cash/next-all.js +10 -0
  165. package/generated/internal/utils/cash/next.d.ts +1 -0
  166. package/generated/internal/utils/cash/next.js +9 -0
  167. package/generated/internal/utils/cash/prev-all.d.ts +1 -0
  168. package/generated/internal/utils/cash/prev-all.js +10 -0
  169. package/generated/internal/utils/cash/prev.d.ts +1 -0
  170. package/generated/internal/utils/cash/prev.js +9 -0
  171. package/generated/internal/utils/cash/prop.d.ts +18 -0
  172. package/generated/internal/utils/cash/prop.js +30 -0
  173. package/generated/internal/utils/cash/siblings.d.ts +1 -0
  174. package/generated/internal/utils/cash/siblings.js +10 -0
  175. package/generated/internal/utils/clamp.d.ts +1 -0
  176. package/generated/internal/utils/clamp.js +4 -0
  177. package/generated/internal/utils/compare-big-decimals.d.ts +1 -0
  178. package/generated/internal/utils/compare-big-decimals.js +90 -0
  179. package/generated/internal/utils/debounce.d.ts +1 -0
  180. package/generated/internal/utils/debounce.js +13 -0
  181. package/generated/internal/utils/dev-flags.d.ts +3 -0
  182. package/generated/internal/utils/dev-flags.js +5 -0
  183. package/generated/internal/utils/ensure-placeholder.d.ts +1 -0
  184. package/generated/internal/utils/ensure-placeholder.js +55 -0
  185. package/generated/internal/utils/frame.d.ts +1 -0
  186. package/generated/internal/utils/frame.js +6 -0
  187. package/generated/internal/utils/index.d.ts +21 -1
  188. package/generated/internal/utils/index.js +24 -1
  189. package/generated/internal/utils/is-inside.d.ts +1 -0
  190. package/generated/internal/utils/is-inside.js +4 -0
  191. package/generated/internal/utils/kebab-case.d.ts +1 -1
  192. package/generated/internal/utils/list-active.d.ts +7 -0
  193. package/generated/internal/utils/list-active.js +83 -0
  194. package/generated/internal/utils/microtask.d.ts +1 -0
  195. package/generated/internal/utils/microtask.js +3 -0
  196. package/generated/internal/utils/onoff.d.ts +45 -0
  197. package/generated/internal/utils/onoff.js +31 -0
  198. package/generated/internal/utils/render-label-icon.d.ts +2 -0
  199. package/generated/internal/utils/render-label-icon.js +19 -0
  200. package/generated/internal/utils/render-label-title.d.ts +2 -0
  201. package/generated/internal/utils/render-label-title.js +16 -0
  202. package/generated/internal/utils/render-label.d.ts +1 -0
  203. package/generated/internal/utils/render-label.js +19 -0
  204. package/generated/internal/utils/set.d.ts +1 -0
  205. package/generated/internal/utils/set.js +7 -0
  206. package/generated/internal/utils/sleep.d.ts +1 -0
  207. package/generated/internal/utils/sleep.js +3 -0
  208. package/generated/internal/utils/slow-hide-show.d.ts +1 -0
  209. package/generated/internal/utils/slow-hide-show.js +16 -0
  210. package/generated/internal/utils/timeout.d.ts +5 -0
  211. package/generated/internal/utils/timeout.js +16 -0
  212. package/generated/internal/utils/touch-glass.d.ts +7 -0
  213. package/generated/internal/utils/touch-glass.js +19 -0
  214. package/generated/namespace-browser/base.d.ts +45 -0
  215. package/generated/namespace-browser/base.js +115 -0
  216. package/generated/namespace-browser/index.d.ts +7 -0
  217. package/generated/namespace-browser/index.js +1 -0
  218. package/generated/snapshot/index.d.ts +4 -11
  219. package/generated/snapshot/index.js +55 -145
  220. package/package.json +33 -9
  221. package/scss/_components.scss +60 -13
  222. package/scss/_final.scss +1 -0
  223. package/scss/_functions.scss +10 -0
  224. package/scss/_mixins.scss +4 -169
  225. package/scss/_placeholders.scss +3 -0
  226. package/scss/_transitions.scss +22 -1
  227. package/scss/_utils.scss +9 -0
  228. package/scss/_vars.scss +144 -23
  229. package/scss/base/_layout.scss +40 -16
  230. package/scss/base/_reboot.scss +151 -15
  231. package/scss/base/_root.scss +358 -25
  232. package/scss/colors/_index.scss +788 -70
  233. package/scss/components/_alert-dialog.scss +111 -0
  234. package/scss/components/_body-view.scss +12 -3
  235. package/scss/components/_bordered-button.scss +57 -0
  236. package/scss/components/_bordered-prominent-button.scss +64 -0
  237. package/scss/components/_borderless-button.scss +36 -6
  238. package/scss/components/_confirmation-dialog.scss +102 -0
  239. package/scss/components/_content-unavailable-view.scss +54 -0
  240. package/scss/components/_date-picker.scss +30 -0
  241. package/scss/components/_detail-placeholder.scss +153 -0
  242. package/scss/components/_disclosure-group.scss +147 -48
  243. package/scss/components/_fine-tooltip.scss +84 -0
  244. package/scss/components/_form-view.scss +233 -0
  245. package/scss/components/_full-screen.scss +7 -5
  246. package/scss/components/_glass-button.scss +59 -0
  247. package/scss/components/_glass-prominent-button.scss +70 -0
  248. package/scss/components/_h-divider.scss +13 -0
  249. package/scss/components/_h-flex-stack.scss +23 -0
  250. package/scss/components/_h-stack.scss +29 -0
  251. package/scss/components/_image-view.scss +9 -0
  252. package/scss/components/_index.scss +239 -7
  253. package/scss/components/_label-view copy.scss.txt +420 -0
  254. package/scss/components/_label-view.scss +372 -0
  255. package/scss/components/_label-view.scss.txt +536 -0
  256. package/scss/components/_labeled-content.scss +67 -0
  257. package/scss/components/_list-view.scss +269 -0
  258. package/scss/components/_menu-view.scss +219 -0
  259. package/scss/components/_navigation-large-title.scss +27 -0
  260. package/scss/components/_navigation-split-view.scss +329 -269
  261. package/scss/components/_navigation-stack.scss +6 -6
  262. package/scss/components/_navigation-title.scss +10 -0
  263. package/scss/components/_picker-view.scss +307 -0
  264. package/scss/components/_plain-button.scss +18 -0
  265. package/scss/components/_progress-view.scss +98 -0
  266. package/scss/components/_scroll-view-proxy.scss +79 -0
  267. package/scss/components/_scroll-view-toolbars.scss +126 -0
  268. package/scss/components/_scroll-view.scss +114 -66
  269. package/scss/components/_search-view.scss +22 -0
  270. package/scss/components/_section-view.scss +119 -0
  271. package/scss/components/_sheet-view.scss +78 -35
  272. package/scss/components/_sidebar-toggle.scss +87 -27
  273. package/scss/components/_sidebar-view.scss +30 -40
  274. package/scss/components/_sticky-container.scss +42 -0
  275. package/scss/components/_tab-bar.scss +211 -84
  276. package/scss/components/_tab-item.scss +25 -0
  277. package/scss/components/_tab-view.scss +270 -126
  278. package/scss/components/_table-column.scss +54 -0
  279. package/scss/components/_table-row.scss +240 -0
  280. package/scss/components/_table-view.scss +231 -0
  281. package/scss/components/_text-field.scss +53 -0
  282. package/scss/components/_tool-bar-item-group.scss +30 -19
  283. package/scss/components/_tool-bar-item.scss +81 -71
  284. package/scss/components/_tool-bar.scss +126 -63
  285. package/scss/components/_v-divider.scss +13 -0
  286. package/scss/components/_v-flex-stack.scss +29 -0
  287. package/scss/components/_v-keyboard.scss +6 -4
  288. package/scss/components/_v-stack.scss +15 -9
  289. package/scss/final/_touch-glass.scss +91 -0
  290. package/scss/index.scss +6 -2
  291. package/scss/mixins/_button.scss +44 -0
  292. package/scss/mixins/_color.scss +16 -0
  293. package/scss/mixins/_dialog.scss +89 -0
  294. package/scss/mixins/_index.scss +453 -0
  295. package/scss/placeholders/_buttons.scss +117 -0
  296. package/scss/placeholders/_lists.scss +594 -0
  297. package/scss/transitions/_alert-dialog.scss +18 -0
  298. package/scss/transitions/_bwd.navbar.scss +3 -13
  299. package/scss/transitions/_bwd.scss +4 -20
  300. package/scss/transitions/_confirmation-dialog.scss +27 -0
  301. package/scss/transitions/_disclosure-group.scss +35 -0
  302. package/scss/transitions/_fine-tooltip.scss +21 -0
  303. package/scss/transitions/_fwd.navbar.scss +4 -9
  304. package/scss/transitions/_fwd.scss +4 -34
  305. package/scss/transitions/_glass-button.scss +12 -0
  306. package/scss/transitions/_glass-prominent-button.scss +12 -0
  307. package/scss/transitions/_index.scss +35 -143
  308. package/scss/transitions/_menu-view.scss +26 -0
  309. package/scss/transitions/_navigation-split-view.scss +23 -0
  310. package/scss/transitions/_progress-view.scss +23 -0
  311. package/scss/transitions/_sheet-view.scss +30 -0
  312. package/scss/transitions/_sidebar-view.scss +36 -0
  313. package/scss/transitions/_tab-bar.scss +20 -0
  314. package/scss/utils/_frame.scss +91 -0
  315. package/scss/utils/_index.scss +78 -0
  316. package/scss/utils/_scroll-view.scss +14 -0
  317. package/scss/utils/_spacing.scss +25 -0
  318. package/scss/utils/_stacks.scss +222 -0
  319. package/web-components.html-data/en.json +721 -0
  320. package/generated/components/bottom-bar.d.ts +0 -10
  321. package/generated/components/bottom-bar.js +0 -73
  322. package/generated/components/navigation-bar.d.ts +0 -10
  323. package/generated/components/navigation-bar.js +0 -80
  324. package/generated/internal/class.d.ts +0 -18
  325. package/generated/internal/class.js +0 -18
  326. package/generated/namespace/index.d.ts +0 -6
  327. package/generated/styles.css +0 -1305
  328. package/scss/_dev.scss +0 -68
  329. package/scss/components/_tab-bar-stack.scss +0 -101
  330. package/scss/components/_toolbars.scss +0 -100
  331. package/scss/transitions/_dialog.scss +0 -32
  332. /package/generated/{namespace/index.js → events/alert-dialog.js} +0 -0
@@ -1,218 +1,359 @@
1
1
  @use '../vars';
2
2
  @use '../mixins';
3
3
 
4
- @layer #{vars.$components-layer} {
4
+ @mixin force-disable-col-view-transitions {
5
+ > scroll-view:not(dialog scroll-view):not(scroll-view scroll-view) {
6
+ &.bwd,
7
+ &.fwdd,
8
+ & ~ tool-bar .bwn,
9
+ & ~ tool-bar .fwnn {
10
+ transition-duration: 0ms; // !important;
11
+ }
12
+ }
13
+ }
14
+
15
+ @layer #{vars.$nav-components-layer} {
5
16
  navigation-split-view {
6
- touch-action: none;
17
+ :where(&) {
18
+ touch-action: none;
19
+
20
+ block-size: var(--100lvh, 100lvh);
21
+
22
+ --nav-split-view--content-inline-size: var(--nav-split-view-content-inline-size,);
23
+
24
+ --nav-split-view--detail-placeholder-inset: 0 0 0 var(--nav-split-view--content-inline-size);
25
+ --nav-split-view--detail-placeholder-inline-size: calc(100lvw - var(--nav-split-view--content-inline-size));
26
+ --nav-split-view--detail-placeholder-visibility: visible;
27
+ }
28
+
29
+ // ANCHOR Z_INDEX STYLES
30
+ // Use ifnot to apply negative z-indexes to old views
31
+ // z-index rules get discarded in larger viewports
7
32
 
8
- height: var(--100lvh, 100lvh);
33
+ @include mixins.if-2col-split-view-fits {
34
+ // special case for sv inside a tabview>more
35
+ scroll-view:has(~ &:not([hidden])) {
36
+ &,
37
+ & ~ tool-bar {
38
+ :where(&) {
39
+ opacity: 0;
40
+ pointer-events: none;
41
+ }
42
+ }
43
+ }
44
+ }
9
45
 
10
- // use ifnot so that z-index rules get discarded in larger viewports
11
46
  @include mixins.ifnot-2col-split-view-fits {
12
- > body-view ~ scroll-view,
13
- > body-view ~ [is='sidebar-view'] {
47
+ // special case for sv inside a tabview>more
48
+ :where(scroll-view:has(~ &:not([hidden]))) {
49
+ z-index: -1;
50
+ }
51
+
52
+ :where(& > body-view ~ scroll-view, & > body-view ~ [is='sidebar-view']) {
14
53
  z-index: -1;
15
54
  }
16
55
 
17
56
  &:has(> [is='sidebar-view']) {
18
- > body-view ~ [is='sidebar-view'] {
57
+ :where(& > body-view ~ [is='sidebar-view']) {
19
58
  z-index: -2;
20
59
  }
21
60
 
22
- > body-view > body-view ~ scroll-view {
61
+ :where(& > body-view > body-view ~ scroll-view) {
23
62
  z-index: -1;
24
63
  }
25
64
  }
26
65
  }
27
66
 
28
- @include mixins.ifnot-3col-split-view-fits {
29
- &:has(> dialog[is='sidebar-view']) {
30
- > body-view > body-view ~ scroll-view {
31
- z-index: -1;
32
- }
33
-
34
- &[preferred-compact-column='content'] {
35
- body-view:has(> body-view) > scroll-view:not(dialog scroll-view) {
67
+ &:has(> [is='sidebar-view']) {
68
+ @include mixins.ifnot-3col-split-view-fits {
69
+ &:not([preferred-compact-column='content']) {
70
+ :where(& > body-view > body-view ~ scroll-view) {
36
71
  z-index: -1;
37
72
  }
38
-
39
- // body-view > body-view {
40
- // clip-path: inset(
41
- // 0 0 0 var(--nav-split-view-content-width)
42
- // ); // force clipping because it is now a floating element unable to hide bg = overflow: clip;
43
- // }
44
73
  }
74
+
75
+ // body-view > body-view {
76
+ // clip-path: inset(
77
+ // 0 0 0 var(--nav-split-view-content-inline-size)
78
+ // ); // force clipping because it is now a floating element unable to hide bg = overflow: clip;
79
+ // }
80
+ // }
45
81
  }
46
- }
47
82
 
48
- @include mixins.if-3col-split-view-fits {
49
- &:has(> dialog[is='sidebar-view']) {
83
+ @include mixins.if-2col-split-view-fits {
50
84
  &[column-visibility='double-column'] {
51
- > body-view > body-view ~ scroll-view {
85
+ :where(& > body-view > body-view ~ scroll-view) {
52
86
  z-index: -1;
53
87
  }
54
88
  }
55
89
  }
56
90
  }
57
91
 
58
- // COMPACT | EXPANDED
59
- // | | <-> |
92
+ // @include mixins.ifnot-2col-split-view-fits {
93
+ // &:has(> [is='sidebar-view']) {
94
+ // :where(& > [is='sidebar-view']) {
95
+ // --list-style: unset;
96
+ // --form-style: unset;
97
+ // }
98
+ // // :where(& > [is='sidebar-view'] > scroll-view) {
99
+ // // --scroll-view-box-shadow: none;
100
+ // // }
101
+ // }
102
+ // }
103
+
104
+ // ANCHOR 2_COL COMPACT-DEFAULTS
105
+
60
106
  @include mixins.if-2col-split-view-fits {
61
- // compact col
107
+ // content col appears (either 1st-child or 2nd child in case of collapsed sidebar)
62
108
  > scroll-view,
63
- > [is='sidebar-view'],
64
- > navigation-bar,
65
- > bottom-bar {
66
- width: var(--nav-split-view-content-width);
109
+ > tool-bar,
110
+ > [is='sidebar-view'] {
111
+ :where(&) {
112
+ --safe-area-inset-right: 0px; // reset end padding
113
+ }
114
+ }
115
+
116
+ // Fix 1stChildElement as a content view
117
+ > scroll-view {
118
+ &,
119
+ & ~ tool-bar {
120
+ :where(&) {
121
+ inline-size: var(--nav-split-view--content-inline-size);
122
+ }
123
+ }
124
+ }
67
125
 
68
- --safe-area-inset-right: 0px; // Reset right paddings of compact col
126
+ // Cancel animations
127
+ > scroll-view,
128
+ > [is='sidebar-view'] > scroll-view {
129
+ ~ tool-bar {
130
+ > tool-bar-item,
131
+ > tool-bar-item-group {
132
+ :where(&) {
133
+ @include mixins.vt-toolbar-cell-onscreen-keyframe;
134
+ }
135
+ }
136
+ }
137
+ }
138
+
139
+ > scroll-view {
140
+ :where(&) {
141
+ border-right: solid 1px var(--separator);
142
+ // --scroll-view-box-shadow: none;
143
+ }
69
144
  }
70
145
 
71
- // container of details col
72
146
  > body-view {
73
- // details col (content|details)
74
- scroll-view:not(dialog scroll-view),
75
- navigation-bar:not(dialog navigation-bar),
76
- bottom-bar:not(dialog bottom-bar) {
77
- margin-inline-start: var(
78
- --nav-split-view-content-width
79
- ); // beautiful vts
80
-
81
- // Reset left paddings of expanded col
82
- --safe-area-inset-left: 0px;
147
+ scroll-view:not(dialog scroll-view):not(scroll-view scroll-view) {
148
+ &,
149
+ & ~ tool-bar {
150
+ :where(&) {
151
+ // add margin to make vts precise
152
+ margin-inline-start: var(--nav-split-view--content-inline-size);
153
+ }
154
+ }
83
155
  }
84
156
  }
85
- }
86
157
 
87
- // SIDEBAR | EXPANDED
88
- @include mixins.if-2col-split-view-fits {
89
- &:has(> dialog[is='sidebar-view']) {
90
- // sidebar col: turn into floating sidebar
91
- > [is='sidebar-view'] > scroll-view {
92
- --canvas-bg: #ffffff9e;
158
+ // ANCHOR 3_COL COMPACT-DEFAULTS
93
159
 
94
- --safe-area-inset-top: 0px;
95
- --safe-area-inset-bottom: 0px;
160
+ // SIDEBAR | EXPANDED
161
+ &:has(> [is='sidebar-view']) {
162
+ > [is='sidebar-view'] {
163
+ // :where(&) {
164
+ @include mixins.make-floating-sidebar;
165
+ // turn 1stChildElement into floating sidebar
166
+ // inline-size: var(--nav-split-view-sidebar-inline-size); // override
96
167
 
97
- border-radius: var(--tab-bar-sidebar-border-radius);
168
+ // margin-inline-start: max(env(safe-area-inset-left), var(--sidebar-spacing)); // float
98
169
 
99
- margin-block: max(
100
- var(--safe-area-inset-top),
101
- var(--tab-bar-sidebar-spacing)
102
- )
103
- max(var(--safe-area-inset-bottom), var(--tab-bar-sidebar-spacing));
104
- }
170
+ // --safe-area-inset-left: 0px; // now a floating
105
171
 
106
- // sidebar col: re-size + turn into a floating sidebar
107
- > scroll-view,
108
- > [is='sidebar-view'],
109
- > navigation-bar,
110
- > bottom-bar {
111
- width: var(--nav-split-view-sidebar-width); // override
172
+ // overflow: visible;
112
173
 
113
- margin-inline-start: max(
114
- env(safe-area-inset-left),
115
- var(--tab-bar-sidebar-spacing)
116
- ); // float
174
+ // restyle scroll-view of floating sidebar
117
175
 
118
- --safe-area-inset-left: 0px; // now a floating
119
- }
176
+ //was padding-block
177
+ // padding-block: max(var(--safe-area-inset-top), var(--sidebar-spacing)) max(var(--safe-area-inset-bottom), var(--sidebar-spacing));
120
178
 
121
- // container of expanded col (trailing)
122
- > body-view {
123
- scroll-view:not(dialog scroll-view),
124
- navigation-bar:not(dialog navigation-bar),
125
- bottom-bar:not(dialog bottom-bar) {
126
- margin-inline-start: 0px; // override
127
-
128
- --safe-area-inset-left: calc(
129
- var(--nav-split-view-sidebar-width) +
130
- max(env(safe-area-inset-left), var(--tab-bar-sidebar-spacing))
131
- );
132
- }
133
- }
134
- }
135
- }
179
+ // overflow: clip;
136
180
 
137
- // SIDEBAR | EXPANDED
138
- @include mixins.if-2col-split-view-fits {
139
- &:has(> dialog[is='sidebar-view']) {
140
- // SIDEBAR | COMPACT | EXPANDED
141
- &[preferred-compact-column='content'] {
142
- > scroll-view,
143
- > [is='sidebar-view'],
144
- > navigation-bar,
145
- > bottom-bar {
146
- margin-inline-start: calc(var(--nav-split-view-sidebar-width) * -1);
147
- }
181
+ // height: calc(100% - max(var(--safe-area-inset-top), var(--sidebar-spacing)) - max(var(--safe-area-inset-bottom), var(--sidebar-spacing)));
148
182
 
149
- // move descendants to right
150
- > body-view {
151
- scroll-view:not(dialog scroll-view),
152
- navigation-bar:not(dialog navigation-bar),
153
- bottom-bar:not(dialog bottom-bar) {
154
- margin-inline-start: var(--nav-split-view-content-width);
183
+ // backdrop-filter: var(--liquid-glass-backdrop-filter);
184
+ // box-shadow: var(--liquid-glass-box-shadow);
155
185
 
156
- --safe-area-inset-left: 0px;
157
- }
186
+ // border-radius: var(--sidebar-border-radius);
187
+ // }
188
+
189
+ // > scroll-view {
190
+ // :where(&) {
191
+ // // --canvas: oklch(var(--sidebar-bg-lch) / var(--sidebar-bg-alpha));
158
192
 
159
- > scroll-view:not(dialog scroll-view),
160
- > navigation-bar:not(dialog navigation-bar),
161
- > bottom-bar:not(dialog bottom-bar) {
162
- margin-inline-start: 0px;
193
+ // // --safe-area-inset-top: 0px;
194
+ // // --safe-area-inset-bottom: 0px;
163
195
 
164
- --safe-area-inset-left: max(
165
- env(safe-area-inset-left),
166
- var(--tab-bar-sidebar-spacing)
167
- );
196
+ // // border-radius: var(--sidebar-border-radius);
197
+
198
+ // // backdrop-filter: var(--liquid-glass-backdrop-filter);
199
+
200
+ // // --scroll-view-box-shadow: var(--liquid-glass-box-shadow);
201
+ // }
202
+
203
+ // // :where(& ~ tool-bar) {
204
+ // // --safe-area-inset-top: 0px;
205
+ // // max(
206
+ // // env(safe-area-inset-top),
207
+ // // var(--sidebar-spacing)
208
+ // // );
209
+ // // --safe-area-inset-bottom: 0px;
210
+ // // max(
211
+ // // env(safe-area-inset-bottom),
212
+ // // var(--sidebar-spacing)
213
+ // // );
214
+ // // }
215
+ // }
216
+ }
217
+
218
+ > body-view {
219
+ scroll-view:not(dialog scroll-view):not(scroll-view scroll-view) {
220
+ &,
221
+ & ~ tool-bar {
222
+ :where(&) {
223
+ // override/reset added margin
224
+ margin-inline-start: 0px;
168
225
 
169
- width: var(--nav-split-view-content-width);
226
+ // add start padding instead
227
+ --safe-area-inset-left: calc(var(--nav-split-view-sidebar-inline-size) + max(env(safe-area-inset-left), var(--sidebar-inline-spacing)));
228
+
229
+ --safe-area-inset-top: max(env(safe-area-inset-top), var(--sidebar-block-spacing));
230
+
231
+ --safe-area-inset-bottom: max(env(safe-area-inset-bottom), var(--sidebar-block-spacing));
232
+ }
170
233
  }
171
234
  }
172
235
  }
173
- }
174
- }
175
236
 
176
- // SIDEBAR | COMPACT | EXPANDED
177
- @include mixins.if-3col-split-view-fits {
178
- &:has(> dialog[is='sidebar-view']) {
237
+ // ANCHOR 3_COL FOR COMPACT-DEFAULTS
238
+
179
239
  &:not([column-visibility='double-column']) {
180
- // container of content col (principal)
181
- > body-view {
182
- // clip-path: inset(
183
- // 0 0 0 var(--nav-split-view-sidebar-width)
184
- // ); // force clipping because it is now a floating element unable to hide bg = overflow: clip;
185
-
186
- // shrink 2nd-child
187
- > scroll-view,
188
- > navigation-bar,
189
- > bottom-bar {
190
- width: calc(
191
- var(--nav-split-view-content-width) +
192
- var(--nav-split-view-sidebar-width)
193
- ); // shrink to be now a col
194
-
195
- --safe-area-inset-right: 0px;
240
+ // compact-view-only: apply preferred-compact-column rule
241
+ @include mixins.ifnot-3col-split-view-fits {
242
+ // &:has(> dialog[is='sidebar-view']) {
243
+ &[preferred-compact-column='content'] {
244
+ > scroll-view,
245
+ > tool-bar,
246
+ > [is='sidebar-view'] {
247
+ :where(&) {
248
+ margin-inline-start: calc(var(--nav-split-view-sidebar-inline-size) * -1); // hide off screen
249
+ }
250
+ }
251
+
252
+ // move descendants to left edge of screen
253
+ > body-view {
254
+ scroll-view:not(dialog scroll-view):not(scroll-view scroll-view) {
255
+ &,
256
+ & ~ tool-bar {
257
+ :where(&) {
258
+ margin-inline-start: var(--nav-split-view--content-inline-size);
259
+
260
+ --safe-area-inset-left: 0px;
261
+ }
262
+ }
263
+ }
264
+
265
+ :where(& > scroll-view) {
266
+ border-right: solid 1px var(--separator);
267
+ // --scroll-view-box-shadow: none;
268
+ }
269
+
270
+ > scroll-view {
271
+ ~ tool-bar {
272
+ > tool-bar-item,
273
+ > tool-bar-item-group {
274
+ :where(&) {
275
+ @include mixins.vt-toolbar-cell-onscreen-keyframe; //(true);
276
+ }
277
+ }
278
+ }
279
+ }
280
+
281
+ > scroll-view:not(dialog scroll-view):not(scroll-view scroll-view) {
282
+ &,
283
+ & ~ tool-bar {
284
+ :where(&) {
285
+ inline-size: var(--nav-split-view--content-inline-size);
286
+
287
+ margin-inline-start: 0px;
288
+
289
+ --safe-area-inset-left: env(safe-area-inset-left);
290
+
291
+ --safe-area-inset-right: 0px;
292
+
293
+ // #{vars.$sidebar-toggle-padding-inline-start-css-prop}: inherit;
294
+ }
295
+ }
296
+
297
+ // move ONLY navbar to the side
298
+ @include mixins.create-sidebar-measure;
299
+ }
300
+ }
196
301
  }
302
+ }
197
303
 
198
- // container of details col (trailing)
304
+ // ANCHOR 3_COL DEFAULTS
305
+
306
+ // SIDEBAR | COMPACT | EXPANDED
307
+ @include mixins.if-3col-split-view-fits {
308
+ // container of compact col (middle)
309
+ // &:has(> dialog[is='sidebar-view']) {
310
+ // &:not([column-visibility='double-column']) {
311
+ // container of content col (principal)
199
312
  > body-view {
200
- scroll-view:not(dialog scroll-view),
201
- navigation-bar:not(dialog navigation-bar),
202
- bottom-bar:not(dialog bottom-bar) {
203
- // --safe-area-inset-left: calc(
204
- // var(--nav-split-view-sidebar-width) +
205
- // var(--nav-split-view-content-width) +
206
- // max(env(safe-area-inset-left), var(--tab-bar-sidebar-spacing))
207
- // ); // override
208
-
209
- // margin-inline-start: 0px;
210
- --safe-area-inset-left: 0px; // override
211
-
212
- margin-inline-start: calc(
213
- var(--nav-split-view-sidebar-width) +
214
- var(--nav-split-view-content-width)
215
- ); // override
313
+ // cancel animations
314
+ > scroll-view {
315
+ ~ tool-bar {
316
+ > tool-bar-item,
317
+ > tool-bar-item-group {
318
+ :where(&) {
319
+ @include mixins.vt-toolbar-cell-onscreen-keyframe; //(true);
320
+ }
321
+ }
322
+ }
323
+ }
324
+ // clip-path: inset(
325
+ // 0 0 0 var(--nav-split-view-sidebar-inline-size)
326
+ // ); // force clipping because it is now a floating element unable to hide bg = overflow: clip;
327
+
328
+ // shrink 2nd-child
329
+ > scroll-view {
330
+ &,
331
+ & ~ tool-bar {
332
+ :where(&) {
333
+ inline-size: calc(var(--nav-split-view--content-inline-size) + var(--nav-split-view-sidebar-inline-size)); // shrink to be now a col
334
+
335
+ --safe-area-inset-right: 0px;
336
+ }
337
+ }
338
+ }
339
+
340
+ :where(& > scroll-view) {
341
+ border-right: solid 1px var(--separator);
342
+ // --scroll-view-box-shadow: none;
343
+ }
344
+
345
+ // container of details col (trailing)
346
+ > body-view {
347
+ scroll-view:not(dialog scroll-view):not(scroll-view scroll-view) {
348
+ &,
349
+ & ~ tool-bar {
350
+ :where(&) {
351
+ --safe-area-inset-left: 0px; // override
352
+
353
+ margin-inline-start: calc(var(--nav-split-view-sidebar-inline-size) + var(--nav-split-view--content-inline-size)); // override
354
+ }
355
+ }
356
+ }
216
357
  }
217
358
  }
218
359
  }
@@ -224,136 +365,55 @@
224
365
 
225
366
  @layer #{vars.$final-layer} {
226
367
  navigation-split-view {
368
+ // ANCHOR transitions
369
+
370
+ // ANCHOR 2_COL COMPACT-DEFAULTS
371
+
227
372
  // COMPACT | EXPANDED
228
373
  @include mixins.if-2col-split-view-fits {
229
- // Cancel transitions as it is now a compact col
374
+ // Cancel transitions as it is now an inert col
230
375
  > scroll-view,
231
376
  > [is='sidebar-view'] > scroll-view {
232
- transform: translateX(0px) !important;
377
+ --scroll-view-translate: translateX(var(--view-transition-principal-x)); //!important
233
378
  }
234
379
 
235
380
  > body-view {
236
- > scroll-view:not(dialog scroll-view).bwd,
237
- > scroll-view:not(dialog scroll-view).fwdd,
238
- > navigation-bar:not(dialog navigation-bar) .bwn,
239
- > bottom-bar:not(dialog bottom-bar) .bwn,
240
- > navigation-bar:not(dialog navigation-bar) .fwnn,
241
- > bottom-bar:not(dialog bottom-bar) .fwnn {
242
- transition-duration: 0ms !important;
243
- }
381
+ @include force-disable-col-view-transitions;
244
382
  }
245
383
 
246
- // Cancel animations
247
- > navigation-bar,
248
- > bottom-bar {
249
- > tool-bar-item,
250
- > tool-bar-item-group {
251
- @include mixins.vt-toolbar-item-onscreen-keyframe(true);
252
- }
253
- }
254
- }
384
+ // ANCHOR 3_COL FOR COMPACT-DEFAULTS
255
385
 
256
- // SIDEBAR | EXPANDED
257
- @include mixins.if-2col-split-view-fits {
258
- &:has(> dialog[is='sidebar-view']) {
259
- &[preferred-compact-column='content'] {
260
- // move descendants to right
261
- > body-view {
262
- > scroll-view {
263
- transform: translateX(0px) !important;
386
+ // SIDEBAR | EXPANDED
387
+ &:has(> [is='sidebar-view']) {
388
+ &:not([column-visibility='double-column']) {
389
+ @include mixins.ifnot-3col-split-view-fits {
390
+ &[preferred-compact-column='content'] {
391
+ // move descendants to right
392
+ > body-view {
393
+ > scroll-view {
394
+ --scroll-view-translate: translateX(var(--view-transition-principal-x)); //!important;
395
+ }
396
+
397
+ > body-view {
398
+ @include force-disable-col-view-transitions;
399
+ }
400
+ }
264
401
  }
265
-
266
- // scroll-view:not(dialog scroll-view),
267
- // navigation-bar:not(dialog navigation-bar),
268
- // bottom-bar:not(dialog bottom-bar) {
269
- // margin-inline-start: var(--nav-split-view-content-width);
270
- // }
271
-
272
- // > scroll-view:not(dialog scroll-view),
273
- // > navigation-bar:not(dialog navigation-bar),
274
- // > bottom-bar:not(dialog bottom-bar) {
275
- // transform: translateX(0px);
276
-
277
- // margin-inline-start: 0px;
278
-
279
- // width: unset;
280
- // }
281
-
282
- // > body-view {
283
- // scroll-view:not(dialog scroll-view),
284
- // navigation-bar:not(dialog navigation-bar),
285
- // bottom-bar:not(dialog bottom-bar) {
286
- // margin-inline-start: var(--nav-split-view-content-width);
287
- // }
288
- // }
289
402
  }
290
- }
291
- }
292
- }
293
403
 
294
- // @include mixins.ifnot-3col-split-view-fits {
295
- // (sidebar|content|details)
296
- // &:has(> dialog[is='sidebar-view']) {
297
- // --view-transition-leading-x: -100lvw;
404
+ // ANCHOR 2_COL OVERRIDE FOR COMPACT VIEWS
298
405
 
299
- // > body-view > body-view ~ scroll-view {
300
- // z-index: -1;
301
- // }
302
- // }
303
- // }
304
-
305
- // SIDEBAR | COMPACT | EXPANDED
306
- @include mixins.if-3col-split-view-fits {
307
- &:has(> dialog[is='sidebar-view']) {
308
- &:not([column-visibility='double-column']) {
309
- // container of compact col (middle)
310
- > body-view {
311
- // Fix position as compact col in the middle
312
- > scroll-view {
313
- transform: translateX(0px) !important;
314
- }
406
+ // SIDEBAR | COMPACT | EXPANDED
407
+ @include mixins.if-3col-split-view-fits {
408
+ // container of compact col (middle)
409
+ > body-view {
410
+ // Fix position as compact col in the middle
411
+ > scroll-view {
412
+ --scroll-view-translate: translateX(var(--view-transition-principal-x)); // !important;
413
+ }
315
414
 
316
- // Fix position of compact col
317
- // > scroll-view,
318
- // > navigation-bar,
319
- // > bottom-bar {
320
- // margin-inline-start: calc(
321
- // var(--nav-split-view-sidebar-width) +
322
- // max(env(safe-area-inset-left), var(--tab-bar-sidebar-spacing))
323
- // );
324
- // }
325
-
326
- // > body-view {
327
- // > scroll-view,
328
- // > navigation-bar,
329
- // > bottom-bar {
330
- // margin-inline-start: 0px;
331
-
332
- // --safe-area-inset-left: calc(
333
- // var(--nav-split-view-sidebar-width) +
334
- // max(env(safe-area-inset-left), var(--tab-bar-sidebar-spacing))
335
- // );
336
- // }
337
- // }
338
- // }
339
-
340
- // // re-move descendants to the right
341
- // > body-view {
342
- // --view-transition-leading-x: unset;
343
-
344
- // 2nd-child stays put
345
- // > scroll-view,
346
- // > navigation-bar,
347
- // > bottom-bar {
348
- // transform: translateX(0px);
349
- // }
350
-
351
- // cancel animations
352
- > navigation-bar,
353
- > bottom-bar {
354
- > tool-bar-item,
355
- > tool-bar-item-group {
356
- @include mixins.vt-toolbar-item-onscreen-keyframe(true);
415
+ > body-view {
416
+ @include force-disable-col-view-transitions;
357
417
  }
358
418
  }
359
419
  }