@swiftwc/ui 0.0.0-dev.11 → 0.0.0-dev.110

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 (300) 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 +24 -10
  10. package/generated/client/index.js +179 -194
  11. package/generated/components/alert-dialog.d.ts +11 -0
  12. package/generated/components/alert-dialog.js +94 -0
  13. package/generated/components/body-view.d.ts +8 -0
  14. package/generated/components/body-view.js +6 -2
  15. package/generated/components/bordered-button.d.ts +10 -0
  16. package/generated/components/bordered-button.js +36 -3
  17. package/generated/components/bordered-prominent-button.d.ts +10 -0
  18. package/generated/components/bordered-prominent-button.js +36 -3
  19. package/generated/components/borderless-button.d.ts +9 -1
  20. package/generated/components/borderless-button.js +29 -11
  21. package/generated/components/color-scheme.d.ts +12 -0
  22. package/generated/components/color-scheme.js +51 -0
  23. package/generated/components/confirmation-dialog.d.ts +4 -1
  24. package/generated/components/confirmation-dialog.js +38 -32
  25. package/generated/components/content-unavailable.d.ts +30 -0
  26. package/generated/components/content-unavailable.js +79 -0
  27. package/generated/components/date-picker.d.ts +21 -15
  28. package/generated/components/date-picker.js +126 -88
  29. package/generated/components/detail-placeholder.d.ts +11 -0
  30. package/generated/components/detail-placeholder.js +15 -0
  31. package/generated/components/disclosure-group.d.ts +8 -0
  32. package/generated/components/disclosure-group.js +18 -7
  33. package/generated/components/fine-tooltip.d.ts +15 -0
  34. package/generated/components/fine-tooltip.js +108 -0
  35. package/generated/components/form-view.d.ts +10 -0
  36. package/generated/components/form-view.js +8 -3
  37. package/generated/components/glass-button.d.ts +10 -0
  38. package/generated/components/glass-button.js +36 -3
  39. package/generated/components/glass-prominent-button.d.ts +10 -0
  40. package/generated/components/glass-prominent-button.js +36 -3
  41. package/generated/components/h-divider.d.ts +11 -0
  42. package/generated/components/h-divider.js +15 -0
  43. package/generated/components/h-stack.d.ts +22 -0
  44. package/generated/components/h-stack.js +24 -0
  45. package/generated/components/image-view.d.ts +18 -0
  46. package/generated/components/image-view.js +65 -0
  47. package/generated/components/index.d.ts +15 -3
  48. package/generated/components/index.js +15 -3
  49. package/generated/components/label-view.d.ts +19 -1
  50. package/generated/components/label-view.js +63 -62
  51. package/generated/components/labeled-content.d.ts +33 -0
  52. package/generated/components/labeled-content.js +160 -0
  53. package/generated/components/list-view.d.ts +14 -0
  54. package/generated/components/list-view.js +12 -17
  55. package/generated/components/menu-view.d.ts +12 -1
  56. package/generated/components/menu-view.js +63 -65
  57. package/generated/components/navigation-large-title.d.ts +11 -0
  58. package/generated/components/navigation-large-title.js +11 -5
  59. package/generated/components/navigation-split-view.d.ts +9 -1
  60. package/generated/components/navigation-split-view.js +10 -6
  61. package/generated/components/navigation-stack.d.ts +9 -1
  62. package/generated/components/navigation-stack.js +13 -11
  63. package/generated/components/navigation-title.d.ts +11 -1
  64. package/generated/components/navigation-title.js +58 -55
  65. package/generated/components/picker-view.d.ts +48 -7
  66. package/generated/components/picker-view.js +971 -261
  67. package/generated/components/plain-button.js +3 -3
  68. package/generated/components/progress-view.d.ts +20 -0
  69. package/generated/components/progress-view.js +120 -0
  70. package/generated/components/screen-view.js +2 -1
  71. package/generated/components/scroll-view-proxy.d.ts +13 -0
  72. package/generated/components/scroll-view-proxy.js +15 -0
  73. package/generated/components/scroll-view.d.ts +13 -1
  74. package/generated/components/scroll-view.js +140 -97
  75. package/generated/components/search-view.d.ts +12 -0
  76. package/generated/components/search-view.js +24 -0
  77. package/generated/components/section-view.d.ts +13 -1
  78. package/generated/components/section-view.js +38 -58
  79. package/generated/components/sheet-view.d.ts +4 -2
  80. package/generated/components/sheet-view.js +10 -39
  81. package/generated/components/sidebar-toggle.d.ts +9 -1
  82. package/generated/components/sidebar-toggle.js +46 -69
  83. package/generated/components/sidebar-view.d.ts +3 -0
  84. package/generated/components/sidebar-view.js +16 -9
  85. package/generated/components/sticky-container.d.ts +6 -1
  86. package/generated/components/sticky-container.js +9 -7
  87. package/generated/components/tab-bar.d.ts +3 -0
  88. package/generated/components/tab-bar.js +17 -13
  89. package/generated/components/tab-item.d.ts +3 -0
  90. package/generated/components/tab-item.js +20 -13
  91. package/generated/components/tab-view.d.ts +13 -4
  92. package/generated/components/tab-view.js +25 -89
  93. package/generated/components/table-view.d.ts +19 -0
  94. package/generated/components/table-view.js +88 -107
  95. package/generated/components/text-field.d.ts +19 -6
  96. package/generated/components/text-field.js +127 -99
  97. package/generated/components/text-view.d.ts +11 -0
  98. package/generated/components/text-view.js +16 -0
  99. package/generated/components/toggle-view.d.ts +43 -0
  100. package/generated/components/toggle-view.js +366 -0
  101. package/generated/components/tool-bar-item-group.d.ts +8 -0
  102. package/generated/components/tool-bar-item-group.js +22 -4
  103. package/generated/components/tool-bar-item.d.ts +12 -1
  104. package/generated/components/tool-bar-item.js +57 -10
  105. package/generated/components/tool-bar.d.ts +19 -0
  106. package/generated/components/tool-bar.js +48 -33
  107. package/generated/components/v-divider.d.ts +11 -0
  108. package/generated/components/v-divider.js +15 -0
  109. package/generated/components/v-keyboard.d.ts +8 -1
  110. package/generated/components/v-keyboard.js +11 -9
  111. package/generated/components/v-stack.d.ts +20 -0
  112. package/generated/components/v-stack.js +18 -2
  113. package/generated/css/index.css +4617 -1266
  114. package/generated/events/alert-dialog.d.ts +13 -0
  115. package/generated/events/alert-dialog.js +1 -0
  116. package/generated/events/confirmation-dialog.d.ts +7 -2
  117. package/generated/events/date-picker.d.ts +6 -1
  118. package/generated/events/index.d.ts +2 -0
  119. package/generated/events/index.js +2 -0
  120. package/generated/events/lifecycle-observer.d.ts +10 -2
  121. package/generated/events/picker-view.d.ts +22 -1
  122. package/generated/events/scroll-view.d.ts +10 -2
  123. package/generated/events/tab-view.d.ts +38 -8
  124. package/generated/events/text-field.d.ts +6 -1
  125. package/generated/events/toggle-view.d.ts +14 -0
  126. package/generated/events/toggle-view.js +1 -0
  127. package/generated/i18n/index.d.ts +19 -10
  128. package/generated/i18n/index.js +79 -54
  129. package/generated/i18n/locales/el.d.ts +16 -0
  130. package/generated/i18n/locales/el.js +16 -0
  131. package/generated/i18n/locales/en.d.ts +16 -0
  132. package/generated/i18n/locales/en.js +16 -0
  133. package/generated/i18n/locales/index.d.ts +4 -0
  134. package/generated/i18n/locales/index.js +4 -0
  135. package/generated/internal/class/css-style-observer.js +2 -2
  136. package/generated/internal/class/form-associated-base.d.ts +0 -4
  137. package/generated/internal/class/form-associated-base.js +22 -39
  138. package/generated/internal/class/mutation-observer-set.d.ts +9 -0
  139. package/generated/internal/class/mutation-observer-set.js +42 -0
  140. package/generated/internal/class/mutation-observer-singleton.js +18 -0
  141. package/generated/internal/class/navigation-view.d.ts +1 -1
  142. package/generated/internal/class/navigation-view.js +36 -43
  143. package/generated/internal/decorators/adaptive-slot.d.ts +1 -0
  144. package/generated/internal/decorators/adaptive-slot.js +47 -0
  145. package/generated/internal/decorators/custom-element.d.ts +1 -1
  146. package/generated/internal/decorators/custom-element.js +2 -1
  147. package/generated/internal/decorators/index.d.ts +6 -0
  148. package/generated/internal/decorators/index.js +6 -0
  149. package/generated/internal/decorators/microtask-on-connected.d.ts +39 -0
  150. package/generated/internal/decorators/microtask-on-connected.js +67 -0
  151. package/generated/internal/flags.d.ts +4 -0
  152. package/generated/internal/flags.js +1 -0
  153. package/generated/internal/privateNamespace.d.ts +10 -0
  154. package/generated/internal/privateNamespace.js +159 -1
  155. package/generated/internal/utils/$.d.ts +9 -0
  156. package/generated/internal/utils/$.js +11 -0
  157. package/generated/internal/utils/compare-big-decimals.js +7 -17
  158. package/generated/internal/utils/debug.d.ts +1 -0
  159. package/generated/internal/utils/debug.js +4 -0
  160. package/generated/internal/utils/define-translations.d.ts +1 -0
  161. package/generated/internal/utils/define-translations.js +3 -0
  162. package/generated/internal/utils/ensure-placeholder.d.ts +1 -0
  163. package/generated/internal/utils/ensure-placeholder.js +41 -0
  164. package/generated/internal/utils/index.d.ts +39 -2
  165. package/generated/internal/utils/index.js +39 -3
  166. package/generated/internal/utils/is-inside.d.ts +1 -0
  167. package/generated/internal/utils/is-inside.js +4 -0
  168. package/generated/internal/utils/kebab-case.js +6 -9
  169. package/generated/internal/utils/list-active.js +67 -12
  170. package/generated/internal/utils/touch-glass.js +5 -5
  171. package/generated/internal/vendor/morphdom.d.ts +6 -0
  172. package/generated/internal/vendor/morphdom.js +720 -0
  173. package/generated/morphdom/index.d.ts +8 -0
  174. package/generated/morphdom/index.js +8 -0
  175. package/generated/morphdom/morph.d.ts +4 -0
  176. package/generated/morphdom/morph.js +10 -0
  177. package/generated/morphdom/query-morph.d.ts +5 -0
  178. package/generated/morphdom/query-morph.js +12 -0
  179. package/generated/morphdom/render-to-string.d.ts +12 -0
  180. package/generated/morphdom/render-to-string.js +48 -0
  181. package/generated/morphdom/unsafe-html.d.ts +2 -0
  182. package/generated/morphdom/unsafe-html.js +4 -0
  183. package/generated/namespace-browser/base.d.ts +12 -3
  184. package/generated/namespace-browser/base.js +41 -18
  185. package/generated/namespace-browser/event.d.ts +10 -0
  186. package/generated/namespace-browser/event.js +1 -0
  187. package/generated/snapshot/index.d.ts +3 -1
  188. package/generated/snapshot/index.js +23 -2
  189. package/generated/tpl/html.d.ts +5 -0
  190. package/generated/tpl/html.js +7 -0
  191. package/generated/tpl/index.d.ts +6 -0
  192. package/generated/tpl/index.js +6 -0
  193. package/generated/tpl/is-template-result.d.ts +3 -0
  194. package/generated/tpl/is-template-result.js +1 -0
  195. package/generated/tpl/render.d.ts +2 -0
  196. package/generated/tpl/render.js +132 -0
  197. package/package.json +32 -7
  198. package/scss/_components.scss +15 -0
  199. package/scss/_functions.scss +10 -0
  200. package/scss/_maps.scss +293 -0
  201. package/scss/_mixins.scss +4 -0
  202. package/scss/_transitions.scss +6 -1
  203. package/scss/_utils.scss +2 -0
  204. package/scss/_vars.scss +9 -115
  205. package/scss/base/_layout.scss +17 -7
  206. package/scss/base/_reboot.scss +34 -1
  207. package/scss/base/_root.scss +143 -124
  208. package/scss/colors/_index.scss +328 -88
  209. package/scss/components/_alert-dialog.scss +111 -0
  210. package/scss/components/_bordered-button.scss +37 -0
  211. package/scss/components/_bordered-prominent-button.scss +46 -0
  212. package/scss/components/_borderless-button.scss +26 -0
  213. package/scss/components/_confirmation-dialog.scss +41 -49
  214. package/scss/components/_content-unavailable.scss +57 -0
  215. package/scss/components/_date-picker.scss +15 -15
  216. package/scss/components/_detail-placeholder.scss +1 -3
  217. package/scss/components/_disclosure-group.scss +85 -34
  218. package/scss/components/_fine-tooltip.scss +84 -0
  219. package/scss/components/_form-view.scss +63 -24
  220. package/scss/components/_glass-button.scss +37 -0
  221. package/scss/components/_glass-prominent-button.scss +47 -0
  222. package/scss/components/_group-box.scss +27 -0
  223. package/scss/components/_h-flex-stack.scss +23 -0
  224. package/scss/components/_h-stack.scss +6 -17
  225. package/scss/components/_image-view.scss +20 -0
  226. package/scss/components/_index.scss +69 -36
  227. package/scss/components/_label-view copy.scss.txt +420 -0
  228. package/scss/components/_label-view.scss +105 -120
  229. package/scss/components/_label-view.scss.txt +536 -0
  230. package/scss/components/_labeled-content.scss +67 -1
  231. package/scss/components/_list-view.scss +70 -29
  232. package/scss/components/_menu-view.scss +96 -61
  233. package/scss/components/_navigation-large-title.scss +23 -0
  234. package/scss/components/_navigation-split-view.scss +3 -3
  235. package/scss/components/_navigation-title.scss +1 -1
  236. package/scss/components/_picker-view.scss +270 -63
  237. package/scss/components/_plain-button.scss +8 -0
  238. package/scss/components/_progress-view.scss +98 -0
  239. package/scss/components/_scroll-view-proxy.scss +24 -22
  240. package/scss/components/_scroll-view-toolbars.scss +8 -2
  241. package/scss/components/_scroll-view.scss +16 -0
  242. package/scss/components/_search-view.scss +23 -0
  243. package/scss/components/_section-view.scss +23 -22
  244. package/scss/components/_sheet-view.scss +16 -6
  245. package/scss/components/_sidebar-toggle.scss +1 -4
  246. package/scss/components/_sticky-container.scss +1 -1
  247. package/scss/components/_tab-bar.scss +17 -3
  248. package/scss/components/_tab-view.scss +12 -2
  249. package/scss/components/_table-column.scss +4 -2
  250. package/scss/components/_table-row.scss +71 -3
  251. package/scss/components/_table-view.scss +27 -18
  252. package/scss/components/_text-field.scss +37 -17
  253. package/scss/components/_text-view.scss +57 -0
  254. package/scss/components/_toggle-view.scss +171 -0
  255. package/scss/components/_tool-bar-item.scss +34 -82
  256. package/scss/components/_tool-bar.scss +77 -57
  257. package/scss/components/_v-stack.scss +8 -2
  258. package/scss/final/_touch-glass.scss +31 -0
  259. package/scss/mixins/_button.scss +44 -0
  260. package/scss/mixins/_color.scss +16 -0
  261. package/scss/mixins/_dialog.scss +1 -0
  262. package/scss/mixins/_index.scss +73 -5
  263. package/scss/placeholders/_buttons.scss +46 -11
  264. package/scss/placeholders/_lists.scss +159 -126
  265. package/scss/transitions/_alert-dialog.scss +18 -0
  266. package/scss/transitions/_confirmation-dialog.scss +8 -0
  267. package/scss/transitions/_fine-tooltip.scss +21 -0
  268. package/scss/transitions/_menu-view.scss +17 -15
  269. package/scss/transitions/_progress-view.scss +23 -0
  270. package/scss/transitions/_sheet-view.scss +30 -0
  271. package/scss/transitions/_tab-bar.scss +6 -5
  272. package/scss/utils/_background.scss +52 -0
  273. package/scss/utils/_frame.scss +59 -40
  274. package/scss/utils/_index.scss +45 -56
  275. package/scss/utils/_scroll-view.scss +1 -1
  276. package/scss/utils/_spacing.scss +1 -1
  277. package/scss/utils/_stacks.scss +34 -164
  278. package/web-components.css-data/en.json +28 -0
  279. package/web-components.html-data/en.json +2456 -166
  280. package/generated/confirmation-dialog/index.d.ts +0 -1
  281. package/generated/confirmation-dialog/index.js +0 -1
  282. package/generated/internal/utils/cash/index.d.ts +0 -22
  283. package/generated/internal/utils/cash/index.js +0 -23
  284. package/generated/lifecycle-observer/index.d.ts +0 -1
  285. package/generated/lifecycle-observer/index.js +0 -1
  286. package/scss/transitions/_dialog.scss +0 -28
  287. /package/generated/internal/utils/{cash/ancestors.d.ts → ancestors.d.ts} +0 -0
  288. /package/generated/internal/utils/{cash/ancestors.js → ancestors.js} +0 -0
  289. /package/generated/internal/utils/{cash/next-all.d.ts → next-all.d.ts} +0 -0
  290. /package/generated/internal/utils/{cash/next-all.js → next-all.js} +0 -0
  291. /package/generated/internal/utils/{cash/next.d.ts → next.d.ts} +0 -0
  292. /package/generated/internal/utils/{cash/next.js → next.js} +0 -0
  293. /package/generated/internal/utils/{cash/prev-all.d.ts → prev-all.d.ts} +0 -0
  294. /package/generated/internal/utils/{cash/prev-all.js → prev-all.js} +0 -0
  295. /package/generated/internal/utils/{cash/prev.d.ts → prev.d.ts} +0 -0
  296. /package/generated/internal/utils/{cash/prev.js → prev.js} +0 -0
  297. /package/generated/internal/utils/{cash/prop.d.ts → prop.d.ts} +0 -0
  298. /package/generated/internal/utils/{cash/prop.js → prop.js} +0 -0
  299. /package/generated/internal/utils/{cash/siblings.d.ts → siblings.d.ts} +0 -0
  300. /package/generated/internal/utils/{cash/siblings.js → siblings.js} +0 -0
