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

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 (263) hide show
  1. package/README.md +15 -0
  2. package/generated/client/index.d.ts +13 -3
  3. package/generated/client/index.js +228 -158
  4. package/generated/components/bordered-button.d.ts +7 -0
  5. package/generated/components/bordered-button.js +20 -0
  6. package/generated/components/bordered-prominent-button.d.ts +7 -0
  7. package/generated/components/bordered-prominent-button.js +20 -0
  8. package/generated/components/borderless-button.d.ts +4 -4
  9. package/generated/components/borderless-button.js +26 -16
  10. package/generated/components/confirmation-dialog.d.ts +9 -0
  11. package/generated/components/confirmation-dialog.js +102 -0
  12. package/generated/components/date-picker.d.ts +46 -0
  13. package/generated/components/date-picker.js +430 -0
  14. package/generated/components/disclosure-group.d.ts +4 -7
  15. package/generated/components/disclosure-group.js +41 -66
  16. package/generated/components/form-view.d.ts +6 -0
  17. package/generated/components/form-view.js +58 -0
  18. package/generated/components/glass-button.d.ts +6 -0
  19. package/generated/components/glass-button.js +17 -0
  20. package/generated/components/glass-prominent-button.d.ts +6 -0
  21. package/generated/components/glass-prominent-button.js +17 -0
  22. package/generated/components/index.d.ts +34 -10
  23. package/generated/components/index.js +33 -14
  24. package/generated/components/label-view.d.ts +9 -0
  25. package/generated/components/label-view.js +83 -0
  26. package/generated/components/list-view.d.ts +5 -0
  27. package/generated/components/list-view.js +29 -0
  28. package/generated/components/menu-view.d.ts +9 -0
  29. package/generated/components/menu-view.js +133 -0
  30. package/generated/components/navigation-large-title.d.ts +6 -0
  31. package/generated/components/navigation-large-title.js +177 -0
  32. package/generated/components/navigation-split-view.d.ts +4 -2
  33. package/generated/components/navigation-split-view.js +11 -2
  34. package/generated/components/navigation-stack.d.ts +3 -2
  35. package/generated/components/navigation-stack.js +15 -58
  36. package/generated/components/navigation-title.d.ts +8 -0
  37. package/generated/components/navigation-title.js +66 -0
  38. package/generated/components/picker-view.d.ts +27 -0
  39. package/generated/components/picker-view.js +442 -0
  40. package/generated/components/plain-button.d.ts +7 -0
  41. package/generated/components/plain-button.js +20 -0
  42. package/generated/components/screen-view.d.ts +1 -1
  43. package/generated/components/screen-view.js +1 -1
  44. package/generated/components/scroll-view.d.ts +4 -2
  45. package/generated/components/scroll-view.js +169 -62
  46. package/generated/components/section-view.d.ts +9 -0
  47. package/generated/components/section-view.js +81 -0
  48. package/generated/components/sheet-view.d.ts +4 -4
  49. package/generated/components/sheet-view.js +59 -16
  50. package/generated/components/sidebar-toggle.d.ts +1 -1
  51. package/generated/components/sidebar-toggle.js +89 -63
  52. package/generated/components/sidebar-view.d.ts +2 -4
  53. package/generated/components/sidebar-view.js +20 -17
  54. package/generated/components/sticky-container.d.ts +6 -0
  55. package/generated/components/sticky-container.js +22 -0
  56. package/generated/components/tab-bar.d.ts +2 -4
  57. package/generated/components/tab-bar.js +24 -17
  58. package/generated/components/tab-item.d.ts +4 -3
  59. package/generated/components/tab-item.js +114 -29
  60. package/generated/components/tab-view.d.ts +17 -2
  61. package/generated/components/tab-view.js +244 -17
  62. package/generated/components/table-view.d.ts +7 -0
  63. package/generated/components/table-view.js +175 -0
  64. package/generated/components/text-field.d.ts +29 -0
  65. package/generated/components/text-field.js +489 -0
  66. package/generated/components/tool-bar-item-group.d.ts +5 -0
  67. package/generated/components/tool-bar-item-group.js +11 -0
  68. package/generated/components/tool-bar-item.d.ts +5 -0
  69. package/generated/components/tool-bar-item.js +19 -0
  70. package/generated/components/tool-bar.d.ts +7 -0
  71. package/generated/components/tool-bar.js +77 -0
  72. package/generated/components/v-keyboard.d.ts +2 -0
  73. package/generated/components/v-keyboard.js +64 -68
  74. package/generated/components/v-stack.d.ts +5 -0
  75. package/generated/components/v-stack.js +11 -0
  76. package/generated/confirmation-dialog/index.d.ts +1 -0
  77. package/generated/confirmation-dialog/index.js +1 -0
  78. package/generated/css/index.css +7463 -0
  79. package/generated/events/confirmation-dialog.d.ts +9 -0
  80. package/generated/events/date-picker.d.ts +8 -0
  81. package/generated/events/date-picker.js +1 -0
  82. package/generated/events/index.d.ts +7 -0
  83. package/generated/events/index.js +7 -0
  84. package/generated/events/lifecycle-observer.d.ts +10 -0
  85. package/generated/events/lifecycle-observer.js +1 -0
  86. package/generated/events/picker-view.d.ts +8 -0
  87. package/generated/events/picker-view.js +1 -0
  88. package/generated/events/scroll-view.d.ts +10 -0
  89. package/generated/events/scroll-view.js +1 -0
  90. package/generated/events/tab-view.d.ts +24 -0
  91. package/generated/events/tab-view.js +1 -0
  92. package/generated/events/text-field.d.ts +8 -0
  93. package/generated/events/text-field.js +1 -0
  94. package/generated/i18n/index.d.ts +24 -0
  95. package/generated/i18n/index.js +139 -0
  96. package/generated/internal/class/cleanup-registry.d.ts +5 -0
  97. package/generated/internal/class/cleanup-registry.js +38 -0
  98. package/generated/internal/class/css-style-observer.d.ts +8 -0
  99. package/generated/internal/class/css-style-observer.js +25 -0
  100. package/generated/internal/class/form-associated-base.d.ts +20 -0
  101. package/generated/internal/class/form-associated-base.js +93 -0
  102. package/generated/internal/class/mutation-observer-singleton.d.ts +10 -0
  103. package/generated/internal/class/mutation-observer-singleton.js +46 -0
  104. package/generated/internal/class/navigation-path.d.ts +15 -0
  105. package/generated/internal/class/navigation-path.js +84 -0
  106. package/generated/internal/class/navigation-view.d.ts +8 -0
  107. package/generated/internal/class/navigation-view.js +77 -0
  108. package/generated/internal/class/resize-observer-singleton.d.ts +7 -0
  109. package/generated/internal/class/resize-observer-singleton.js +22 -0
  110. package/generated/internal/decorators/custom-element.d.ts +5 -0
  111. package/generated/internal/decorators/custom-element.js +4 -0
  112. package/generated/internal/privateNamespace.d.ts +4 -0
  113. package/generated/internal/privateNamespace.js +1 -0
  114. package/generated/internal/utils/add.d.ts +1 -0
  115. package/generated/internal/utils/add.js +7 -0
  116. package/generated/internal/utils/cash/ancestors.d.ts +1 -0
  117. package/generated/internal/utils/cash/ancestors.js +27 -0
  118. package/generated/internal/utils/cash/index.d.ts +22 -0
  119. package/generated/internal/utils/cash/index.js +23 -0
  120. package/generated/internal/utils/cash/next-all.d.ts +1 -0
  121. package/generated/internal/utils/cash/next-all.js +10 -0
  122. package/generated/internal/utils/cash/next.d.ts +1 -0
  123. package/generated/internal/utils/cash/next.js +9 -0
  124. package/generated/internal/utils/cash/prev-all.d.ts +1 -0
  125. package/generated/internal/utils/cash/prev-all.js +10 -0
  126. package/generated/internal/utils/cash/prev.d.ts +1 -0
  127. package/generated/internal/utils/cash/prev.js +9 -0
  128. package/generated/internal/utils/cash/prop.d.ts +18 -0
  129. package/generated/internal/utils/cash/prop.js +30 -0
  130. package/generated/internal/utils/cash/siblings.d.ts +1 -0
  131. package/generated/internal/utils/cash/siblings.js +10 -0
  132. package/generated/internal/utils/clamp.d.ts +1 -0
  133. package/generated/internal/utils/clamp.js +4 -0
  134. package/generated/internal/utils/compare-big-decimals.d.ts +1 -0
  135. package/generated/internal/utils/compare-big-decimals.js +90 -0
  136. package/generated/internal/utils/debounce.d.ts +1 -0
  137. package/generated/internal/utils/debounce.js +13 -0
  138. package/generated/internal/utils/frame.d.ts +1 -0
  139. package/generated/internal/utils/frame.js +6 -0
  140. package/generated/internal/utils/index.d.ts +16 -1
  141. package/generated/internal/utils/index.js +17 -1
  142. package/generated/internal/utils/kebab-case.d.ts +1 -1
  143. package/generated/internal/utils/list-active.d.ts +7 -0
  144. package/generated/internal/utils/list-active.js +28 -0
  145. package/generated/internal/utils/microtask.d.ts +1 -0
  146. package/generated/internal/utils/microtask.js +3 -0
  147. package/generated/internal/utils/onoff.d.ts +45 -0
  148. package/generated/internal/utils/onoff.js +31 -0
  149. package/generated/internal/utils/set.d.ts +1 -0
  150. package/generated/internal/utils/set.js +7 -0
  151. package/generated/internal/utils/sleep.d.ts +1 -0
  152. package/generated/internal/utils/sleep.js +3 -0
  153. package/generated/internal/utils/slow-hide-show.d.ts +1 -0
  154. package/generated/internal/utils/slow-hide-show.js +16 -0
  155. package/generated/internal/utils/timeout.d.ts +5 -0
  156. package/generated/internal/utils/timeout.js +16 -0
  157. package/generated/internal/utils/touch-glass.d.ts +7 -0
  158. package/generated/internal/utils/touch-glass.js +19 -0
  159. package/generated/lifecycle-observer/index.d.ts +1 -0
  160. package/generated/lifecycle-observer/index.js +1 -0
  161. package/generated/namespace-browser/base.d.ts +36 -0
  162. package/generated/namespace-browser/base.js +92 -0
  163. package/generated/namespace-browser/index.d.ts +7 -0
  164. package/generated/namespace-browser/index.js +1 -0
  165. package/generated/snapshot/index.d.ts +2 -11
  166. package/generated/snapshot/index.js +31 -144
  167. package/package.json +19 -8
  168. package/scss/_components.scss +52 -16
  169. package/scss/_final.scss +1 -0
  170. package/scss/_mixins.scss +2 -171
  171. package/scss/_placeholders.scss +3 -0
  172. package/scss/_transitions.scss +16 -0
  173. package/scss/_utils.scss +9 -0
  174. package/scss/_vars.scss +137 -23
  175. package/scss/base/_layout.scss +31 -15
  176. package/scss/base/_reboot.scss +118 -15
  177. package/scss/base/_root.scss +355 -25
  178. package/scss/colors/_index.scss +624 -70
  179. package/scss/components/_body-view.scss +12 -3
  180. package/scss/components/_bordered-button.scss +22 -0
  181. package/scss/components/_bordered-prominent-button.scss +19 -0
  182. package/scss/components/_borderless-button.scss +11 -6
  183. package/scss/components/_confirmation-dialog.scss +110 -0
  184. package/scss/components/_date-picker.scss +30 -0
  185. package/scss/components/_detail-placeholder.scss +155 -0
  186. package/scss/components/_disclosure-group.scss +100 -52
  187. package/scss/components/_form-view.scss +195 -0
  188. package/scss/components/_full-screen.scss +7 -5
  189. package/scss/components/_glass-button.scss +24 -0
  190. package/scss/components/_glass-prominent-button.scss +24 -0
  191. package/scss/components/_h-divider.scss +13 -0
  192. package/scss/components/_h-stack.scss +39 -0
  193. package/scss/components/_index.scss +224 -7
  194. package/scss/components/_label-view.scss +386 -0
  195. package/scss/components/_labeled-content.scss +9 -0
  196. package/scss/components/_list-view.scss +229 -0
  197. package/scss/components/_menu-view.scss +188 -0
  198. package/scss/components/_navigation-large-title.scss +27 -0
  199. package/scss/components/_navigation-split-view.scss +329 -269
  200. package/scss/components/_navigation-stack.scss +6 -6
  201. package/scss/components/_navigation-title.scss +10 -0
  202. package/scss/components/_picker-view.scss +122 -0
  203. package/scss/components/_plain-button.scss +11 -0
  204. package/scss/components/_scroll-view-proxy.scss +79 -0
  205. package/scss/components/_scroll-view-toolbars.scss +126 -0
  206. package/scss/components/_scroll-view.scss +110 -66
  207. package/scss/components/_section-view.scss +119 -0
  208. package/scss/components/_sheet-view.scss +68 -35
  209. package/scss/components/_sidebar-toggle.scss +90 -27
  210. package/scss/components/_sidebar-view.scss +30 -40
  211. package/scss/components/_sticky-container.scss +42 -0
  212. package/scss/components/_tab-bar.scss +201 -84
  213. package/scss/components/_tab-item.scss +25 -0
  214. package/scss/components/_tab-view.scss +268 -126
  215. package/scss/components/_table-column.scss +52 -0
  216. package/scss/components/_table-row.scss +172 -0
  217. package/scss/components/_table-view.scss +223 -0
  218. package/scss/components/_text-field.scss +37 -0
  219. package/scss/components/_tool-bar-item-group.scss +30 -19
  220. package/scss/components/_tool-bar-item.scss +128 -70
  221. package/scss/components/_tool-bar.scss +107 -64
  222. package/scss/components/_v-divider.scss +13 -0
  223. package/scss/components/_v-flex-stack.scss +29 -0
  224. package/scss/components/_v-keyboard.scss +6 -4
  225. package/scss/components/_v-stack.scss +8 -9
  226. package/scss/final/_touch-glass.scss +67 -0
  227. package/scss/index.scss +6 -2
  228. package/scss/mixins/_dialog.scss +88 -0
  229. package/scss/mixins/_index.scss +405 -0
  230. package/scss/placeholders/_buttons.scss +83 -0
  231. package/scss/placeholders/_lists.scss +589 -0
  232. package/scss/transitions/_bwd.navbar.scss +3 -13
  233. package/scss/transitions/_bwd.scss +4 -20
  234. package/scss/transitions/_confirmation-dialog.scss +19 -0
  235. package/scss/transitions/_dialog.scss +7 -11
  236. package/scss/transitions/_disclosure-group.scss +35 -0
  237. package/scss/transitions/_fwd.navbar.scss +4 -9
  238. package/scss/transitions/_fwd.scss +4 -34
  239. package/scss/transitions/_glass-button.scss +12 -0
  240. package/scss/transitions/_glass-prominent-button.scss +12 -0
  241. package/scss/transitions/_index.scss +35 -143
  242. package/scss/transitions/_menu-view.scss +26 -0
  243. package/scss/transitions/_navigation-split-view.scss +23 -0
  244. package/scss/transitions/_sidebar-view.scss +36 -0
  245. package/scss/transitions/_tab-bar.scss +19 -0
  246. package/scss/utils/_frame.scss +84 -0
  247. package/scss/utils/_index.scss +68 -0
  248. package/scss/utils/_scroll-view.scss +14 -0
  249. package/scss/utils/_spacing.scss +25 -0
  250. package/scss/utils/_stacks.scss +242 -0
  251. package/web-components.html-data/en.json +330 -0
  252. package/generated/components/bottom-bar.d.ts +0 -10
  253. package/generated/components/bottom-bar.js +0 -73
  254. package/generated/components/navigation-bar.d.ts +0 -10
  255. package/generated/components/navigation-bar.js +0 -80
  256. package/generated/internal/class.d.ts +0 -18
  257. package/generated/internal/class.js +0 -18
  258. package/generated/namespace/index.d.ts +0 -6
  259. package/generated/styles.css +0 -1305
  260. package/scss/_dev.scss +0 -68
  261. package/scss/components/_tab-bar-stack.scss +0 -101
  262. package/scss/components/_toolbars.scss +0 -100
  263. /package/generated/{namespace/index.js → events/confirmation-dialog.js} +0 -0
