ogm-viewer 0.3.0 → 0.4.0

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 (197) hide show
  1. package/dist/cjs/{index-CVTUnaNg.js → index-mu9UK_Fb.js} +66 -3
  2. package/dist/cjs/{lerc-TQEssgMv.js → lerc-CT61sKYw.js} +7 -7
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/{ogm-image.ogm-map.ogm-menubar.ogm-metadata.ogm-settings.ogm-sidebar.ogm-viewer-ifPxRNEo.js → ogm-attributes.ogm-image.ogm-map.ogm-menubar.ogm-metadata.ogm-previews.ogm-settings.ogm-sidebar.ogm-viewer-DKxSOrMP.js} +13640 -7139
  5. package/dist/cjs/ogm-attributes_9.cjs.entry.js +16 -0
  6. package/dist/cjs/ogm-viewer.cjs.js +2 -2
  7. package/dist/collection/assets/webawesome/styles/color/palettes/base.css +44 -0
  8. package/dist/collection/assets/webawesome/styles/color/palettes/bright.css +145 -0
  9. package/dist/collection/assets/webawesome/styles/color/palettes/default.css +146 -0
  10. package/dist/collection/assets/webawesome/styles/color/palettes/shoelace.css +146 -0
  11. package/dist/collection/assets/webawesome/styles/color/variants/brand.css +162 -0
  12. package/dist/collection/assets/webawesome/styles/color/variants/danger.css +162 -0
  13. package/dist/collection/assets/webawesome/styles/color/variants/neutral.css +162 -0
  14. package/dist/collection/assets/webawesome/styles/color/variants/success.css +162 -0
  15. package/dist/collection/assets/webawesome/styles/color/variants/warning.css +162 -0
  16. package/dist/collection/assets/webawesome/styles/color/variants.css +5 -0
  17. package/dist/collection/assets/webawesome/styles/component/form-control.styles.d.ts +2 -0
  18. package/dist/collection/assets/webawesome/styles/component/form-control.styles.ts +43 -0
  19. package/dist/collection/assets/webawesome/styles/component/host.styles.d.ts +2 -0
  20. package/dist/collection/assets/webawesome/styles/component/host.styles.ts +18 -0
  21. package/dist/collection/assets/webawesome/styles/component/segmented-field.styles.d.ts +19 -0
  22. package/dist/collection/assets/webawesome/styles/component/segmented-field.styles.ts +92 -0
  23. package/dist/collection/assets/webawesome/styles/component/size.styles.d.ts +2 -0
  24. package/dist/collection/assets/webawesome/styles/component/size.styles.ts +26 -0
  25. package/dist/collection/assets/webawesome/styles/component/variants.styles.d.ts +2 -0
  26. package/dist/collection/assets/webawesome/styles/component/variants.styles.ts +69 -0
  27. package/dist/collection/assets/webawesome/styles/component/visually-hidden.styles.d.ts +2 -0
  28. package/dist/collection/assets/webawesome/styles/component/visually-hidden.styles.ts +19 -0
  29. package/dist/collection/assets/webawesome/styles/layers.css +21 -0
  30. package/dist/collection/assets/webawesome/styles/native.css +1439 -0
  31. package/dist/collection/assets/webawesome/styles/themes/awesome.css +614 -0
  32. package/dist/collection/assets/webawesome/styles/themes/default.css +373 -0
  33. package/dist/collection/assets/webawesome/styles/themes/shoelace.css +648 -0
  34. package/dist/collection/assets/webawesome/styles/utilities/align-items.css +44 -0
  35. package/dist/collection/assets/webawesome/styles/utilities/border-radius.css +20 -0
  36. package/dist/collection/assets/webawesome/styles/utilities/flex-wrap.css +16 -0
  37. package/dist/collection/assets/webawesome/styles/utilities/fouce.css +17 -0
  38. package/dist/collection/assets/webawesome/styles/utilities/gap.css +56 -0
  39. package/dist/collection/assets/webawesome/styles/utilities/justify-content.css +32 -0
  40. package/dist/collection/assets/webawesome/styles/utilities/layout.css +159 -0
  41. package/dist/collection/assets/webawesome/styles/utilities/placeholder.css +9 -0
  42. package/dist/collection/assets/webawesome/styles/utilities/prose.css +161 -0
  43. package/dist/collection/assets/webawesome/styles/utilities/scroll-lock.css +20 -0
  44. package/dist/collection/assets/webawesome/styles/utilities/size.css +21 -0
  45. package/dist/collection/assets/webawesome/styles/utilities/text.css +262 -0
  46. package/dist/collection/assets/webawesome/styles/utilities/variants.css +62 -0
  47. package/dist/collection/assets/webawesome/styles/utilities/visually-hidden.css +17 -0
  48. package/dist/collection/assets/webawesome/styles/utilities.css +17 -0
  49. package/dist/collection/assets/webawesome/styles/webawesome.css +11 -0
  50. package/dist/collection/collection-manifest.json +2 -0
  51. package/dist/collection/components/ogm-attributes/ogm-attributes.css +68 -0
  52. package/dist/collection/components/ogm-attributes/ogm-attributes.js +112 -0
  53. package/dist/collection/components/ogm-image/ogm-image.css +1 -1
  54. package/dist/collection/components/ogm-image/ogm-image.js +16 -18
  55. package/dist/collection/components/ogm-map/ogm-map.css +10 -5
  56. package/dist/collection/components/ogm-map/ogm-map.js +170 -86
  57. package/dist/collection/components/ogm-menubar/ogm-menubar.css +16 -14
  58. package/dist/collection/components/ogm-menubar/ogm-menubar.js +3 -5
  59. package/dist/collection/components/ogm-menubar/ogm-menubar.test.js +7 -3
  60. package/dist/collection/components/ogm-metadata/ogm-metadata.css +6 -492
  61. package/dist/collection/components/ogm-metadata/ogm-metadata.js +3 -5
  62. package/dist/collection/components/ogm-metadata/ogm-metadata.test.js +1 -1
  63. package/dist/collection/components/ogm-previews/ogm-previews.css +44 -0
  64. package/dist/collection/components/ogm-previews/ogm-previews.js +172 -0
  65. package/dist/collection/components/ogm-settings/ogm-settings.js +7 -9
  66. package/dist/collection/components/ogm-sidebar/ogm-sidebar.css +50 -503
  67. package/dist/collection/components/ogm-sidebar/ogm-sidebar.js +8 -12
  68. package/dist/collection/components/ogm-viewer/ogm-viewer.css +4 -974
  69. package/dist/collection/components/ogm-viewer/ogm-viewer.js +41 -25
  70. package/dist/collection/lib/previewers/cog-deck.js +14 -9
  71. package/dist/collection/lib/previewers/cog.js +3 -3
  72. package/dist/collection/lib/previewers/geojson.js +3 -2
  73. package/dist/collection/lib/previewers/maplibre.js +9 -15
  74. package/dist/collection/lib/previewers/pmtiles-raster.js +1 -1
  75. package/dist/collection/lib/previewers/pmtiles-vector.js +7 -1
  76. package/dist/collection/lib/previewers/raster.js +1 -1
  77. package/dist/collection/lib/previewers/vector.js +65 -30
  78. package/dist/collection/lib/previewers/wms.js +1 -1
  79. package/dist/collection/lib/record.js +1 -1
  80. package/dist/collection/lib/record.test.js +1 -1
  81. package/dist/collection/lib/references.js +0 -65
  82. package/dist/collection/lib/references.test.js +0 -150
  83. package/dist/collection/lib/sources/cog.js +5 -2
  84. package/dist/collection/lib/sources/geojson.js +7 -1
  85. package/dist/collection/lib/sources/iiif-manifest.js +55 -0
  86. package/dist/collection/lib/sources/iiif-manifest.test.js +110 -0
  87. package/dist/collection/lib/sources/iiif.js +11 -0
  88. package/dist/collection/lib/sources/maplibre.js +8 -0
  89. package/dist/collection/lib/sources/openindexmap.js +3 -0
  90. package/dist/collection/lib/sources/pmtiles.js +10 -4
  91. package/dist/collection/lib/sources/raster.js +3 -3
  92. package/dist/collection/lib/sources/source.js +26 -7
  93. package/dist/collection/lib/sources/tilejson.js +7 -1
  94. package/dist/collection/lib/sources/tms.js +3 -0
  95. package/dist/collection/lib/sources/vector.js +3 -3
  96. package/dist/collection/lib/sources/wms.js +6 -11
  97. package/dist/collection/lib/sources/xyz.js +3 -0
  98. package/dist/collection/lib/themes/maplibre.js +46 -0
  99. package/dist/collection/lib/themes/theme.js +23 -0
  100. package/dist/esm/{index-BdFT_kJa.js → index-DTLAlWKQ.js} +66 -3
  101. package/dist/esm/{lerc-DFDScDrO.js → lerc-Bz409klg.js} +2 -2
  102. package/dist/esm/loader.js +3 -3
  103. package/dist/esm/{ogm-image.ogm-map.ogm-menubar.ogm-metadata.ogm-settings.ogm-sidebar.ogm-viewer-r5w_49n3.js → ogm-attributes.ogm-image.ogm-map.ogm-menubar.ogm-metadata.ogm-previews.ogm-settings.ogm-sidebar.ogm-viewer-C9zV3wMe.js} +13639 -7140
  104. package/dist/esm/ogm-attributes_9.entry.js +2 -0
  105. package/dist/esm/ogm-viewer.js +3 -3
  106. package/dist/ogm-viewer/assets/webawesome/styles/color/palettes/base.css +44 -0
  107. package/dist/ogm-viewer/assets/webawesome/styles/color/palettes/bright.css +145 -0
  108. package/dist/ogm-viewer/assets/webawesome/styles/color/palettes/default.css +146 -0
  109. package/dist/ogm-viewer/assets/webawesome/styles/color/palettes/shoelace.css +146 -0
  110. package/dist/ogm-viewer/assets/webawesome/styles/color/variants/brand.css +162 -0
  111. package/dist/ogm-viewer/assets/webawesome/styles/color/variants/danger.css +162 -0
  112. package/dist/ogm-viewer/assets/webawesome/styles/color/variants/neutral.css +162 -0
  113. package/dist/ogm-viewer/assets/webawesome/styles/color/variants/success.css +162 -0
  114. package/dist/ogm-viewer/assets/webawesome/styles/color/variants/warning.css +162 -0
  115. package/dist/ogm-viewer/assets/webawesome/styles/color/variants.css +5 -0
  116. package/dist/ogm-viewer/assets/webawesome/styles/component/form-control.styles.d.ts +2 -0
  117. package/dist/ogm-viewer/assets/webawesome/styles/component/form-control.styles.ts +43 -0
  118. package/dist/ogm-viewer/assets/webawesome/styles/component/host.styles.d.ts +2 -0
  119. package/dist/ogm-viewer/assets/webawesome/styles/component/host.styles.ts +18 -0
  120. package/dist/ogm-viewer/assets/webawesome/styles/component/segmented-field.styles.d.ts +19 -0
  121. package/dist/ogm-viewer/assets/webawesome/styles/component/segmented-field.styles.ts +92 -0
  122. package/dist/ogm-viewer/assets/webawesome/styles/component/size.styles.d.ts +2 -0
  123. package/dist/ogm-viewer/assets/webawesome/styles/component/size.styles.ts +26 -0
  124. package/dist/ogm-viewer/assets/webawesome/styles/component/variants.styles.d.ts +2 -0
  125. package/dist/ogm-viewer/assets/webawesome/styles/component/variants.styles.ts +69 -0
  126. package/dist/ogm-viewer/assets/webawesome/styles/component/visually-hidden.styles.d.ts +2 -0
  127. package/dist/ogm-viewer/assets/webawesome/styles/component/visually-hidden.styles.ts +19 -0
  128. package/dist/ogm-viewer/assets/webawesome/styles/layers.css +21 -0
  129. package/dist/ogm-viewer/assets/webawesome/styles/native.css +1439 -0
  130. package/dist/ogm-viewer/assets/webawesome/styles/themes/awesome.css +614 -0
  131. package/dist/ogm-viewer/assets/webawesome/styles/themes/default.css +373 -0
  132. package/dist/ogm-viewer/assets/webawesome/styles/themes/shoelace.css +648 -0
  133. package/dist/ogm-viewer/assets/webawesome/styles/utilities/align-items.css +44 -0
  134. package/dist/ogm-viewer/assets/webawesome/styles/utilities/border-radius.css +20 -0
  135. package/dist/ogm-viewer/assets/webawesome/styles/utilities/flex-wrap.css +16 -0
  136. package/dist/ogm-viewer/assets/webawesome/styles/utilities/fouce.css +17 -0
  137. package/dist/ogm-viewer/assets/webawesome/styles/utilities/gap.css +56 -0
  138. package/dist/ogm-viewer/assets/webawesome/styles/utilities/justify-content.css +32 -0
  139. package/dist/ogm-viewer/assets/webawesome/styles/utilities/layout.css +159 -0
  140. package/dist/ogm-viewer/assets/webawesome/styles/utilities/placeholder.css +9 -0
  141. package/dist/ogm-viewer/assets/webawesome/styles/utilities/prose.css +161 -0
  142. package/dist/ogm-viewer/assets/webawesome/styles/utilities/scroll-lock.css +20 -0
  143. package/dist/ogm-viewer/assets/webawesome/styles/utilities/size.css +21 -0
  144. package/dist/ogm-viewer/assets/webawesome/styles/utilities/text.css +262 -0
  145. package/dist/ogm-viewer/assets/webawesome/styles/utilities/variants.css +62 -0
  146. package/dist/ogm-viewer/assets/webawesome/styles/utilities/visually-hidden.css +17 -0
  147. package/dist/ogm-viewer/assets/webawesome/styles/utilities.css +17 -0
  148. package/dist/ogm-viewer/assets/webawesome/styles/webawesome.css +11 -0
  149. package/dist/ogm-viewer/ogm-viewer.esm.js +1 -1
  150. package/dist/ogm-viewer/p-86b8fafc.entry.js +1 -0
  151. package/dist/ogm-viewer/{p-BeA3REDA.js → p-BrovdLv6.js} +1 -1
  152. package/dist/ogm-viewer/p-CpCT3zlD.js +2750 -0
  153. package/dist/ogm-viewer/p-DTLAlWKQ.js +2 -0
  154. package/dist/types/components/ogm-attributes/ogm-attributes.d.ts +10 -0
  155. package/dist/types/components/ogm-image/ogm-image.d.ts +3 -3
  156. package/dist/types/components/ogm-map/ogm-map.d.ts +32 -14
  157. package/dist/types/components/ogm-menubar/ogm-menubar.d.ts +1 -1
  158. package/dist/types/components/ogm-metadata/ogm-metadata.d.ts +1 -1
  159. package/dist/types/components/ogm-previews/ogm-previews.d.ts +16 -0
  160. package/dist/types/components/ogm-settings/ogm-settings.d.ts +2 -2
  161. package/dist/types/components/ogm-sidebar/ogm-sidebar.d.ts +1 -1
  162. package/dist/types/components/ogm-viewer/ogm-viewer.d.ts +10 -12
  163. package/dist/types/components.d.ts +70 -18
  164. package/dist/types/lib/previewers/cog-deck.d.ts +7 -3
  165. package/dist/types/lib/previewers/cog.d.ts +2 -2
  166. package/dist/types/lib/previewers/maplibre.d.ts +7 -9
  167. package/dist/types/lib/previewers/pmtiles-vector.d.ts +1 -0
  168. package/dist/types/lib/previewers/vector.d.ts +3 -15
  169. package/dist/types/lib/record.d.ts +1 -1
  170. package/dist/types/lib/references.d.ts +0 -8
  171. package/dist/types/lib/sources/cog.d.ts +3 -2
  172. package/dist/types/lib/sources/geojson.d.ts +3 -2
  173. package/dist/types/lib/sources/iiif-manifest.d.ts +12 -0
  174. package/dist/types/lib/sources/iiif-manifest.test.d.ts +1 -0
  175. package/dist/types/lib/sources/iiif.d.ts +5 -0
  176. package/dist/types/lib/sources/maplibre.d.ts +7 -0
  177. package/dist/types/lib/sources/openindexmap.d.ts +1 -0
  178. package/dist/types/lib/sources/pmtiles.d.ts +6 -4
  179. package/dist/types/lib/sources/raster.d.ts +3 -3
  180. package/dist/types/lib/sources/source.d.ts +6 -6
  181. package/dist/types/lib/sources/tilejson.d.ts +3 -2
  182. package/dist/types/lib/sources/tms.d.ts +1 -0
  183. package/dist/types/lib/sources/vector.d.ts +4 -5
  184. package/dist/types/lib/sources/wms.d.ts +4 -3
  185. package/dist/types/lib/sources/xyz.d.ts +1 -0
  186. package/dist/types/lib/themes/maplibre.d.ts +27 -0
  187. package/dist/types/lib/themes/theme.d.ts +7 -0
  188. package/package.json +3 -2
  189. package/dist/cjs/ogm-image_7.cjs.entry.js +0 -14
  190. package/dist/collection/lib/previewers/index.js +0 -36
  191. package/dist/collection/lib/sources/index.js +0 -29
  192. package/dist/esm/ogm-image_7.entry.js +0 -2
  193. package/dist/ogm-viewer/p-0b81e024.entry.js +0 -1
  194. package/dist/ogm-viewer/p-33R3d9fV.js +0 -1950
  195. package/dist/ogm-viewer/p-BdFT_kJa.js +0 -2
  196. package/dist/types/lib/previewers/index.d.ts +0 -3
  197. package/dist/types/lib/sources/index.d.ts +0 -3