@@ -1,7 +1,27 @@
1
- @use '../vars';
2
- @use '../mixins';
3
1
  @use 'sass:string';
4
2
  @use 'sass:map';
3
+ @use '../vars';
4
+ @use '../maps';
5
+ @use '../mixins';
6
+
7
+ // scalpel precision
8
+ @property --label-gap {
9
+ syntax: '<number>';
10
+ inherits: false;
11
+ initial-value: 0.3;
12
+ }
13
+
14
+ @property --label-image-size {
15
+ syntax: '<number>';
16
+ inherits: false;
17
+ initial-value: 2;
18
+ }
19
+
20
+ @property --label-padding-inline {
21
+ syntax: '<length>';
22
+ inherits: false;
23
+ initial-value: 0;
24
+ }
5
25
 
6
26
  // @property --label-style {
7
27
  // syntax: 'title-and-icon | icon-only | title-only | automatic';
@@ -9,6 +29,12 @@
9
29
  // initial-value: automatic;
10
30
  // }
11
31
 
32
+ // @property --label-font-weight {
33
+ // syntax: 'ultra-light | thin | light | regular | medium | semibold | bold | heavy | black';
34
+ // inherits: false;
35
+ // initial-value: regular;
36
+ // }
37
+
12
38
  // @property --label--style {