@@ -0,0 +1,223 @@
1
+ @use '../vars';
2
+ @use '../mixins';
3
+ @use '../placeholders';
4
+ @use 'sass:string';
5
+ @use 'sass:map';
6
+
7
+ @property --adaptable-table-style-index {
8
+ syntax: '<number>';
9
+ inherits: false;
10
+ initial-value: 0;
11
+ }
12
+
13
+ $table-ifs: (
14
+ inset: (
15
+ --list--item-color: var(--insetgroupedlist-item-color,),
16
+ --list--item-background-color: var(--insetgroupedlist-item-background-color,),
17
+ --list--highlighteditem-color: var(--insetgroupedlist-highlighteditem-color,),
18
+ --list--highlighteditem-background-color: var(--insetgroupedlist-highlighteditem-background-color,),
19
+ --list--item-border-radius: 0,
20
+ --list--host-background-color: var(--insetgroupedlist-background-color,),
21
+ --list--host-padding-inline: var(--insetgroupedlist-padding-inline),
22
+ --list--host-padding-block: var(--insetgroupedlist-padding-block),
23
+ //
24
+ --list--adjacentdetailsitem-border-radius: 0,
25
+ //
26
+ --list--details-background-color: var(--insetgroupedlist-openitem-background-color,),
27
+ --list--details-color: var(--insetgroupedlist-openitem-color,),
28
+ --list--opendetails-background-color: var(--insetgroupedlist-openitem-background-color,),
29
+ --list--opendetails-color: var(--insetgroupedlist-openitem-color,),
30
+ --list--opensummary-background-color: var(--insetgroupedlist-opensummary-background-color,),
31
+ --list--opensummary-color: var(--insetgroupedlist-opensummary-color,),
32
+ ),
33
+ );
34
+ $table-elses: (
35
+ --list--host-background-color: var(--list-background-color,),
36
+ --list--highlighteditem-background-color: var(--list-highlighteditem-background-color,),
37
+ --list--item-background-color: var(--list-item-background-color,),
38
+ --list--item-padding-inline-start: var(--list-item-padding-inline-start),
39
+ --list--item-padding-inline-end: var(--list-item-padding-inline-end),
40
+ --list--item-padding-block-start: var(--list-item-padding-block-start),
41
+ --list--item-padding-block-end: var(--list-item-padding-block-end),
42
+ --list--item-color: var(--list-item-color,),
43
+ --list--highlighteditem-color: var(--list-highlighteditem-color,),
44
+ //
45
+ --list--details-background-color: var(--list-openitem-background-color,),
46
+ --list--details-color: var(--list-openitem-color,),
47
+ --list--opensummary-background-color: var(--list-opensummary-background-color,),
48
+ --list--opensummary-color: var(--list-opensummary-color,),
49
+ //
50
+ --list--accessories-size: 1.1rem,
51
+ --list--accessories-display: grid,
52
+ );
53
+
54
+ @layer #{vars.$components-layer} {
55
+ table-view {
56
+ &:not(& &, list-view &, [is='form-view'] &) {
57
+ @extend %list;
58
+
59
+ :where(&) {
60
+ container: table / inline-size;
61
+
62
+ &::part(table-container) {
63
+ grid-template-columns: subgrid;
64
+ }
65
+
66
+ &::part(table-header-stack),
67
+ &::part(table-footer-stack) {
68
+ position: relative; // SAFARI BUG
69
+
70
+ padding-inline: var(--list--host-padding-inline, 0px);
71
+
72
+ background-color: var(--secondaryBackground);
73
+
74
+ column-gap: var(--toolbar-col-gap);
75
+
76
+ grid-auto-flow: column;
77
+ grid-template-columns: auto 1fr auto;
78
+ grid-template-rows: var(--toolbar-cell-min-size);
79
+
80
+ place-content: center; // middle of y axis
81
+ }
82
+
83
+ &::part(table-header-stack) {
84
+ border-radius: var(--insetlist-item-border-radius) var(--insetlist-item-border-radius) 0 0;
85
+
86
+ border-bottom: 1px solid var(--separator);
87
+ }
88
+
89
+ &::part(table-footer-stack) {
90
+ border-radius: 0 0 var(--insetlist-item-border-radius) var(--insetlist-item-border-radius);
91
+
92
+ border-top: 1px solid var(--separator);
93
+ }
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) {
101
+ grid-auto-flow: column;
102
+ grid-template-columns: minmax(0, 1fr);
103
+
104
+ column-gap: var(--toolbar-col-gap);
105
+ }
106
+ }
107
+
108
+ &::part(table-column-stack) {
109
+ grid-auto-flow: column;
110
+ grid-auto-columns: minmax(0, 1fr);
111
+
112
+ column-gap: var(--table-col-gap);
113
+
114
+ padding-inline: var(--list--host-padding-inline, 0px);
115
+
116
+ padding-block: var(--table-row-gap);
117
+
118
+ color: var(--blue);
119
+
120
+ background-color: var(--separator);
121
+ }
122
+
123
+ // SECTION: toolbars
124
+ > [slot^='header'],
125
+ > [slot^='footer'] {
126
+ :where(&) {
127
+ place-content: center;
128
+ }
129
+ }
130
+
131
+ :where(& > button[slot^='header'], & > button[slot^='footer']),
132
+ :where(& > picker-view > menu-view[slot^='header'], & > picker-view > menu-view[slot^='footer'])::part(menu-summary),
133
+ :where(& > menu-view[slot^='header'], & > menu-view[slot^='footer'])::part(menu-summary) {
134
+ border-radius: 0.7rem;
135
+ }
136
+
137
+ // SECTION: Cols hider
138
+ @container table (width <= #{vars.$table-expanded-bp}) {
139
+ :where(& > [slot='column']) {
140
+ display: none;
141
+ }
142
+
143
+ :where(&)::part(table-column-stack) {
144
+ display: none;
145
+ }
146
+ }
147
+
148
+ // SECTION: styleobserver
149
+ :where(&) {
150
+ &::part(table-container) {
151
+ transition: --adaptable-table-style-index 1ms step-start;
152
+
153
+ --adaptable-table-style-index: 0;
154
+ --adaptable-table-style: compact;
155
+ }
156
+
157
+ @container table (width > #{vars.$table-expanded-bp}) {
158
+ &::part(table-container) {
159
+ --adaptable-table-style-index: 1;
160
+ --adaptable-table-style: expanded;
161
+ }
162
+ }
163
+ }
164
+
165
+ // SECTION: Columns counter
166
+ :where(&) {
167
+ --table--expanded-columns: 1;
168
+ }
169
+
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;
175
+ }
176
+
177
+ // // @include mixins.center-toolbar-elements('&');
178
+ // :where(& > button[slot^='header'], & > button[slot^='footer']),
179
+ // :where(& > picker-view > menu-view)::part(menu-summary),
180
+ // :where(& > menu-view[slot^='header'], & > menu-view[slot^='footer'])::part(menu-summary) {
181
+ // place-items: center;
182
+
183
+ // place-content: center;
184
+ // }
185
+ // }
186
+
187
+ // wire
188
+ :where(&) {
189
+ @include mixins.write-props($table-elses);
190
+ }
191
+
192
+ // SECTION: ifs
193
+ @supports (x: #{string.unquote('if(else:red)')}) {
194
+ :where(&) {
195
+ @include mixins.write-ifs(--table-style, $table-ifs, $table-elses);
196
+ }
197
+ }
198
+
199
+ // SECTION: ifs polyfill
200
+ @supports not (x: #{string.unquote('if(else:red)')}) {
201
+ :where(&:not([table-style])) {
202
+ @each $v in vars.$table-styles {
203
+ @container style(--table-style: #{$v}) {
204
+ @include mixins.write-props(map.get($table-ifs, $v));
205
+ }
206
+ }
207
+ }
208
+ @each $v in vars.$table-styles {
209
+ :where(&[table-style='#{$v}']) {
210
+ @include mixins.write-props(map.get($table-ifs, $v));
211
+ }
212
+ }
213
+ }
214
+
215
+ // SECTION: attrs finally
216
+ @supports (x: #{string.unquote('attr(x type(*))')}) {
217
+ :where(&) {
218
+ --table-style: attr(table-style type(<custom-ident>), inherit);
219
+ }
220
+ }
221
+ }
222
+ }
223
+ }
@@ -0,0 +1,37 @@
1
+ @use '../vars';
2
+
3
+ @layer #{vars.$components-layer} {
4
+ text-field {
5
+ :where(&) {
6
+ grid-template-columns: minmax(0, 1fr);
7
+ grid-template-rows: minmax(0, 1fr);
8
+
9
+ // padding-inline: var(--toolbaritempadistart,) var(--toolbaritempadiend,);
10
+ // padding-block: var(--toolbaritempadbstart,) var(--toolbaritempadbend,);
11
+ }
12
+
13
+ :where(&)::part(text-field-stack) {
14
+ // display: grid;
15
+
16
+ grid-template-columns: auto minmax(0, 1fr);
17
+ grid-template-rows: minmax(0, 1fr);
18
+ }
19
+
20
+ :where(&)::part(text-field-label-stack) {
21
+ // display: grid;
22
+ }
23
+
24
+ :where(&)::part(text-field-input-stack) {
25
+ // display: grid;
26
+
27
+ place-items: stretch;
28
+ place-content: stretch;
29
+ }
30
+
31
+ :where(&)::part(text-field-form-input) {
32
+ // display: grid;
33
+
34
+ text-align: end;
35
+ }
36
+ }
37
+ }
@@ -3,35 +3,46 @@
3
3
 