@@ -0,0 +1,648 @@
1
+ @import url('../layers.css');
2
+ @import url('../color/palettes/shoelace.css'); /* To use this palette, add class="wa-palette-shoelace" to the <html> element */
3
+
4
+ @layer wa-theme {
5
+ .wa-theme-shoelace,
6
+ .wa-theme-shoelace.wa-light,
7
+ .wa-theme-shoelace .wa-light,
8
+ .wa-theme-shoelace.wa-dark .wa-invert,
9
+ .wa-theme-shoelace .wa-dark .wa-invert,
10
+ .wa-light .wa-theme-shoelace,
11
+ .wa-dark .wa-theme-shoelace.wa-invert,
12
+ .wa-dark .wa-theme-shoelace .wa-invert {
13
+ /* #region Colors (Light) ~~~~~~~~~~~~~~~~~~~~~ */
14
+ color-scheme: light;
15
+ color: var(--wa-color-text-normal);
16
+
17
+ --wa-color-surface-raised: white;
18
+ --wa-color-surface-default: white;
19
+ --wa-color-surface-lowered: var(--wa-color-neutral-95);
20
+ --wa-color-surface-border: var(--wa-color-neutral-90);
21
+
22
+ --wa-color-text-normal: var(--wa-color-neutral-10);
23
+ --wa-color-text-quiet: var(--wa-color-neutral-40);
24
+ --wa-color-text-link: var(--wa-color-brand-40);
25
+
26
+ --wa-color-overlay-modal: color-mix(in oklab, var(--wa-color-neutral-05) 50%, transparent);
27
+ --wa-color-overlay-inline: color-mix(in oklab, var(--wa-color-neutral-80) 25%, transparent);
28
+
29
+ --wa-color-shadow: color-mix(
30
+ in oklab,
31
+ var(--wa-color-neutral-05) calc(var(--wa-shadow-blur-scale) * 4% + 8%),
32
+ transparent
33
+ );
34
+
35
+ --wa-color-focus: var(--wa-color-brand-60);
36
+
37
+ --wa-color-mix-hover: oklch(from currentColor calc(l + 0.1) c h) 10%;
38
+ --wa-color-mix-active: oklch(from currentColor calc(l - 0.1) c h) 10%;
39
+
40
+ --wa-color-brand-fill-quiet: var(--wa-color-brand-95);
41
+ --wa-color-brand-fill-normal: var(--wa-color-brand-90);
42
+ --wa-color-brand-fill-loud: var(--wa-color-brand-50);
43
+ --wa-color-brand-border-quiet: var(--wa-color-brand-90);
44
+ --wa-color-brand-border-normal: var(--wa-color-brand-80);
45
+ --wa-color-brand-border-loud: var(--wa-color-brand-60);
46
+ --wa-color-brand-on-quiet: var(--wa-color-brand-50);
47
+ --wa-color-brand-on-normal: var(--wa-color-brand-40);
48
+ --wa-color-brand-on-loud: white;
49
+
50
+ --wa-color-success-fill-quiet: var(--wa-color-success-95);
51
+ --wa-color-success-fill-normal: var(--wa-color-success-90);
52
+ --wa-color-success-fill-loud: var(--wa-color-success-50);
53
+ --wa-color-success-border-quiet: var(--wa-color-success-90);
54
+ --wa-color-success-border-normal: var(--wa-color-success-80);
55
+ --wa-color-success-border-loud: var(--wa-color-success-60);
56
+ --wa-color-success-on-quiet: var(--wa-color-success-50);
57
+ --wa-color-success-on-normal: var(--wa-color-success-40);
58
+ --wa-color-success-on-loud: white;
59
+
60
+ --wa-color-warning-fill-quiet: var(--wa-color-warning-95);
61
+ --wa-color-warning-fill-normal: var(--wa-color-warning-90);
62
+ --wa-color-warning-fill-loud: var(--wa-color-warning-50);
63
+ --wa-color-warning-border-quiet: var(--wa-color-warning-90);
64
+ --wa-color-warning-border-normal: var(--wa-color-warning-80);
65
+ --wa-color-warning-border-loud: var(--wa-color-warning-60);
66
+ --wa-color-warning-on-quiet: var(--wa-color-warning-50);
67
+ --wa-color-warning-on-normal: var(--wa-color-warning-40);
68
+ --wa-color-warning-on-loud: white;
69
+
70
+ --wa-color-danger-fill-quiet: var(--wa-color-danger-95);
71
+ --wa-color-danger-fill-normal: var(--wa-color-danger-90);
72
+ --wa-color-danger-fill-loud: var(--wa-color-danger-50);
73
+ --wa-color-danger-border-quiet: var(--wa-color-danger-90);
74
+ --wa-color-danger-border-normal: var(--wa-color-danger-80);
75
+ --wa-color-danger-border-loud: var(--wa-color-danger-60);
76
+ --wa-color-danger-on-quiet: var(--wa-color-danger-50);
77
+ --wa-color-danger-on-normal: var(--wa-color-danger-40);
78
+ --wa-color-danger-on-loud: white;
79
+
80
+ --wa-color-neutral-fill-quiet: var(--wa-color-neutral-95);
81
+ --wa-color-neutral-fill-normal: var(--wa-color-neutral-90);
82
+ --wa-color-neutral-fill-loud: var(--wa-color-neutral-40);
83
+ --wa-color-neutral-border-quiet: var(--wa-color-neutral-90);
84
+ --wa-color-neutral-border-normal: var(--wa-color-neutral-80);
85
+ --wa-color-neutral-border-loud: var(--wa-color-neutral-50);
86
+ --wa-color-neutral-on-quiet: var(--wa-color-neutral-40);
87
+ --wa-color-neutral-on-normal: var(--wa-color-neutral-30);
88
+ --wa-color-neutral-on-loud: white;
89
+ /* #endregion */
90
+ }
91
+
92
+ .wa-theme-shoelace.wa-dark,
93
+ .wa-theme-shoelace .wa-dark,
94
+ .wa-theme-shoelace.wa-invert,
95
+ .wa-theme-shoelace .wa-invert,
96
+ .wa-dark .wa-theme-shoelace,
97
+ .wa-light .wa-theme-shoelace.wa-invert,
98
+ .wa-light .wa-theme-shoelace .wa-invert {
99
+ /* #region Colors (Dark) ~~~~~~~~~~~~~~~~~~~~~~ */
100
+ color-scheme: dark;
101
+ color: var(--wa-color-text-normal);
102
+
103
+ --wa-color-surface-raised: var(--wa-color-neutral-10);
104
+ --wa-color-surface-default: var(--wa-color-neutral-05);
105
+ --wa-color-surface-lowered: color-mix(in oklab, var(--wa-color-surface-default), black 20%);
106
+ --wa-color-surface-border: var(--wa-color-neutral-20);
107
+
108
+ --wa-color-text-normal: var(--wa-color-neutral-95);
109
+ --wa-color-text-quiet: var(--wa-color-neutral-60);
110
+ --wa-color-text-link: var(--wa-color-brand-70);
111
+
112
+ --wa-color-overlay-modal: color-mix(in oklab, black 60%, transparent);
113
+ --wa-color-overlay-inline: color-mix(in oklab, var(--wa-color-neutral-50) 10%, transparent);
114
+
115
+ --wa-color-shadow: color-mix(
116
+ in oklab,
117
+ var(--wa-color-surface-lowered) calc(var(--wa-shadow-blur-scale) * 32% + 40%),
118
+ transparent
119
+ );
120
+
121
+ --wa-color-focus: var(--wa-color-brand-60);
122
+
123
+ --wa-color-mix-hover: oklch(from currentColor calc(l - 0.1) c h) 15%;
124
+ --wa-color-mix-active: oklch(from currentColor calc(l + 0.1) c h) 15%;
125
+
126
+ --wa-color-brand-fill-quiet: var(--wa-color-brand-20);
127
+ --wa-color-brand-fill-normal: var(--wa-color-brand-30);
128
+ --wa-color-brand-fill-loud: var(--wa-color-brand-70);
129
+ --wa-color-brand-border-quiet: var(--wa-color-brand-30);
130
+ --wa-color-brand-border-normal: var(--wa-color-brand-40);
131
+ --wa-color-brand-border-loud: var(--wa-color-brand-50);
132
+ --wa-color-brand-on-quiet: var(--wa-color-brand-70);
133
+ --wa-color-brand-on-normal: var(--wa-color-brand-80);
134
+ --wa-color-brand-on-loud: var(--wa-color-neutral-10);
135
+
136
+ --wa-color-success-fill-quiet: var(--wa-color-success-20);
137
+ --wa-color-success-fill-normal: var(--wa-color-success-30);
138
+ --wa-color-success-fill-loud: var(--wa-color-success-70);
139
+ --wa-color-success-border-quiet: var(--wa-color-success-30);
140
+ --wa-color-success-border-normal: var(--wa-color-success-40);
141
+ --wa-color-success-border-loud: var(--wa-color-success-50);
142
+ --wa-color-success-on-quiet: var(--wa-color-success-70);
143
+ --wa-color-success-on-normal: var(--wa-color-success-80);
144
+ --wa-color-success-on-loud: var(--wa-color-neutral-10);
145
+
146
+ --wa-color-warning-fill-quiet: var(--wa-color-warning-20);
147
+ --wa-color-warning-fill-normal: var(--wa-color-warning-30);
148
+ --wa-color-warning-fill-loud: var(--wa-color-warning-70);
149
+ --wa-color-warning-border-quiet: var(--wa-color-warning-30);
150
+ --wa-color-warning-border-normal: var(--wa-color-warning-40);
151
+ --wa-color-warning-border-loud: var(--wa-color-warning-50);
152
+ --wa-color-warning-on-quiet: var(--wa-color-warning-70);
153
+ --wa-color-warning-on-normal: var(--wa-color-warning-80);
154
+ --wa-color-warning-on-loud: var(--wa-color-neutral-10);
155
+
156
+ --wa-color-danger-fill-quiet: var(--wa-color-danger-20);
157
+ --wa-color-danger-fill-normal: var(--wa-color-danger-30);
158
+ --wa-color-danger-fill-loud: var(--wa-color-danger-60);
159
+ --wa-color-danger-border-quiet: var(--wa-color-danger-30);
160
+ --wa-color-danger-border-normal: var(--wa-color-danger-40);
161
+ --wa-color-danger-border-loud: var(--wa-color-danger-50);
162
+ --wa-color-danger-on-quiet: var(--wa-color-danger-70);
163
+ --wa-color-danger-on-normal: var(--wa-color-danger-80);
164
+ --wa-color-danger-on-loud: var(--wa-color-neutral-10);
165
+
166
+ --wa-color-neutral-fill-quiet: var(--wa-color-neutral-10);
167
+ --wa-color-neutral-fill-normal: var(--wa-color-neutral-20);
168
+ --wa-color-neutral-fill-loud: var(--wa-color-neutral-60);
169
+ --wa-color-neutral-border-quiet: var(--wa-color-neutral-20);
170
+ --wa-color-neutral-border-normal: var(--wa-color-neutral-30);
171
+ --wa-color-neutral-border-loud: var(--wa-color-neutral-50);
172
+ --wa-color-neutral-on-quiet: var(--wa-color-neutral-60);
173
+ --wa-color-neutral-on-normal: var(--wa-color-neutral-70);
174
+ --wa-color-neutral-on-loud: var(--wa-color-neutral-05);
175
+ /* #endregion */
176
+ }
177
+
178
+ .wa-theme-shoelace,
179
+ .wa-theme-shoelace.wa-light,
180
+ .wa-theme-shoelace .wa-light,
181
+ .wa-theme-shoelace.wa-dark,
182
+ .wa-theme-shoelace .wa-dark,
183
+ .wa-theme-shoelace.wa-invert,
184
+ .wa-theme-shoelace .wa-invert {
185
+ font-family: var(--wa-font-family-body);
186
+
187
+ /* #region Fonts ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
188
+ --wa-font-family-body: ui-sans-serif, system-ui, sans-serif;
189
+ --wa-font-family-heading: var(--wa-font-family-body);
190
+ --wa-font-family-code: ui-monospace, monospace;
191
+ --wa-font-family-longform: ui-serif, serif;
192
+
193
+ /* Font sizes use a ratio of 1.125 to scale sizes proportionally.
194
+ * For larger font sizes, each size is twice 1.125x larger to maximize impact.
195
+ * Each value uses `rem` units and is rounded to the nearest whole pixel when rendered. */
196
+ --wa-font-size-scale: 1;
197
+ --wa-font-size-3xs: round(calc(var(--wa-font-size-2xs) / 1.125), 1px); /* 10px */
198
+ --wa-font-size-2xs: round(calc(var(--wa-font-size-xs) / 1.125), 1px); /* 11px */
199
+ --wa-font-size-xs: round(calc(var(--wa-font-size-s) / 1.125), 1px); /* 12px */
200
+ --wa-font-size-s: round(calc(var(--wa-font-size-m) / 1.125), 1px); /* 14px */
201
+ --wa-font-size-m: calc(1rem * var(--wa-font-size-scale)); /* 16px */
202
+ --wa-font-size-l: round(calc(var(--wa-font-size-m) * 1.125 * 1.125), 1px); /* 20px */
203
+ --wa-font-size-xl: round(calc(var(--wa-font-size-l) * 1.125 * 1.125), 1px); /* 25px */
204
+ --wa-font-size-2xl: round(calc(var(--wa-font-size-xl) * 1.125 * 1.125), 1px); /* 32px */
205
+ --wa-font-size-3xl: round(calc(var(--wa-font-size-2xl) * 1.125 * 1.125), 1px); /* 41px */
206
+ --wa-font-size-4xl: round(calc(var(--wa-font-size-3xl) * 1.125 * 1.125), 1px); /* 52px */
207
+ --wa-font-size-5xl: round(calc(var(--wa-font-size-4xl) * 1.125 * 1.125), 1px); /* 66px */
208
+
209
+ --wa-font-size-smaller: round(calc(1em / 1.125), 1px);
210
+ --wa-font-size-larger: round(calc(1em * 1.125 * 1.125), 1px);
211
+
212
+ --wa-font-weight-light: 300;
213
+ --wa-font-weight-normal: 400;
214
+ --wa-font-weight-semibold: 500;
215
+ --wa-font-weight-bold: 600;
216
+
217
+ --wa-font-weight-body: var(--wa-font-weight-normal);
218
+ --wa-font-weight-heading: var(--wa-font-weight-bold);
219
+ --wa-font-weight-code: var(--wa-font-weight-normal);
220
+ --wa-font-weight-longform: var(--wa-font-weight-normal);
221
+ --wa-font-weight-action: var(--wa-font-weight-semibold);
222
+
223
+ --wa-line-height-condensed: 1.2;
224
+ --wa-line-height-normal: 1.6;
225
+ --wa-line-height-expanded: 2;
226
+
227
+ --wa-link-decoration-default: underline;
228
+ --wa-link-decoration-hover: underline;
229
+ /* #endregion */
230
+
231
+ /* #region Space ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
232
+ --wa-space-scale: 1;
233
+ --wa-space-3xs: calc(var(--wa-space-scale) * 0.125rem); /* 2px */
234
+ --wa-space-2xs: calc(var(--wa-space-scale) * 0.25rem); /* 4px */
235
+ --wa-space-xs: calc(var(--wa-space-scale) * 0.5rem); /* 8px */
236
+ --wa-space-s: calc(var(--wa-space-scale) * 0.75rem); /* 12px */
237
+ --wa-space-m: calc(var(--wa-space-scale) * 1rem); /* 16px */
238
+ --wa-space-l: calc(var(--wa-space-scale) * 1.5rem); /* 24px */
239
+ --wa-space-xl: calc(var(--wa-space-scale) * 2rem); /* 32px */
240
+ --wa-space-2xl: calc(var(--wa-space-scale) * 2.5rem); /* 40px */
241
+ --wa-space-3xl: calc(var(--wa-space-scale) * 3rem); /* 48px */
242
+ --wa-space-4xl: calc(var(--wa-space-scale) * 4rem); /* 64px */
243
+ --wa-space-5xl: calc(var(--wa-space-scale) * 5rem); /* 80px */
244
+
245
+ --wa-content-spacing: var(--wa-space-l);
246
+ /* #endregion */
247
+
248
+ /* #region Borders ~~~~~~~~~~~~~~~~~~~~~~~~~~ */
249
+ --wa-border-style: solid;
250
+
251
+ --wa-border-width-scale: 1;
252
+ --wa-border-width-s: calc(var(--wa-border-width-scale) * 0.0625rem);
253
+ --wa-border-width-m: calc(var(--wa-border-width-scale) * 0.125rem);
254
+ --wa-border-width-l: calc(var(--wa-border-width-scale) * 0.1875rem);
255
+ /* #endregion */
256
+
257
+ /* #region Rounding ~~~~~~~~~~~~~~~~~~~~~~~~~ */
258
+ --wa-border-radius-scale: 0.7;
259
+ --wa-border-radius-s: calc(var(--wa-border-radius-scale) * 0.1875rem);
260
+ --wa-border-radius-m: calc(var(--wa-border-radius-scale) * 0.375rem);
261
+ --wa-border-radius-l: calc(var(--wa-border-radius-scale) * 0.75rem);
262
+
263
+ --wa-border-radius-pill: 9999px;
264
+ --wa-border-radius-circle: 50%;
265
+ --wa-border-radius-square: 0px;
266
+ /* #endregion */
267
+
268
+ /* #region Focus ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
269
+ --wa-focus-ring-style: solid;
270
+ --wa-focus-ring-width: 0.1875rem; /* 3px */
271
+ --wa-focus-ring: var(--wa-focus-ring-style) var(--wa-focus-ring-width) var(--wa-color-focus);
272
+ --wa-focus-ring-offset: 0.0625rem; /* 1px */
273
+ /* #endregion */
274
+
275
+ /* #region Shadows ~~~~~~~~~~~~~~~~~~~~~~~~~~ */
276
+ --wa-shadow-offset-x-scale: 0;
277
+ --wa-shadow-offset-x-s: calc(var(--wa-shadow-offset-x-scale) * 0.125rem);
278
+ --wa-shadow-offset-x-m: calc(var(--wa-shadow-offset-x-scale) * 0.25rem);
279
+ --wa-shadow-offset-x-l: calc(var(--wa-shadow-offset-x-scale) * 0.5rem);
280
+
281
+ --wa-shadow-offset-y-scale: 0.0625;
282
+ --wa-shadow-offset-y-s: calc(var(--wa-shadow-offset-y-scale) * 0.125rem);
283
+ --wa-shadow-offset-y-m: calc(var(--wa-shadow-offset-y-scale) * 0.25rem);
284
+ --wa-shadow-offset-y-l: calc(var(--wa-shadow-offset-y-scale) * 0.5rem);
285
+
286
+ --wa-shadow-blur-scale: 1;
287
+ --wa-shadow-blur-s: calc(var(--wa-shadow-blur-scale) * 0.125rem);
288
+ --wa-shadow-blur-m: calc(var(--wa-shadow-blur-scale) * 0.25rem);
289
+ --wa-shadow-blur-l: calc(var(--wa-shadow-blur-scale) * 0.5rem);
290
+
291
+ --wa-shadow-spread-scale: 0;
292
+ --wa-shadow-spread-s: calc(var(--wa-shadow-spread-scale) * 0.125rem);
293
+ --wa-shadow-spread-m: calc(var(--wa-shadow-spread-scale) * 0.25rem);
294
+ --wa-shadow-spread-l: calc(var(--wa-shadow-spread-scale) * 0.5rem);
295
+
296
+ --wa-shadow-s: var(--wa-shadow-offset-x-s) var(--wa-shadow-offset-y-s) var(--wa-shadow-blur-s)
297
+ var(--wa-shadow-spread-s) var(--wa-color-shadow);
298
+ --wa-shadow-m: var(--wa-shadow-offset-x-m) var(--wa-shadow-offset-y-m) var(--wa-shadow-blur-m)
299
+ var(--wa-shadow-spread-m) var(--wa-color-shadow);
300
+ --wa-shadow-l: var(--wa-shadow-offset-x-l) var(--wa-shadow-offset-y-l) var(--wa-shadow-blur-l)
301
+ var(--wa-shadow-spread-l) var(--wa-color-shadow);
302
+ /* #endregion */
303
+
304
+ /* #region Transitions ~~~~~~~~~~~~~~~~~~~~~~ */
305
+ --wa-transition-easing: ease;
306
+ --wa-transition-slow: 250ms;
307
+ --wa-transition-normal: 150ms;
308
+ --wa-transition-fast: 50ms;
309
+ /* #endregion */
310
+
311
+ /* #region Components ~~~~~~~~~~~~~~~~~~~~~~~ */
312
+ /* Form Controls */
313
+ --wa-form-control-background-color: var(--wa-color-surface-default);
314
+
315
+ --wa-form-control-border-color: var(--wa-color-neutral-border-normal);
316
+ --wa-form-control-border-style: var(--wa-border-style);
317
+ --wa-form-control-border-width: var(--wa-border-width-s);
318
+ --wa-form-control-border-radius: var(--wa-border-radius-m);
319
+
320
+ --wa-form-control-activated-color: var(--wa-color-brand-fill-loud);
321
+
322
+ --wa-form-control-label-color: var(--wa-color-text-normal);
323
+ --wa-form-control-label-font-weight: var(--wa-font-weight-semibold);
324
+ --wa-form-control-label-line-height: var(--wa-line-height-condensed);
325
+
326
+ --wa-form-control-value-color: var(--wa-color-text-normal);
327
+ --wa-form-control-value-font-weight: var(--wa-font-weight-body);
328
+ --wa-form-control-value-line-height: var(--wa-line-height-condensed);
329
+
330
+ --wa-form-control-hint-color: var(--wa-color-text-quiet);
331
+ --wa-form-control-hint-font-weight: var(--wa-font-weight-body);
332
+ --wa-form-control-hint-line-height: var(--wa-line-height-normal);
333
+
334
+ --wa-form-control-placeholder-color: var(--wa-color-gray-50);
335
+
336
+ --wa-form-control-required-content: '*';
337
+ --wa-form-control-required-content-color: inherit;
338
+ --wa-form-control-required-content-offset: 0.1em;
339
+
340
+ --wa-form-control-padding-block: 0.75em;
341
+ --wa-form-control-padding-inline: 1em;
342
+ --wa-form-control-height: round(
343
+ calc(2 * var(--wa-form-control-padding-block) + 1em * var(--wa-form-control-value-line-height)),
344
+ 1px
345
+ );
346
+ --wa-form-control-toggle-size: round(1.25em, 1px);
347
+
348
+ /* Buttons */
349
+ --wa-button-transform-hover: none;
350
+ --wa-button-transform-active: none;
351
+
352
+ /* Panels */
353
+ --wa-panel-border-style: var(--wa-border-style);
354
+ --wa-panel-border-width: var(--wa-border-width-s);
355
+ --wa-panel-border-radius: var(--wa-border-radius-m);
356
+
357
+ /* Tooltips */
358
+ --wa-tooltip-arrow-size: 0.375rem;
359
+
360
+ --wa-tooltip-background-color: var(--wa-color-text-normal);
361
+
362
+ --wa-tooltip-border-color: var(--wa-tooltip-background-color);
363
+ --wa-tooltip-border-style: var(--wa-border-style);
364
+ --wa-tooltip-border-width: var(--wa-border-width-s);
365
+ --wa-tooltip-border-radius: var(--wa-border-radius-s);
366
+
367
+ --wa-tooltip-content-color: var(--wa-color-surface-default);
368
+ --wa-tooltip-font-size: var(--wa-font-size-s);
369
+ --wa-tooltip-line-height: var(--wa-line-height-normal);
370
+ /* #endregion */
371
+ }
372
+ }
373
+
374
+ @layer wa-theme-overrides {
375
+ .wa-theme-shoelace {
376
+ wa-avatar {
377
+ background-color: var(--wa-color-neutral-fill-loud);
378
+ color: var(--wa-color-neutral-on-loud);
379
+ }
380
+
381
+ /* Give button labels a font-size one step smaller
382
+ * than their size class or attribute */
383
+ wa-button {
384
+ &::part(label) {
385
+ font-size: var(--wa-font-size-s);
386
+ }
387
+
388
+ &[size='xs']::part(label),
389
+ &.wa-size-xs::part(label) {
390
+ font-size: var(--wa-font-size-2xs);
391
+ }
392
+
393
+ &[size='s']::part(label),
394
+ &[size='small']::part(label) /* deprecated */,
395
+ &.wa-size-s::part(label) {
396
+ font-size: var(--wa-font-size-xs);
397
+ }
398
+
399
+ &[size='l']::part(label),
400
+ &[size='large']::part(label) /* deprecated */,
401
+ &.wa-size-l::part(label) {
402
+ font-size: var(--wa-font-size-m);
403
+ }
404
+
405
+ &[size='xl']::part(label),
406
+ &.wa-size-xl::part(label) {
407
+ font-size: var(--wa-font-size-l);
408
+ }
409
+ }
410
+
411
+ /* Because we can't set the font-size of just the label text
412
+ * and button padding and height are em-based,
413
+ * store the intended size in a private property for use in calculations */
414
+ button,
415
+ input:is([type='button'], [type='reset'], [type='submit']),
416
+ a.wa-button {
417
+ --_size: var(--wa-font-size-m);
418
+ font-size: var(--wa-font-size-s);
419
+
420
+ &[size='xs'],
421
+ &.wa-size-xs {
422
+ --_size: var(--wa-font-size-xs);
423
+ font-size: var(--wa-font-size-2xs);
424
+ }
425
+
426
+ &[size='s'],
427
+ &[size='small'] /* deprecated */,
428
+ &.wa-size-s {
429
+ --_size: var(--wa-font-size-s);
430
+ font-size: var(--wa-font-size-xs);
431
+ }
432
+
433
+ &[size='l'],
434
+ &[size='large'] /* deprecated */,
435
+ &.wa-size-l {
436
+ --_size: var(--wa-font-size-l);
437
+ font-size: var(--wa-font-size-m);
438
+ }
439
+
440
+ &[size='xl'],
441
+ &.wa-size-xl {
442
+ --_size: var(--wa-font-size-xl);
443
+ font-size: var(--wa-font-size-l);
444
+ }
445
+
446
+ /* Override em-based properties to use the intended size
447
+ * so that height and padding match inputs at the same size,
448
+ * even though the button's font-size is one step smaller */
449
+ --wa-form-control-padding-block: calc(0.75 * var(--_size));
450
+ --wa-form-control-padding-inline: var(--_size);
451
+ --wa-form-control-height: round(
452
+ calc(2 * var(--wa-form-control-padding-block) + var(--_size) * var(--wa-form-control-value-line-height)),
453
+ 1px
454
+ );
455
+ }
456
+
457
+ wa-radio[appearance='button'] {
458
+ font-weight: var(--wa-font-weight-action);
459
+
460
+ &::part(label) {
461
+ font-size: var(--wa-font-size-s);
462
+ }
463
+
464
+ &[size='xs']::part(label),
465
+ &.wa-size-xs::part(label) {
466
+ font-size: var(--wa-font-size-2xs);
467
+ }
468
+
469
+ &[size='s']::part(label),
470
+ &[size='small']::part(label) /* deprecated */,
471
+ &.wa-size-s::part(label) {
472
+ font-size: var(--wa-font-size-xs);
473
+ }
474
+
475
+ &[size='l']::part(label),
476
+ &[size='large']::part(label) /* deprecated */,
477
+ &.wa-size-l::part(label) {
478
+ font-size: var(--wa-font-size-m);
479
+ }
480
+
481
+ &[size='xl']::part(label),
482
+ &.wa-size-xl::part(label) {
483
+ font-size: var(--wa-font-size-l);
484
+ }
485
+
486
+ &:state(checked) {
487
+ background-color: var(--wa-form-control-activated-color);
488
+ color: var(--wa-color-brand-on-loud);
489
+ }
490
+ }
491
+
492
+ /* Propagate the font-size of wa-radio-group to its children */
493
+ wa-radio-group {
494
+ &:is([size='xs'], .wa-size-xs) wa-radio[appearance='button']::part(label) {
495
+ font-size: var(--wa-font-size-2xs);
496
+ }
497
+ &:is([size='s'], [size='small'] /* deprecated */, .wa-size-s) wa-radio[appearance='button']::part(label) {
498
+ font-size: var(--wa-font-size-xs);
499
+ }
500
+ &:is([size='m'], [size='medium'] /* deprecated */, .wa-size-m) wa-radio[appearance='button']::part(label) {
501
+ font-size: var(--wa-font-size-s);
502
+ }
503
+ &:is([size='l'], [size='large'] /* deprecated */, .wa-size-l) wa-radio[appearance='button']::part(label) {
504
+ font-size: var(--wa-font-size-m);
505
+ }
506
+ &:is([size='xl'], .wa-size-xl) wa-radio[appearance='button']::part(label) {
507
+ font-size: var(--wa-font-size-l);
508
+ }
509
+ }
510
+
511
+ wa-breadcrumb {
512
+ font-size: var(--wa-font-size-s);
513
+ }
514
+
515
+ wa-callout {
516
+ padding: var(--wa-space-m);
517
+ font-size: var(--wa-font-size-s);
518
+
519
+ &[size='xs'],
520
+ &.wa-size-xs {
521
+ padding: var(--wa-space-xs);
522
+ font-size: var(--wa-font-size-2xs);
523
+ }
524
+
525
+ &[size='s'],
526
+ &[size='small'] /* deprecated */,
527
+ &.wa-size-s {
528
+ padding: var(--wa-space-s);
529
+ font-size: var(--wa-font-size-xs);
530
+ }
531
+
532
+ &[size='l'],
533
+ &[size='large'] /* deprecated */,
534
+ &.wa-size-l {
535
+ padding: var(--wa-space-l);
536
+ font-size: var(--wa-font-size-m);
537
+ }
538
+
539
+ &[size='xl'],
540
+ &.wa-size-xl {
541
+ padding: var(--wa-space-xl);
542
+ font-size: var(--wa-font-size-l);
543
+ }
544
+
545
+ /* Give outlined callouts a top accent border */
546
+ &[appearance='outlined'] {
547
+ border-color: var(--wa-color-surface-border);
548
+ border-top-color: var(--wa-color-border-loud);
549
+ border-top-width: var(--wa-border-width-l);
550
+ }
551
+ }
552
+
553
+ /* Use unique focus styles for text-based inputs */
554
+ :is(
555
+ wa-input,
556
+ wa-textarea,
557
+ wa-select,
558
+ wa-combobox,
559
+ input:not(
560
+ [type='button'],
561
+ [type='checkbox'],
562
+ [type='color'],
563
+ [type='file'],
564
+ [type='hidden'],
565
+ [type='image'],
566
+ [type='radio'],
567
+ [type='range'],
568
+ [type='reset'],
569
+ [type='submit']
570
+ ),
571
+ textarea,
572
+ select
573
+ ):not([appearance='filled'], .wa-filled) {
574
+ --wa-focus-ring: var(--wa-focus-ring-style) var(--wa-focus-ring-width)
575
+ color-mix(in oklab, var(--wa-color-focus), transparent 50%);
576
+ --wa-focus-ring-offset: 0;
577
+
578
+ &:focus-within {
579
+ &:where(:not(wa-input, wa-textarea, wa-select, wa-combobox)),
580
+ &:where(wa-input)::part(base),
581
+ &:where(wa-textarea)::part(base),
582
+ &:where(wa-select)::part(combobox),
583
+ &:where(wa-combobox)::part(combobox) {
584
+ border-color: var(--wa-color-brand-border-loud);
585
+ }
586
+ }
587
+ }
588
+
589
+ wa-radio,
590
+ input[type='radio'] {
591
+ --checked-icon-color: var(--wa-color-surface-default);
592
+ --checked-icon-scale: 0.4;
593
+
594
+ &:state(checked)::part(control), /* for wa-radio */
595
+ &:checked /* for input[type='radio'] */ {
596
+ background-color: var(--wa-form-control-activated-color);
597
+ }
598
+ }
599
+
600
+ wa-slider::part(thumb) {
601
+ border: none;
602
+ }
603
+
604
+ /* Separate range thumb selectors into their own rules
605
+ * so that Safari can process the ::-webkit- selector
606
+ * before exiting on the ::-moz- selector */
607
+ input[type='range'] {
608
+ &::-webkit-slider-thumb {
609
+ border: none;
610
+ }
611
+
612
+ &::-moz-range-thumb {
613
+ border: none;
614
+ }
615
+ }
616
+
617
+ wa-switch {
618
+ --height: calc(1em * var(--wa-form-control-value-line-height) - var(--wa-form-control-border-width) * 2);
619
+ --thumb-size: calc(var(--height) + 0.25em);
620
+ --width: calc(var(--height) * 2);
621
+
622
+ &::part(control) {
623
+ background-color: var(--wa-color-gray-60);
624
+ border-color: var(--wa-color-gray-60);
625
+ }
626
+
627
+ &::part(thumb) {
628
+ background-color: var(--wa-color-surface-default);
629
+ border: var(--wa-border-width-s) var(--wa-border-style) var(--wa-color-gray-60);
630
+ }
631
+
632
+ &:state(checked) {
633
+ &::part(control) {
634
+ background-color: var(--wa-form-control-activated-color);
635
+ border-color: var(--wa-form-control-activated-color);
636
+ }
637
+
638
+ &::part(thumb) {
639
+ border-color: var(--wa-form-control-activated-color);
640
+ }
641
+ }
642
+ }
643
+
644
+ wa-tab {
645
+ font-size: var(--wa-font-size-s);
646
+ }
647
+ }
648
+ }
@@ -0,0 +1,44 @@
1
+ @layer wa-utilities {
2
+ /* Apply Flexbox with 0 specificity to ensure an align-items util produces a visible change */
3
+ :where(
4
+ .wa-align-items-start,
5
+ .wa-align-items-end,
6
+ .wa-align-items-center,
7
+ .wa-align-items-stretch,
8
+ .wa-align-items-baseline
9
+ ) {
10
+ display: flex;
11
+ }
12
+
13
+ .wa-align-items-start {
14
+ align-items: flex-start;
15
+ }
16
+ .wa-align-items-end {
17
+ align-items: flex-end;
18
+ }
19
+ .wa-align-items-center {
20
+ align-items: center;
21
+ }
22
+ .wa-align-items-stretch {
23
+ align-items: stretch;
24
+ }
25
+ .wa-align-items-baseline {
26
+ align-items: baseline;
27
+ }
28
+
29
+ .wa-align-self-start {
30
+ align-self: flex-start;
31
+ }
32
+ .wa-align-self-end {
33
+ align-self: flex-end;
34
+ }
35
+ .wa-align-self-center {
36
+ align-self: center;
37
+ }
38
+ .wa-align-self-stretch {
39
+ align-self: stretch;
40
+ }
41
+ .wa-align-self-baseline {
42
+ align-self: baseline;
43
+ }
44
+ }