13
39
  // syntax: '<number>';
14
40
  // inherits: false;
@@ -40,7 +66,7 @@ $label-line-ifs: (
40
66
  ),
41
67
  2: (
42
68
  --label--host-white-space: normal,
43
- --label--display: -webkit-box,
69
+ --label--titlestack-display: -webkit-box,
44
70
  --label--box-orient: vertical,
45
71
  --label--line-clamp: 2,
46
72
  ),
@@ -55,18 +81,22 @@ $label-line-ifs: (
55
81
  --label--host-align-items: center;
56
82
  --label--host-justify-items: normal;
57
83
 
58
- --label--host-gap: 0.3rem;
59
-
60
84
  --label--iconstack-display: grid;
61
- --label--titlestack-display: grid;
85
+ --label--titlestack-display: inline-block;
62
86
  } @else if $label-style == h-icon-only {
63
87
  --label-style: icon-only;
64
88
 
89
+ --label--host-align-items: center;
90
+ --label--host-justify-items: normal;
91
+
65
92
  --label--iconstack-display: grid;
66
93
  } @else if $label-style == h-title-only {
67
94
  --label-style: title-only;
68
95
 
69
- --label--titlestack-display: grid;
96
+ --label--host-align-items: center;
97
+ --label--host-justify-items: normal;
98
+
99
+ --label--titlestack-display: inline-block;
70
100
  } @else if $label-style == v-title-and-icon {
71
101
  --label-style: title-and-icon;
72
102
 
@@ -75,44 +105,23 @@ $label-line-ifs: (
75
105
  --label--host-align-items: normal;
76
106
  --label--host-justify-items: center;
77
107
 
78
- --label--host-gap: 0.3rem;
79
-
80
108
  --label--iconstack-display: grid;
81
- --label--titlestack-display: grid;
109
+ --label--titlestack-display: inline-block;
82
110
  } @else if $label-style == v-icon-only {
83
111
  --label-style: icon-only;
84
112
 
113
+ --label--host-align-items: normal;
114
+ --label--host-justify-items: center;
115
+
85
116
  --label--iconstack-display: grid;
86
117
  } @else if $label-style == v-title-only {
87
118
  --label-style: title-only;
88
119
 
89
- --label--titlestack-display: grid;
90
- }
91
- }
92
-
93
- // @mixin set-label-truncation-mode($value) {
94
- // @if $value == 'tail' {
95
- // --label--overflow: hidden;
96
-
97
- // --label--text-overflow: ellipsis;
98
- // }
99
- // }
100
-
101
- // @mixin set-label-line-limit($value) {
102
- // @if $value == 1 {
103
- // --label--host-white-space: nowrap;
104
- // } @else {
105
- // --label--host-white-space: normal;
106
- // --label--display: -webkit-box;
107
- // --label--box-orient: vertical;
108
- // --label--line-clamp: #{$value};
109
- // }
110
- // }
120
+ --label--host-align-items: normal;
121
+ --label--host-justify-items: center;
111
122
 