4
4
  @layer #{vars.$components-layer} {
5
5
  tool-bar-item-group {
6
- // pointer-events: all;
6
+ :where(&) {
7
+ // pointer-events: all;
7
8
 
8
- grid-auto-flow: column;
9
- grid-template-columns: minmax(0, 1fr);
10
- column-gap: var(--toolbar-col-gap);
9
+ grid-auto-flow: column;
10
+ grid-template-columns: minmax(0, 1fr);
11
+ column-gap: var(--toolbar-col-gap);
11
12
 
12
- background-color: var(--toolbar-cell-bg);
13
- padding-inline: var(--toolbar-cell-inline-padding);
14
- padding-block: var(--toolbar-cell-block-padding);
15
- border-radius: var(--toolbar-cell-border-radius);
16
- border-width: 0;
13
+ background: var(--toolbaritemface);
14
+ padding-inline: var(--toolbar-cell-inline-padding-start) var(--toolbar-cell-inline-padding-end);
15
+ padding-block: var(--toolbar-cell-block-padding-start) var(--toolbar-cell-block-padding-end);
16
+ border-radius: var(--toolbar-cell-border-radius);
17
+ border-width: 0;
18
+
19
+ // tab-item {
20
+ // --toolbaritempadistart: var(--toolbar-cell-inline-padding);
21
+ // --toolbaritempadbstart: var(--toolbar-cell-block-padding);
22
+ // }
23
+ }
24
+
25
+ :where(& > *) {
26
+ min-inline-size: calc(var(--toolbar-cell-min-size) - var(--toolbar-cell-block-padding-start) - var(--toolbar-cell-block-padding-end));
27
+ }
17
28
 
18
29
  //
19
- // --component-bg: white;
20
- // --component-padding-inline: 5px;
21
- // --component-padding-block: 5px;
22
- // --component-border-radius: 99999px;
23
- // --component-border-width: 0;
30
+ // --toolbaritemface: white;
31
+ // --toolbaritempadistart: 5px;
32
+ // --toolbaritempadbstart: 5px;
33
+ // --toolbaritemradius: 99999px;
34
+ // --toolbaritemborder: 0;
24
35
 
25
36
  // button {
26
37
  // // appearance: none;
27
38
  // // -webkit-appearance: none;
28
39
  // // box-shadow: none;
29
40
  // // outline: 0;
30
- // border: var(--component-border-width);
31
- // background-color: var(--component-bg);
32
- // padding-inline: var(--component-padding-inline);
33
- // padding-block: var(--component-padding-block);
34
- // border-radius: var(--component-border-radius);
41
+ // border: var(--toolbaritemborder);
42
+ // background-color: var(--toolbaritemface);
43
+ // padding-inline: var(--toolbaritempadistart);
44
+ // padding-block: var(--toolbaritempadbstart);
45
+ // border-radius: var(--toolbaritemradius);
35
46
  // }
36
47
  }
37
48
  }
@@ -2,86 +2,144 @@
2
2
  @use '../mixins';
3
3
 
4
4
  @layer #{vars.$components-layer} {
5
- tool-bar-item,
6
- tab-item {
7
- // background-color: red;
8
- // padding: 5px;
9
- // border-radius: 99999px;
10
-
11
- // height: 40px;
12
-
13
- // pointer-events: all;
14
-
15
- //
16
- --component-bg: var(--toolbar-cell-bg);
17
- --component-padding-inline: var(--toolbar-cell-inline-padding);
18
- --component-padding-block: var(--toolbar-cell-block-padding);
19
- --component-border-radius: var(--toolbar-cell-border-radius);
20
- --component-border-width: 0;
21
-
22
- button,
23
- input {
24
- appearance: none;
25
- -webkit-appearance: none;
26
- // box-shadow: none;
27
- // outline: 0;
28
- border: var(--component-border-width);
29
- background-color: var(--component-bg);
30
- padding-inline: var(--component-padding-inline);
31
- padding-block: var(--component-padding-block);
32
- border-radius: var(--component-border-radius);
33
- min-width: 25px; // NOTE: For inputs overflowing-x
34
-
35
- // &:not(:disabled):not([readonly]) {
36
- // &:focus-visible {
37
- // background-color: var(--toolbar-cell-focus-bg);
38
- // }
39
- // // order matters! BEFORE active
40
- // @media (pointer: fine) {
41
- // &:hover {
42
- // background-color: var(--toolbar-cell-focus-bg);
43
- // }
44
- // }
45
- // // order matters! AFTER hover/fvisible
46
- // &:active {
47
- // background-color: var(--toolbar-cell-active-bg);
48
- // }
49
- // }
5
+ tool-bar-item {
6
+ :where(&) {
7
+ // moved from > * of old
8
+ pointer-events: all;
9
+
10
+ // min-height: var(--toolbar-cell-min-size);
11
+ // min-width: var(--toolbar-cell-min-size);
12
+ // moved from > * of old
13
+
14
+ // background-color: red;
15
+ // padding: 5px;
16
+ border-radius: var(--pill-border-radius);
17
+
18
+ // height: 40px;
19
+
20
+ // pointer-events: all;
21
+ // container-type: inline-size;
22
+
23
+ //
24
+ // --toolbaritemface: var(--toolbar-cell-bg);
25
+ // --toolbaritempadistart: calc(var(--toolbar-cell-inline-padding) * 2);
26
+ // --toolbaritempadbstart: calc(var(--toolbar-cell-block-padding) * 2);
27
+ --toolbaritemradiustl: var(--toolbar-cell-border-radius);
28
+ --toolbaritemradiustr: var(--toolbar-cell-border-radius);
29
+ --toolbaritemradiusbl: var(--toolbar-cell-border-radius);
30
+ --toolbaritemradiusbr: var(--toolbar-cell-border-radius);
31
+ --toolbaritemborder: 0;
32
+ }
33
+
34
+ :where(&:has([disabled])) {
35
+ pointer-events: none;
36
+ }
37
+ }
38
+
39
+ // NOTE: MUST be right-after the above `all: unset` in this SAME page!
40
+ tool-bar-item {
41
+ :where(& > button),
42
+ :where(& > picker-view > menu-view)::part(menu-summary),
43
+ :where(& > menu-view)::part(menu-summary) {
44
+ place-items: center;
45
+
46
+ place-content: center;
50
47
  }
51
48
  }
49
+
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
+ // }
52
65
  }
53
66
 
54
67
  @layer #{vars.$colors-layer} {
55
- tool-bar-item,
56
- tab-item {
57
- button,
58
- input {
59
- &:not(:disabled):not([readonly]) {
60
- &:focus-visible {
61
- background-color: var(--toolbar-cell-focus-bg);
62
- }
63
-
64
- // order matters! BEFORE active
65
- @media (pointer: fine) {
66
- &:hover {
67
- background-color: var(--toolbar-cell-focus-bg);
68
- }
69
- }
70
- }
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));
88
+ }
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));
71
91
  }
92
+
93
+ // &:not(:disabled):not([readonly]) {
94
+ // > button {
95
+ // :where(&) {
96
+ // --toolbaritempadistart: 0.3rem;
97
+ // --toolbaritempadiend: 0.3rem;
98
+ // --toolbaritempadbstart: 0.3rem;
99
+ // --toolbaritempadbend: 0.3rem;
100
+ // }
101
+ // }
102
+ // }
72
103
  }
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
+ // }
73
114
  }
74
115
 
75
116
  @layer #{vars.$ui-layer} {
76
- tool-bar-item,
77
- tab-item {
78
- button,
79
- input {
80
- &:not(:disabled):not([readonly]) {
81
- &:active {
82
- background-color: var(--toolbar-cell-active-bg);
83
- }
84
- }
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));
85
137
  }
86
138
  }
139
+
140
+ :where(tool-bar-item[slot]:has(menu-view[open])),
141
+ :where(tool-bar-item-group:has(> tool-bar-item menu-view[open])) {
142
+ --toolbar-cell-scale: var(--menu-host-offscreen-transform);
143
+ --toolbar-cell-filter: var(--menu-host-offscreen-filter);
144
+ }
87
145
  }