112
- @mixin set-label-font($value) {
113
- --label--titlestack-font-size: var(--label-#{$value}-font-size);
114
- --label--titlestack-line-height: var(--label-#{$value}-line-height);
115
- --label--titlestack-font-weight: var(--label-#{$value}-font-weight);
123
+ --label--titlestack-display: inline-block;
124
+ }
116
125
  }
117
126
 
118
127
  @function if-chain($labels, $prop: null) {
@@ -145,93 +154,81 @@ $label-line-ifs: (
145
154
  @layer #{vars.$components-layer} {
146
155
  label-view {
147
156
  :where(&) {
148
- // transition: --label--style 1ms step-start;
157
+ padding-inline: var(--label-padding-inline);
149
158
 
150
159
  align-items: var(--label--host-align-items,);
151
160
  justify-items: var(--label--host-justify-items,);
152
- // place-items: center;
153
- // place-content: center;
154
161
 
155
- // grid-auto-flow: column;
156
- // grid-auto-columns: minmax(0, 1fr);
157
162
  grid-template-columns: var(--label--host-grid-template-columns,);
158
163
  grid-template-rows: var(--label--host-grid-template-rows,);
159
- // grid-template-areas: 'label-image-stack label-title-stack';
160
164
 
161
- gap: var(--label--host-gap,);
162
- // gap: 0;
165
+ gap: calc(var(--label-gap) * 1rem);
163
166
 
164
- white-space: var(--label--host-white-space,);
167
+ --label-imagestack-fontsize: calc(var(--label-image-size) * 1rem);
165
168
 
166
- &::part(label-image-stack),
167
- &::part(label-title-stack) {
168
- // display: none;
169
+ white-space: var(--label--host-white-space,);
170
+ }
169
171
 
170
- grid-auto-columns: minmax(0, 1fr);
171
- grid-auto-rows: minmax(0, 1fr);
172
- // grid-template-columns: subgrid;
173
- // grid-template-rows: subgrid;
172
+ &:has(> [slot='icon']) {
173
+ :where(&) {
174
+ --label--has-icon: yes;
175
+ // background-color: green;
174
176
  }
177
+ }
175
178
 
176
- &::part(label-image-stack) {
177
- display: var(--label--iconstack-display, none);
179
+ &:has(> :not([slot])) {
180
+ :where(&) {
181
+ --label--has-title: yes;
182
+ // background-color: red;
178
183
  }
184
+ }
179
185
 
180
- &::part(label-title-stack) {
181
- display: var(--label--titlestack-display, none);
182
- }
186
+ > :not([slot]) {
187
+ :where(&) {
188
+ overflow: var(--label--overflow,);
183
189
 
184
- &::part(label-image-stack) {
185
- aspect-ratio: 1 / 1;
190
+ text-overflow: var(--label--text-overflow,);
186
191
 
187
- inline-size: var(--label-image-size, 2rem);
188
- font-size: var(--label-image-size, 2rem);
192
+ // display: var(--label--display,);
189
193
 
190
- // line-height: 1;
194
+ -webkit-box-orient: var(--label--box-orient,);
191
195
 
192
- // grid-area: label-image-stack;
193
- }
196
+ line-clamp: var(--label--line-clamp,);
197
+ -webkit-line-clamp: var(--label--line-clamp,);
194
198
 
195
- &::part(label-title-stack) {
196
- text-decoration: underline;
199
+ // text-decoration: underline;
197
200
 
198
201
  font-size: var(--label--titlestack-font-size,);
202
+
199
203
  line-height: var(--label--titlestack-line-height,);
204
+
200
205
  font-weight: var(--label--titlestack-font-weight,);
201
206
 
202
- // grid-area: label-title-stack;
207
+ display: var(--label--titlestack-display, none);
203
208
  }
204
209
  }
205
210
 
206
- :where(&:has(> [slot='image'])) {
207
- --label--has-icon: yes;
208
- // background-color: green;
209
- }
210
- :where(&:has(> :not([slot]))) {
211
- --label--has-title: yes;
212
- // background-color: red;
213
- }
214
-
215
- :where(& > :not([slot])) {
216
- // grid-area: label-title-stack;
217
- overflow: var(--label--overflow,);
211
+ > [slot='icon'] {
212
+ :where(&) {
213
+ aspect-ratio: 1 / 1;
218
214
 
219
- text-overflow: var(--label--text-overflow,);
215
+ inline-size: var(--label-imagestack-fontsize);
216
+ block-size: var(--label-imagestack-fontsize);
220
217
 
221
- display: var(--label--display,);
218
+ font-size: var(--label-imagestack-fontsize);
222
219
 
223
- -webkit-box-orient: var(--label--box-orient,);
220
+ display: var(--label--iconstack-display, none);
224
221
 
225
- line-clamp: var(--label--line-clamp,);
226
- -webkit-line-clamp: var(--label--line-clamp,);
222
+ --image--fontsize: var(--label-imagestack-fontsize);
223
+ }
227
224
  }
228
225
 
229
226
  // vars
230
227
  @supports (x: #{string.unquote('if(else:red)')}) {
231
228
  :where(&) {
232
- --label--titlestack-font-size: if(#{if-chain(vars.$label-fonts, font-size)});
233
- --label--titlestack-line-height: if(#{if-chain(vars.$label-fonts, line-height)});
234
- --label--titlestack-font-weight: if(#{if-chain(vars.$label-fonts, font-weight)});
229
+ --label--titlestack-font-size: if(#{if-chain(maps.$label-fonts-map, font-size)});
230
+ --label--titlestack-line-height: if(#{if-chain(maps.$label-fonts-map, line-height)});
231
+ --label--titlestack-font-weight: if(#{if-chain(maps.$label-fonts-map, font-weight)});
235
232
  // if(
236
233
  // style(--label-font: callout): 0.5rem ; style(--label-font: large-title): 3rem ; style(--label-font: large-title): 3rem ;
237
234
  // );
@@ -255,77 +252,65 @@ $label-line-ifs: (
255
252
  --label--host-grid-template-columns: if(
256
253
  style(--label-style: icon-only): minmax(0, 1fr) ; style(--label-style: title-only): minmax(0, 1fr) ;
257
254
  style(--label-style: title-and-icon): if(style(--label-flow: vertical): minmax(0, 1fr) ; else: auto minmax(0, 1fr) ;) ;
258
- else: if(
259
- style(--label--has-icon: yes) and style(--label--has-title: yes): if(style(--label-flow: vertical): minmax(0, 1fr) ; else: auto minmax(0, 1fr) ;)
260
- ; else: minmax(0, 1fr) ;
261
- )
262
- ;
255
+ else: if(style(--label--has-icon: yes) and style(--label--has-title: yes): if(style(--label-flow: vertical): minmax(0, 1fr) ; else: auto minmax(0, 1fr) ;) ; else: minmax(0, 1fr) ;) ;
263
256
  );
264
257
  --label--host-grid-template-rows: if(
265
258
  style(--label-style: icon-only): minmax(0, 1fr) ; style(--label-style: title-only): minmax(0, 1fr) ;
266
259
  style(--label-style: title-and-icon): if(style(--label-flow: vertical): auto minmax(0, 1fr) ; else: minmax(0, 1fr) ;) ;
267
- else: if(
268
- style(--label--has-icon: yes) and style(--label--has-title: yes): if(style(--label-flow: vertical): auto minmax(0, 1fr) ; else: minmax(0, 1fr) ;)
269
- ; else: minmax(0, 1fr) ;
270
- )
271
- ;
272
- );
273
-
274
- --label--host-gap: if(
275
- style(--label-style: title-and-icon): 0.3rem ; else: if(style(--label--has-icon: yes) and style(--label--has-title: yes): 0.3rem ;) ;
260
+ else: if(style(--label--has-icon: yes) and style(--label--has-title: yes): if(style(--label-flow: vertical): auto minmax(0, 1fr) ; else: minmax(0, 1fr) ;) ; else: minmax(0, 1fr) ;) ;
276
261
  );
277
262
 
278
263
  --label--iconstack-display: if(
279
- style(--label-style: icon-only): grid ; style(--label-style: title-only): none ; style(--label-style: title-and-icon): grid ;
280
- else: if(style(--label--has-icon: yes): grid ; else: none;) ;
264
+ style(--label-style: icon-only): grid ; style(--label-style: title-only): none ; style(--label-style: title-and-icon): grid ; else: if(style(--label--has-icon: yes): grid ; else: none;) ;
281
265
  );
282
266
 
283
267
  --label--titlestack-display: if(
284
- style(--label-style: icon-only): none ; style(--label-style: title-only): grid ; style(--label-style: title-and-icon): grid ;
285
- else: if(style(--label--has-title: yes): grid ; else: none;) ;
268
+ style(--label-style: icon-only): none ; style(--label-style: title-only): inline-block ; style(--label-style: title-and-icon): inline-block ;
269
+ else: if(style(--label--has-title: yes): inline-block ; else: none;) ;
286
270
  );
271
+ // --label--titlestack-display: if(
272
+ // style(--label-style: icon-only): none ; style(--label-style: title-only): -webkit-box ; style(--label-style: title-and-icon): -webkit-box ;
273
+ // else: if(style(--label--has-title: yes): -webkit-box ; else: none;) ;
274
+ // );
287
275
  }
288
276
  }
289
277
 
290
278
  @supports not (x: #{string.unquote('if(else:red)')}) {
291
279
  :where(&:not([label-style])) {
292
- @each $v in vars.$label-styles {
280
+ @each $v in maps.$label-styles-names {
293
281
  @container style(--label-style: #{$v}) {
294
282
  @include set-label-style(h-#{$v});
295
283
  }
296
284
  }
297
285
  }
298
- @each $v in vars.$label-styles {
286
+ @each $v in maps.$label-styles-names {
299
287
  :where(&[label-style='#{$v}']) {
300
288
  @include set-label-style(h-#{$v});
301
289
  }
302
290
  }
303
291
  @container not style(--label-style) {
304
292
  &:not([label-style]) {
305
- // :where(&[image-hint='yes'][title-hint='yes']) {
306
- :where(&:has(> [slot='image']):has(> :not([slot]))) {
293
+ :where(&:has(> [slot='icon']):has(> :not([slot]))) {
307
294
  @include set-label-style(h-title-and-icon);
308
295
  }
309
- // :where(&[image-hint='yes']:not([title-hint='yes'])) {
310
- :where(&:has(> [slot='image']):not(:has(> :not([slot])))) {
296
+ :where(&:has(> [slot='icon']):not(:has(> :not([slot])))) {
311
297
  @include set-label-style(h-icon-only);
312
298
  }
313
- // :where(&[title-hint='yes']:not([image-hint='yes'])) {
314
- :where(&:has(> :not([slot])):not(:has(> [slot='image']))) {
299
+ :where(&:has(> :not([slot])):not(:has(> [slot='icon']))) {
315
300
  @include set-label-style(h-title-only);
316
301
  }
317
302
  }
318
303
  }
319
304
  // AGAIN
320
305
  :where(&:not([label-style])) {
321
- @each $v in vars.$label-styles {
306
+ @each $v in maps.$label-styles-names {
322
307
  @container style(--label-style: #{$v}) and style(--label-flow: vertical) {
323
308
  @include set-label-style(v-#{$v});
324
309
  }
325
310
  }
326
311
  }
327
312
  @container style(--label-flow: vertical) {
328
- @each $v in vars.$label-styles {
313
+ @each $v in maps.$label-styles-names {
329
314
  :where(&[label-style='#{$v}']) {
330
315
  @include set-label-style(v-#{$v});
331
316
  }
@@ -333,13 +318,13 @@ $label-line-ifs: (
333
318
  }
334
319
  @container (not style(--label-style)) and style(--label-flow: vertical) {
335
320
  &:not([label-style]) {
336
- :where(&:has(> [slot='image']):has(> :not([slot]))) {
321
+ :where(&:has(> [slot='icon']):has(> :not([slot]))) {
337
322
  @include set-label-style(v-title-and-icon);
338
323
  }
339
- :where(&:has(> [slot='image']):not(:has(> :not([slot])))) {
324
+ :where(&:has(> [slot='icon']):not(:has(> :not([slot])))) {
340
325
  @include set-label-style(v-icon-only);
341
326
  }
342
- :where(&:has(> :not([slot])):not(:has(> [slot='image']))) {
327
+ :where(&:has(> :not([slot])):not(:has(> [slot='icon']))) {
343
328
  @include set-label-style(v-title-only);
344
329
  }
345
330
  }
@@ -355,9 +340,9 @@ $label-line-ifs: (
355
340
  @include mixins.write-props(map.get($label-truncation-ifs, tail)); //@include set-label-truncation-mode(tail);
356
341
  }
357
342
  //
358
- @each $label, $size in vars.$label-fonts {
343
+ @each $label, $size in maps.$label-fonts-map {
359
344
  @include if-chain(--label-font, font, $label) {
360
- @include set-label-font($label);
345
+ @include mixins.set-label-font($label);
361
346
  }
362
347
  }
363
348
  }