@pg-labs-incubator/cobweb 0.0.0-stage → 0.0.1

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 (320) hide show
  1. package/LICENSE +163 -0
  2. package/README.md +82 -2
  3. package/package.json +111 -3
  4. package/src/action/action.yaml +291 -0
  5. package/src/action/button-group.yaml +56 -0
  6. package/src/action/button.yaml +239 -0
  7. package/src/action/split-button.yaml +87 -0
  8. package/src/color/color.yaml +181 -0
  9. package/src/color/palette.yaml +147 -0
  10. package/src/container/card.yaml +170 -0
  11. package/src/container/corner-radius.yaml +50 -0
  12. package/src/container/elevation.yaml +19 -0
  13. package/src/design.yaml +41 -0
  14. package/src/feedback/feedback.yaml +225 -0
  15. package/src/icon/icon-font.yaml +28 -0
  16. package/src/icon/icon.yaml +31 -0
  17. package/src/input/date-picker.yaml +144 -0
  18. package/src/input/date-range-input.yaml +162 -0
  19. package/src/input/range-slider.yaml +161 -0
  20. package/src/input/select.yaml +230 -0
  21. package/src/input/slider.yaml +172 -0
  22. package/src/input/text-field.yaml +240 -0
  23. package/src/input/time-picker.yaml +220 -0
  24. package/src/motion/motion.yaml +371 -0
  25. package/src/navigation/app-bar.yaml +147 -0
  26. package/src/navigation/navigation.yaml +339 -0
  27. package/src/navigation/scroll.yaml +23 -0
  28. package/src/navigation/search.yaml +112 -0
  29. package/src/navigation/tabs.yaml +144 -0
  30. package/src/navigation/toolbar.yaml +130 -0
  31. package/src/selection/checkbox.yaml +162 -0
  32. package/src/selection/chip.yaml +219 -0
  33. package/src/selection/radio.yaml +125 -0
  34. package/src/selection/segmented-group.yaml +11 -0
  35. package/src/selection/segmented.yaml +69 -0
  36. package/src/selection/switch.yaml +209 -0
  37. package/src/spacing/measurement.yaml +80 -0
  38. package/src/state/state.yaml +38 -0
  39. package/src/surface/surface.yaml +483 -0
  40. package/src/text/line-height.yaml +144 -0
  41. package/src/text/typeface.yaml +31 -0
  42. package/src/text/typescale.yaml +726 -0
  43. package/target/esbuild/action/action.css +1 -0
  44. package/target/esbuild/action/base.jsx +1 -0
  45. package/target/esbuild/action/button.jsx +17 -0
  46. package/target/esbuild/action/fab-menu-context.jsx +1 -0
  47. package/target/esbuild/action/fab-menu.jsx +15 -0
  48. package/target/esbuild/action/fab.jsx +7 -0
  49. package/target/esbuild/action/group.jsx +22 -0
  50. package/target/esbuild/action/icon-button.jsx +5 -0
  51. package/target/esbuild/action/index.jsx +1 -0
  52. package/target/esbuild/action/split-button.jsx +12 -0
  53. package/target/esbuild/color/contrast.jsx +1 -0
  54. package/target/esbuild/color/dynamic.jsx +1 -0
  55. package/target/esbuild/color/hct.jsx +1 -0
  56. package/target/esbuild/color/index.css +1 -0
  57. package/target/esbuild/color/index.jsx +1 -0
  58. package/target/esbuild/color/palette.jsx +1 -0
  59. package/target/esbuild/color/scheme.jsx +1 -0
  60. package/target/esbuild/color/temperature.jsx +1 -0
  61. package/target/esbuild/container/card.css +1 -0
  62. package/target/esbuild/container/card.jsx +1 -0
  63. package/target/esbuild/container/elevation-shadow.css +1 -0
  64. package/target/esbuild/container/elevation-shadow.jsx +1 -0
  65. package/target/esbuild/container/index.jsx +1 -0
  66. package/target/esbuild/dom/client.jsx +1 -0
  67. package/target/esbuild/dom/index.jsx +1 -0
  68. package/target/esbuild/dom/server.jsx +1 -0
  69. package/target/esbuild/dom/types.jsx +1 -0
  70. package/target/esbuild/feedback/badge.jsx +15 -0
  71. package/target/esbuild/feedback/feedback.css +1 -0
  72. package/target/esbuild/feedback/focus.jsx +1 -0
  73. package/target/esbuild/feedback/index.jsx +1 -0
  74. package/target/esbuild/feedback/loading.jsx +7 -0
  75. package/target/esbuild/feedback/observe.jsx +1 -0
  76. package/target/esbuild/feedback/progress.jsx +35 -0
  77. package/target/esbuild/feedback/snackbar.jsx +23 -0
  78. package/target/esbuild/feedback/tooltip.jsx +24 -0
  79. package/target/esbuild/icon/icon.css +1 -0
  80. package/target/esbuild/icon/icon.jsx +1 -0
  81. package/target/esbuild/icon/index.jsx +1 -0
  82. package/target/esbuild/index.css +1 -0
  83. package/target/esbuild/index.jsx +1 -0
  84. package/target/esbuild/input/autocomplete.jsx +5 -0
  85. package/target/esbuild/input/base.jsx +4 -0
  86. package/target/esbuild/input/date-picker.css +1 -0
  87. package/target/esbuild/input/date-picker.jsx +104 -0
  88. package/target/esbuild/input/date-range-input.css +1 -0
  89. package/target/esbuild/input/date-time.jsx +21 -0
  90. package/target/esbuild/input/index.css +1 -0
  91. package/target/esbuild/input/index.jsx +1 -0
  92. package/target/esbuild/input/paired-input.jsx +1 -0
  93. package/target/esbuild/input/picker-dialog.css +1 -0
  94. package/target/esbuild/input/picker-dialog.jsx +14 -0
  95. package/target/esbuild/input/select.css +1 -0
  96. package/target/esbuild/input/select.jsx +63 -0
  97. package/target/esbuild/input/slider.css +1 -0
  98. package/target/esbuild/input/slider.jsx +51 -0
  99. package/target/esbuild/input/text-field.css +1 -0
  100. package/target/esbuild/input/text-field.jsx +67 -0
  101. package/target/esbuild/input/time-picker.css +1 -0
  102. package/target/esbuild/input/time-picker.jsx +29 -0
  103. package/target/esbuild/motion/frame.jsx +1 -0
  104. package/target/esbuild/motion/index.css +1 -0
  105. package/target/esbuild/motion/index.jsx +1 -0
  106. package/target/esbuild/motion/material.jsx +1 -0
  107. package/target/esbuild/motion/motion.jsx +1 -0
  108. package/target/esbuild/motion/spring.jsx +1 -0
  109. package/target/esbuild/motion/transition.css +1 -0
  110. package/target/esbuild/motion/transition.jsx +1 -0
  111. package/target/esbuild/motion/velocity.jsx +1 -0
  112. package/target/esbuild/navigation/app-bar.jsx +51 -0
  113. package/target/esbuild/navigation/base.jsx +1 -0
  114. package/target/esbuild/navigation/drawer.jsx +25 -0
  115. package/target/esbuild/navigation/index.jsx +1 -0
  116. package/target/esbuild/navigation/navigation.css +1 -0
  117. package/target/esbuild/navigation/navigation.jsx +29 -0
  118. package/target/esbuild/navigation/scroll.jsx +1 -0
  119. package/target/esbuild/navigation/search.jsx +29 -0
  120. package/target/esbuild/navigation/tabs.jsx +7 -0
  121. package/target/esbuild/navigation/toolbar.jsx +23 -0
  122. package/target/esbuild/selection/base.jsx +1 -0
  123. package/target/esbuild/selection/checkbox.jsx +14 -0
  124. package/target/esbuild/selection/chip.jsx +23 -0
  125. package/target/esbuild/selection/index.jsx +1 -0
  126. package/target/esbuild/selection/radio.jsx +9 -0
  127. package/target/esbuild/selection/segmented.jsx +15 -0
  128. package/target/esbuild/selection/selection.css +1 -0
  129. package/target/esbuild/selection/switch.jsx +14 -0
  130. package/target/esbuild/shape/corner-rounding.jsx +1 -0
  131. package/target/esbuild/shape/cubic.jsx +1 -0
  132. package/target/esbuild/shape/index.jsx +1 -0
  133. package/target/esbuild/shape/material-shapes.jsx +1 -0
  134. package/target/esbuild/shape/morph.jsx +1 -0
  135. package/target/esbuild/shape/path.jsx +1 -0
  136. package/target/esbuild/shape/point.jsx +1 -0
  137. package/target/esbuild/shape/rounded-polygon.jsx +1 -0
  138. package/target/esbuild/shape/shapes.jsx +1 -0
  139. package/target/esbuild/spacing/index.jsx +1 -0
  140. package/target/esbuild/state/component.css +1 -0
  141. package/target/esbuild/state/component.jsx +1 -0
  142. package/target/esbuild/state/controller.jsx +1 -0
  143. package/target/esbuild/state/index.jsx +1 -0
  144. package/target/esbuild/state/ripple.jsx +1 -0
  145. package/target/esbuild/state/state.jsx +1 -0
  146. package/target/esbuild/state/style.jsx +1 -0
  147. package/target/esbuild/surface/carousel-layout.jsx +1 -0
  148. package/target/esbuild/surface/carousel.css +1 -0
  149. package/target/esbuild/surface/carousel.jsx +10 -0
  150. package/target/esbuild/surface/dialog.jsx +35 -0
  151. package/target/esbuild/surface/divider.jsx +1 -0
  152. package/target/esbuild/surface/drag.jsx +1 -0
  153. package/target/esbuild/surface/gestures.css +1 -0
  154. package/target/esbuild/surface/gestures.jsx +7 -0
  155. package/target/esbuild/surface/index.css +1 -0
  156. package/target/esbuild/surface/index.jsx +1 -0
  157. package/target/esbuild/surface/interactive.jsx +1 -0
  158. package/target/esbuild/surface/list-patterns.jsx +26 -0
  159. package/target/esbuild/surface/list.css +1 -0
  160. package/target/esbuild/surface/list.jsx +9 -0
  161. package/target/esbuild/surface/menu.css +1 -0
  162. package/target/esbuild/surface/menu.jsx +12 -0
  163. package/target/esbuild/surface/scaffold.jsx +47 -0
  164. package/target/esbuild/surface/sheet.jsx +21 -0
  165. package/target/esbuild/surface/side-sheet.jsx +17 -0
  166. package/target/esbuild/surface/slots.jsx +1 -0
  167. package/target/esbuild/surface/surface.css +1 -0
  168. package/target/esbuild/surface/surface.jsx +1 -0
  169. package/target/esbuild/text/index.css +1 -0
  170. package/target/esbuild/text/index.jsx +1 -0
  171. package/target/esbuild/text/text.css +1 -0
  172. package/target/esbuild/text/text.jsx +3 -0
  173. package/target/esbuild/text/typography.css +1 -0
  174. package/target/esbuild/text/typography.jsx +1 -0
  175. package/target/esbuild/util/box-side.jsx +1 -0
  176. package/target/esbuild/util/debug.jsx +1 -0
  177. package/target/esbuild/util/dom.jsx +1 -0
  178. package/target/esbuild/util/event.jsx +1 -0
  179. package/target/esbuild/util/index.jsx +1 -0
  180. package/target/esbuild/util/preconditions.jsx +1 -0
  181. package/target/esbuild/util/reactive.jsx +1 -0
  182. package/target/tsc/action/action.css.d.ts +3 -0
  183. package/target/tsc/action/base.d.ts +211 -0
  184. package/target/tsc/action/button.d.ts +126 -0
  185. package/target/tsc/action/fab-menu-context.d.ts +16 -0
  186. package/target/tsc/action/fab-menu.d.ts +112 -0
  187. package/target/tsc/action/fab.d.ts +98 -0
  188. package/target/tsc/action/group.d.ts +166 -0
  189. package/target/tsc/action/icon-button.d.ts +79 -0
  190. package/target/tsc/action/index.d.ts +24 -0
  191. package/target/tsc/action/split-button.d.ts +78 -0
  192. package/target/tsc/color/contrast.d.ts +48 -0
  193. package/target/tsc/color/dynamic.d.ts +203 -0
  194. package/target/tsc/color/hct.d.ts +114 -0
  195. package/target/tsc/color/index.css.d.ts +3 -0
  196. package/target/tsc/color/index.d.ts +23 -0
  197. package/target/tsc/color/palette.d.ts +30 -0
  198. package/target/tsc/color/scheme.d.ts +446 -0
  199. package/target/tsc/color/temperature.d.ts +24 -0
  200. package/target/tsc/container/card.css.d.ts +3 -0
  201. package/target/tsc/container/card.d.ts +110 -0
  202. package/target/tsc/container/elevation-shadow.css.d.ts +3 -0
  203. package/target/tsc/container/elevation-shadow.d.ts +23 -0
  204. package/target/tsc/container/index.d.ts +44 -0
  205. package/target/tsc/dom/client.d.ts +387 -0
  206. package/target/tsc/dom/index.d.ts +93 -0
  207. package/target/tsc/dom/server.d.ts +65 -0
  208. package/target/tsc/dom/types.d.ts +134 -0
  209. package/target/tsc/feedback/badge.d.ts +116 -0
  210. package/target/tsc/feedback/feedback.css.d.ts +3 -0
  211. package/target/tsc/feedback/focus.d.ts +20 -0
  212. package/target/tsc/feedback/index.d.ts +17 -0
  213. package/target/tsc/feedback/loading.d.ts +194 -0
  214. package/target/tsc/feedback/observe.d.ts +75 -0
  215. package/target/tsc/feedback/progress.d.ts +281 -0
  216. package/target/tsc/feedback/snackbar.d.ts +398 -0
  217. package/target/tsc/feedback/tooltip.d.ts +326 -0
  218. package/target/tsc/icon/icon.css.d.ts +3 -0
  219. package/target/tsc/icon/icon.d.ts +69 -0
  220. package/target/tsc/icon/index.d.ts +13 -0
  221. package/target/tsc/index.css.d.ts +3 -0
  222. package/target/tsc/index.d.ts +7 -0
  223. package/target/tsc/input/autocomplete.d.ts +119 -0
  224. package/target/tsc/input/base.d.ts +282 -0
  225. package/target/tsc/input/date-picker.css.d.ts +3 -0
  226. package/target/tsc/input/date-picker.d.ts +351 -0
  227. package/target/tsc/input/date-range-input.css.d.ts +3 -0
  228. package/target/tsc/input/date-time.d.ts +171 -0
  229. package/target/tsc/input/index.css.d.ts +3 -0
  230. package/target/tsc/input/index.d.ts +27 -0
  231. package/target/tsc/input/paired-input.d.ts +435 -0
  232. package/target/tsc/input/picker-dialog.css.d.ts +3 -0
  233. package/target/tsc/input/picker-dialog.d.ts +84 -0
  234. package/target/tsc/input/select.css.d.ts +3 -0
  235. package/target/tsc/input/select.d.ts +267 -0
  236. package/target/tsc/input/slider.css.d.ts +3 -0
  237. package/target/tsc/input/slider.d.ts +372 -0
  238. package/target/tsc/input/text-field.css.d.ts +3 -0
  239. package/target/tsc/input/text-field.d.ts +415 -0
  240. package/target/tsc/input/time-picker.css.d.ts +3 -0
  241. package/target/tsc/input/time-picker.d.ts +212 -0
  242. package/target/tsc/motion/frame.d.ts +36 -0
  243. package/target/tsc/motion/index.css.d.ts +3 -0
  244. package/target/tsc/motion/index.d.ts +34 -0
  245. package/target/tsc/motion/material.d.ts +110 -0
  246. package/target/tsc/motion/motion.d.ts +235 -0
  247. package/target/tsc/motion/spring.d.ts +223 -0
  248. package/target/tsc/motion/transition.css.d.ts +3 -0
  249. package/target/tsc/motion/transition.d.ts +597 -0
  250. package/target/tsc/motion/velocity.d.ts +54 -0
  251. package/target/tsc/navigation/app-bar.d.ts +473 -0
  252. package/target/tsc/navigation/base.d.ts +320 -0
  253. package/target/tsc/navigation/drawer.d.ts +301 -0
  254. package/target/tsc/navigation/index.d.ts +25 -0
  255. package/target/tsc/navigation/navigation.css.d.ts +3 -0
  256. package/target/tsc/navigation/navigation.d.ts +537 -0
  257. package/target/tsc/navigation/scroll.d.ts +218 -0
  258. package/target/tsc/navigation/search.d.ts +332 -0
  259. package/target/tsc/navigation/tabs.d.ts +497 -0
  260. package/target/tsc/navigation/toolbar.d.ts +248 -0
  261. package/target/tsc/selection/base.d.ts +100 -0
  262. package/target/tsc/selection/checkbox.d.ts +194 -0
  263. package/target/tsc/selection/chip.d.ts +358 -0
  264. package/target/tsc/selection/index.d.ts +21 -0
  265. package/target/tsc/selection/radio.d.ts +198 -0
  266. package/target/tsc/selection/segmented.d.ts +333 -0
  267. package/target/tsc/selection/selection.css.d.ts +3 -0
  268. package/target/tsc/selection/switch.d.ts +165 -0
  269. package/target/tsc/shape/corner-rounding.d.ts +36 -0
  270. package/target/tsc/shape/cubic.d.ts +215 -0
  271. package/target/tsc/shape/index.d.ts +35 -0
  272. package/target/tsc/shape/material-shapes.d.ts +176 -0
  273. package/target/tsc/shape/morph.d.ts +91 -0
  274. package/target/tsc/shape/path.d.ts +177 -0
  275. package/target/tsc/shape/point.d.ts +165 -0
  276. package/target/tsc/shape/rounded-polygon.d.ts +289 -0
  277. package/target/tsc/shape/shapes.d.ts +76 -0
  278. package/target/tsc/spacing/index.d.ts +19 -0
  279. package/target/tsc/state/component.css.d.ts +3 -0
  280. package/target/tsc/state/component.d.ts +276 -0
  281. package/target/tsc/state/controller.d.ts +257 -0
  282. package/target/tsc/state/index.d.ts +19 -0
  283. package/target/tsc/state/ripple.d.ts +50 -0
  284. package/target/tsc/state/state.d.ts +129 -0
  285. package/target/tsc/state/style.d.ts +22 -0
  286. package/target/tsc/surface/carousel-layout.d.ts +212 -0
  287. package/target/tsc/surface/carousel.css.d.ts +3 -0
  288. package/target/tsc/surface/carousel.d.ts +231 -0
  289. package/target/tsc/surface/dialog.d.ts +580 -0
  290. package/target/tsc/surface/divider.d.ts +92 -0
  291. package/target/tsc/surface/drag.d.ts +92 -0
  292. package/target/tsc/surface/gestures.css.d.ts +3 -0
  293. package/target/tsc/surface/gestures.d.ts +292 -0
  294. package/target/tsc/surface/index.css.d.ts +3 -0
  295. package/target/tsc/surface/index.d.ts +29 -0
  296. package/target/tsc/surface/interactive.d.ts +22 -0
  297. package/target/tsc/surface/list-patterns.d.ts +384 -0
  298. package/target/tsc/surface/list.css.d.ts +3 -0
  299. package/target/tsc/surface/list.d.ts +340 -0
  300. package/target/tsc/surface/menu.css.d.ts +3 -0
  301. package/target/tsc/surface/menu.d.ts +590 -0
  302. package/target/tsc/surface/scaffold.d.ts +337 -0
  303. package/target/tsc/surface/sheet.d.ts +384 -0
  304. package/target/tsc/surface/side-sheet.d.ts +183 -0
  305. package/target/tsc/surface/slots.d.ts +21 -0
  306. package/target/tsc/surface/surface.css.d.ts +3 -0
  307. package/target/tsc/surface/surface.d.ts +192 -0
  308. package/target/tsc/text/index.css.d.ts +3 -0
  309. package/target/tsc/text/index.d.ts +18 -0
  310. package/target/tsc/text/text.css.d.ts +3 -0
  311. package/target/tsc/text/text.d.ts +94 -0
  312. package/target/tsc/text/typography.css.d.ts +3 -0
  313. package/target/tsc/text/typography.d.ts +82 -0
  314. package/target/tsc/util/box-side.d.ts +76 -0
  315. package/target/tsc/util/debug.d.ts +20 -0
  316. package/target/tsc/util/dom.d.ts +35 -0
  317. package/target/tsc/util/event.d.ts +93 -0
  318. package/target/tsc/util/index.d.ts +12 -0
  319. package/target/tsc/util/preconditions.d.ts +79 -0
  320. package/target/tsc/util/reactive.d.ts +36 -0
@@ -0,0 +1,56 @@
1
+ # SPDX-License-Identifier: MPL-2.0
2
+ class: component
3
+ attribute: ButtonGroup
4
+ description: >
5
+ Material 3 Expressive button-group geometry. A group sizes its buttons with the matching
6
+ `cw-Button` size theme; these roles define the spacing and the inner corners of connected groups.
7
+ The small values are `ButtonGroupSmallTokens` and `ConnectedButtonGroupSmallTokens`; the other
8
+ sizes follow the Material button-group specification.
9
+ roles:
10
+ spacing:
11
+ description: Space between the actions of a standard group.
12
+ type: length
13
+ value: 12px
14
+ connectedSpacing:
15
+ description: Space between the actions of a connected group.
16
+ type: length
17
+ value: 2px
18
+ innerShape:
19
+ description: Inner corner radius of the actions of a connected group.
20
+ type: length
21
+ value: $cw-CornerRadius-small
22
+ pressedShape:
23
+ description: Inner corner radius of a pressed action of a connected group.
24
+ type: length
25
+ value: $cw-CornerRadius-xsmall
26
+ themes:
27
+ xs:
28
+ description: Extra small group.
29
+ values:
30
+ spacing: 18px
31
+ innerShape: $cw-CornerRadius-xsmall
32
+ pressedShape: $cw-CornerRadius-xsmall
33
+ sm:
34
+ description: Small group.
35
+ values:
36
+ spacing: 12px
37
+ innerShape: $cw-CornerRadius-small
38
+ pressedShape: $cw-CornerRadius-xsmall
39
+ md:
40
+ description: Medium group.
41
+ values:
42
+ spacing: 8px
43
+ innerShape: $cw-CornerRadius-small
44
+ pressedShape: $cw-CornerRadius-xsmall
45
+ lg:
46
+ description: Large group.
47
+ values:
48
+ spacing: 8px
49
+ innerShape: $cw-CornerRadius-large
50
+ pressedShape: $cw-CornerRadius-small
51
+ xl:
52
+ description: Extra large group.
53
+ values:
54
+ spacing: 8px
55
+ innerShape: $cw-CornerRadius-largeIncreased
56
+ pressedShape: $cw-CornerRadius-medium
@@ -0,0 +1,239 @@
1
+ # SPDX-License-Identifier: MPL-2.0
2
+ class: component
3
+ attribute: Button
4
+ description: >
5
+ Material 3 Expressive geometry of common buttons, icon buttons and floating action buttons. The
6
+ `xs` to `xl` themes size common and icon buttons (`Button{XSmall…XLarge}Tokens`,
7
+ `{XSmall…XLarge}IconButtonTokens`); the `fab*` themes size floating action buttons
8
+ (`Fab*Tokens`, `ExtendedFab*Tokens`, `FabMenuBaselineTokens`). Round corners are half the
9
+ container height and are not roles.
10
+ roles:
11
+ containerHeight:
12
+ description: Visual container height.
13
+ type: length
14
+ value: 56px
15
+ squareShape:
16
+ description: >
17
+ Square container corner radius. A square toggle becomes round when selected, and a round
18
+ toggle becomes square.
19
+ type: length
20
+ value: $cw-CornerRadius-large
21
+ pressedShape:
22
+ description: Container corner radius while pressed.
23
+ type: length
24
+ value: $cw-CornerRadius-medium
25
+ iconSize:
26
+ description: Icon size of a common button or floating action button.
27
+ type: length
28
+ value: 24px
29
+ iconLabelSpace:
30
+ description: Space between an icon and the label.
31
+ type: length
32
+ value: 8px
33
+ leadingSpace:
34
+ description: Space before the content.
35
+ type: length
36
+ value: 24px
37
+ trailingSpace:
38
+ description: Space after the content.
39
+ type: length
40
+ value: 24px
41
+ outlineWidth:
42
+ description: Outline width of outlined styles.
43
+ type: length
44
+ value: 1px
45
+ iconButton:
46
+ description: Icon-button roles. The container width is the icon size plus twice a space.
47
+ roles:
48
+ iconSize:
49
+ description: Icon size.
50
+ type: length
51
+ value: 24px
52
+ narrowSpace:
53
+ description: Space on each side of the icon of a narrow icon button.
54
+ type: length
55
+ value: 12px
56
+ defaultSpace:
57
+ description: Space on each side of the icon of a default-width icon button.
58
+ type: length
59
+ value: 16px
60
+ wideSpace:
61
+ description: Space on each side of the icon of a wide icon button.
62
+ type: length
63
+ value: 24px
64
+ fab:
65
+ description: Floating-action-button roles.
66
+ roles:
67
+ containerShape:
68
+ description: Container corner radius.
69
+ type: length
70
+ value: $cw-CornerRadius-large
71
+ closeButton:
72
+ description: >
73
+ Geometry a toggled floating action button morphs into, the close button of a FAB menu
74
+ (`FabMenuBaselineTokens.CloseButton*`). Its corners are fully round.
75
+ roles:
76
+ containerHeight:
77
+ description: Container height and width.
78
+ type: length
79
+ value: 56px
80
+ iconSize:
81
+ description: Icon size.
82
+ type: length
83
+ value: 20px
84
+ fabMenu:
85
+ description: FAB menu layout roles (`FabMenuBaselineTokens`).
86
+ roles:
87
+ itemSpacing:
88
+ description: Space between menu items.
89
+ type: length
90
+ value: 4px
91
+ closeButtonSpacing:
92
+ description: Space between the close button and the nearest menu item.
93
+ type: length
94
+ value: 8px
95
+ themes:
96
+ xs:
97
+ description: >
98
+ Extra small buttons. The leading and trailing spaces and the icon-label space follow Compose
99
+ (`ButtonDefaults.ExtraSmallContentPadding`, `ExtraSmallIconSpacing`), which overrides the
100
+ uncorrected `ButtonXSmallTokens` values.
101
+ values:
102
+ containerHeight: 32px
103
+ squareShape: $cw-CornerRadius-medium
104
+ pressedShape: $cw-CornerRadius-small
105
+ iconSize: 20px
106
+ iconLabelSpace: 4px
107
+ leadingSpace: 12px
108
+ trailingSpace: 12px
109
+ outlineWidth: 1px
110
+ iconButton-iconSize: 20px
111
+ iconButton-narrowSpace: 4px
112
+ iconButton-defaultSpace: 6px
113
+ iconButton-wideSpace: 10px
114
+ sm:
115
+ description: Small buttons (`ButtonSmallTokens`, `SmallIconButtonTokens`).
116
+ values:
117
+ containerHeight: 40px
118
+ squareShape: $cw-CornerRadius-medium
119
+ pressedShape: $cw-CornerRadius-small
120
+ iconSize: 20px
121
+ iconLabelSpace: 8px
122
+ leadingSpace: 16px
123
+ trailingSpace: 16px
124
+ outlineWidth: 1px
125
+ iconButton-iconSize: 24px
126
+ iconButton-narrowSpace: 4px
127
+ iconButton-defaultSpace: 8px
128
+ iconButton-wideSpace: 14px
129
+ md:
130
+ description: Medium buttons (`ButtonMediumTokens`, `MediumIconButtonTokens`).
131
+ values:
132
+ containerHeight: 56px
133
+ squareShape: $cw-CornerRadius-large
134
+ pressedShape: $cw-CornerRadius-medium
135
+ iconSize: 24px
136
+ iconLabelSpace: 8px
137
+ leadingSpace: 24px
138
+ trailingSpace: 24px
139
+ outlineWidth: 1px
140
+ iconButton-iconSize: 24px
141
+ iconButton-narrowSpace: 12px
142
+ iconButton-defaultSpace: 16px
143
+ iconButton-wideSpace: 24px
144
+ lg:
145
+ description: Large buttons (`ButtonLargeTokens`, `LargeIconButtonTokens`).
146
+ values:
147
+ containerHeight: 96px
148
+ squareShape: $cw-CornerRadius-xlarge
149
+ pressedShape: $cw-CornerRadius-large
150
+ iconSize: 32px
151
+ iconLabelSpace: 12px
152
+ leadingSpace: 48px
153
+ trailingSpace: 48px
154
+ outlineWidth: 2px
155
+ iconButton-iconSize: 32px
156
+ iconButton-narrowSpace: 16px
157
+ iconButton-defaultSpace: 32px
158
+ iconButton-wideSpace: 48px
159
+ xl:
160
+ description: Extra large buttons (`ButtonXLargeTokens`, `XLargeIconButtonTokens`).
161
+ values:
162
+ containerHeight: 136px
163
+ squareShape: $cw-CornerRadius-xlarge
164
+ pressedShape: $cw-CornerRadius-large
165
+ iconSize: 40px
166
+ iconLabelSpace: 16px
167
+ leadingSpace: 64px
168
+ trailingSpace: 64px
169
+ outlineWidth: 3px
170
+ iconButton-iconSize: 40px
171
+ iconButton-narrowSpace: 32px
172
+ iconButton-defaultSpace: 48px
173
+ iconButton-wideSpace: 72px
174
+ fab:
175
+ description: >
176
+ Baseline FAB (`FabBaselineTokens`) and extended FAB. Extended spaces follow Compose
177
+ (`ExtendedFabStartIconPadding`, `ExtendedFabEndIconPadding`, `ExtendedFabTextPadding`).
178
+ values:
179
+ containerHeight: 56px
180
+ fab-containerShape: $cw-CornerRadius-large
181
+ iconSize: 24px
182
+ iconLabelSpace: 12px
183
+ leadingSpace: 16px
184
+ trailingSpace: 20px
185
+ fabSmall:
186
+ description: Small FAB (`FabSmallTokens`).
187
+ values:
188
+ containerHeight: 40px
189
+ fab-containerShape: $cw-CornerRadius-medium
190
+ iconSize: 24px
191
+ extendedFabSmall:
192
+ description: Small extended FAB (`ExtendedFabSmallTokens`).
193
+ values:
194
+ containerHeight: 56px
195
+ fab-containerShape: $cw-CornerRadius-large
196
+ iconSize: 24px
197
+ iconLabelSpace: 8px
198
+ leadingSpace: 16px
199
+ trailingSpace: 16px
200
+ fabMedium:
201
+ description: >
202
+ Medium FAB and medium extended FAB (`FabMediumTokens`, `ExtendedFabMediumTokens`). The shape
203
+ and icon-label space follow Compose (`FloatingActionButtonDefaults.mediumShape`,
204
+ `MediumExtendedFabIconPadding`), which override uncorrected tokens.
205
+ values:
206
+ containerHeight: 80px
207
+ fab-containerShape: $cw-CornerRadius-largeIncreased
208
+ iconSize: 28px
209
+ iconLabelSpace: 12px
210
+ leadingSpace: 26px
211
+ trailingSpace: 26px
212
+ fabLarge:
213
+ description: >
214
+ Large FAB (`FabLargeTokens`). The icon size follows Compose
215
+ (`FloatingActionButtonDefaults.LargeIconSize`), which overrides the incorrect token.
216
+ values:
217
+ containerHeight: 96px
218
+ fab-containerShape: $cw-CornerRadius-xlarge
219
+ iconSize: 36px
220
+ extendedFabLarge:
221
+ description: >
222
+ Large extended FAB (`ExtendedFabLargeTokens`). The icon-label space follows Compose
223
+ (`LargeExtendedFabIconPadding`), which overrides the uncorrected token.
224
+ values:
225
+ containerHeight: 96px
226
+ fab-containerShape: $cw-CornerRadius-xlarge
227
+ iconSize: 32px
228
+ iconLabelSpace: 16px
229
+ leadingSpace: 28px
230
+ trailingSpace: 28px
231
+ fabMenuItem:
232
+ description: FAB menu item (`FabMenuBaselineTokens.ListItem*`), a fully round pill.
233
+ values:
234
+ containerHeight: 56px
235
+ fab-containerShape: 28px
236
+ iconSize: 24px
237
+ iconLabelSpace: 8px
238
+ leadingSpace: 24px
239
+ trailingSpace: 24px
@@ -0,0 +1,87 @@
1
+ # SPDX-License-Identifier: MPL-2.0
2
+ class: component
3
+ attribute: SplitButton
4
+ description: >
5
+ Material 3 Expressive split-button geometry (`SplitButton{XSmall…XLarge}Tokens`). A split button
6
+ sizes its actions with the matching `cw-Button` size theme; these roles define the spacing,
7
+ paddings, trailing icon and inner corners. Outer corners are fully round.
8
+ roles:
9
+ spacing:
10
+ description: Space between the leading and trailing actions.
11
+ type: length
12
+ value: 2px
13
+ innerShape:
14
+ description: Inner corner radius.
15
+ type: length
16
+ value: $cw-CornerRadius-xsmall
17
+ interactionShape:
18
+ description: Inner corner radius while hovered or pressed.
19
+ type: length
20
+ value: $cw-CornerRadius-medium
21
+ leadingStartPadding:
22
+ description: Space before the content of the leading action.
23
+ type: length
24
+ value: 16px
25
+ leadingEndPadding:
26
+ description: Space after the content of the leading action.
27
+ type: length
28
+ value: 12px
29
+ trailingPadding:
30
+ description: Space on each side of the icon of the trailing action.
31
+ type: length
32
+ value: 13px
33
+ trailingIconSize:
34
+ description: Icon size of the trailing action.
35
+ type: length
36
+ value: 22px
37
+ themes:
38
+ xs:
39
+ description: Extra small split button.
40
+ values:
41
+ spacing: 2px
42
+ innerShape: $cw-CornerRadius-xsmall
43
+ interactionShape: $cw-CornerRadius-small
44
+ leadingStartPadding: 12px
45
+ leadingEndPadding: 10px
46
+ trailingPadding: 13px
47
+ trailingIconSize: 22px
48
+ sm:
49
+ description: Small split button.
50
+ values:
51
+ spacing: 2px
52
+ innerShape: $cw-CornerRadius-xsmall
53
+ interactionShape: $cw-CornerRadius-medium
54
+ leadingStartPadding: 16px
55
+ leadingEndPadding: 12px
56
+ trailingPadding: 13px
57
+ trailingIconSize: 22px
58
+ md:
59
+ description: Medium split button.
60
+ values:
61
+ spacing: 2px
62
+ innerShape: $cw-CornerRadius-xsmall
63
+ interactionShape: $cw-CornerRadius-medium
64
+ leadingStartPadding: 24px
65
+ leadingEndPadding: 24px
66
+ trailingPadding: 15px
67
+ trailingIconSize: 26px
68
+ lg:
69
+ description: Large split button.
70
+ values:
71
+ spacing: 2px
72
+ innerShape: $cw-CornerRadius-small
73
+ interactionShape: $cw-CornerRadius-largeIncreased
74
+ leadingStartPadding: 48px
75
+ leadingEndPadding: 48px
76
+ trailingPadding: 29px
77
+ trailingIconSize: 38px
78
+ xl:
79
+ description: Extra large split button.
80
+ values:
81
+ spacing: 2px
82
+ innerShape: $cw-CornerRadius-medium
83
+ interactionShape: $cw-CornerRadius-largeIncreased
84
+ leadingStartPadding: 64px
85
+ leadingEndPadding: 64px
86
+ trailingPadding: 43px
87
+ trailingIconSize: 50px
@@ -0,0 +1,181 @@
1
+ # SPDX-License-Identifier: MPL-2.0
2
+ class: system
3
+ attribute: Color
4
+ description: >
5
+ Shared color roles. These roles are used throughout the design to control the color of rendered
6
+ elements. The default values of each role apply the light color scheme, while the dark color
7
+ scheme is implemented through standard theme.
8
+
9
+ The `primary`, `secondary` and `tertiary` role groups define accent colors. Their use is based
10
+ on importance of a UI element:
11
+
12
+ | Role Group | Description |
13
+ | ----------- | ------------------------------------------------------------------------------- |
14
+ | `primary` | Used for elements requiring highest emphasis, such as primary actions. |
15
+ | `secondary` | Used for elements that do not require emphasis, such as secondary actions. |
16
+ | `tertiary` | Used for smaller elements that require special emphasis, such as notifications. |
17
+
18
+ In addition to the accent color role groups, `error` and `surface` role groups define roles for
19
+ erroneous state emphasis and neutral background colors, respectively.
20
+
21
+ Color value roles themselves have the following parts within their name:
22
+
23
+ | Role Part | Description |
24
+ | ----------- | ------------------------------------------------------------------------------- |
25
+ | `fixed` | Role whose color value is fixed irrespective of theme. |
26
+ | `fill` | Used for background areas. |
27
+ | `container` | Used for fill color of a container. |
28
+ | `on` | Used for icon and text color *on top of* succeeding part. For example, `onFoo` would be the color to use for icon and text rendered on top of the `foo` role. |
29
+ | `variant` | Provides a lower emphasis alternative to preceeding part. For example, `fooVariant` is a less emphasis variant of the `foo` role. |
30
+ | `inverse` | Provides a contrasting alternative to succeeding part. For example, `inverseFoo` provides a color contrasting against `foo`. |
31
+ | `dim` | Provides a higher emphasis alternative to the preceeding part. For example, `fooDim` is a higher emphasis variant of the `foo` role. |
32
+
33
+ The `surface` role group additionally defines `lowest`, `low`, `high`, and `highest` suffixed
34
+ roles for lowest, low, high, and highest -emphasis variants of the preceeding part.
35
+
36
+ The root stylesheet applies the light or dark scheme according to the preferred color scheme,
37
+ while the `cw-theme-light` and `cw-theme-dark` classes apply either scheme to a subtree. The
38
+ `dark` theme also lists the `fixed` roles, `scrim`, and `shadow`, with values equal to their
39
+ light values, so that stylesheets reference the properties of these roles, which color schemes
40
+ generated at runtime assign.
41
+ roles:
42
+ primary:
43
+ description: Primary roles for prominent emphasis.
44
+ type: color
45
+ roles:
46
+ fill: $cw-Palette-primary-40
47
+ onFill: $cw-Palette-primary-100
48
+ container: $cw-Palette-primary-90
49
+ onContainer: $cw-Palette-primary-30
50
+ inverseFill: $cw-Palette-primary-80
51
+ fixedFill: $cw-Palette-primary-90
52
+ fixedFillDim: $cw-Palette-primary-80
53
+ onFixedFill: $cw-Palette-primary-10
54
+ onFixedFillVariant: $cw-Palette-primary-30
55
+ secondary:
56
+ description: Secondary roles for less emphasis than `primary`.
57
+ type: color
58
+ roles:
59
+ fill: $cw-Palette-secondary-40
60
+ onFill: $cw-Palette-secondary-100
61
+ container: $cw-Palette-secondary-90
62
+ onContainer: $cw-Palette-secondary-30
63
+ fixedFill: $cw-Palette-secondary-90
64
+ fixedFillDim: $cw-Palette-secondary-80
65
+ onFixedFill: $cw-Palette-secondary-10
66
+ onFixedFillVariant: $cw-Palette-secondary-30
67
+ tertiary:
68
+ description: Tertiary roles for special emphasis.
69
+ type: color
70
+ roles:
71
+ fill: $cw-Palette-tertiary-40
72
+ onFill: $cw-Palette-tertiary-100
73
+ container: $cw-Palette-tertiary-90
74
+ onContainer: $cw-Palette-tertiary-30
75
+ fixedFill: $cw-Palette-tertiary-90
76
+ fixedFillDim: $cw-Palette-tertiary-80
77
+ onFixedFill: $cw-Palette-tertiary-10
78
+ onFixedFillVariant: $cw-Palette-tertiary-30
79
+ error:
80
+ description: Roles for error based emphasis.
81
+ type: color
82
+ roles:
83
+ fill: $cw-Palette-error-40
84
+ onFill: $cw-Palette-error-100
85
+ container: $cw-Palette-error-90
86
+ onContainer: $cw-Palette-error-30
87
+ surface:
88
+ description: Roles for neutral backgrounds.
89
+ type: color
90
+ roles:
91
+ fill: $cw-Palette-neutral-98
92
+ fillDim: $cw-Palette-neutral-87
93
+ fillBright: $cw-Palette-neutral-98
94
+ fillVariant: $cw-Palette-neutralVariant-90
95
+ inverseFill: $cw-Palette-neutral-20
96
+ containerLowest: $cw-Palette-neutral-100
97
+ containerLow: $cw-Palette-neutral-96
98
+ container: $cw-Palette-neutral-94
99
+ containerHigh: $cw-Palette-neutral-92
100
+ containerHighest: $cw-Palette-neutral-90
101
+ onFill: $cw-Palette-neutral-10
102
+ onFillVariant: $cw-Palette-neutralVariant-30
103
+ inverseOnFill: $cw-Palette-neutral-95
104
+ tint: $cw-Palette-primary-40
105
+ background:
106
+ description: Alias for the background color behind scrollable content.
107
+ type: color
108
+ value: $cw-Palette-neutral-98
109
+ onBackground:
110
+ description: Color for content displayed on the background.
111
+ type: color
112
+ value: $cw-Palette-neutral-10
113
+ outline:
114
+ description: Boundary color between two elements.
115
+ type: color
116
+ value: $cw-Palette-neutralVariant-50
117
+ outlineVariant:
118
+ description: Lower emphasis alternative of `outline`.
119
+ type: color
120
+ value: $cw-Palette-neutralVariant-80
121
+ shadow:
122
+ description: Elevated element shadow color.
123
+ type: color
124
+ value: $cw-Palette-neutral-0
125
+ scrim:
126
+ description: Color of a scrim that obscures content.
127
+ type: color
128
+ value: $cw-Palette-neutral-0
129
+ themes:
130
+ dark:
131
+ description: Dark appearance theme for the default light color scheme.
132
+ values:
133
+ primary-fill: $cw-Palette-primary-80
134
+ primary-onFill: $cw-Palette-primary-20
135
+ primary-container: $cw-Palette-primary-30
136
+ primary-onContainer: $cw-Palette-primary-90
137
+ primary-inverseFill: $cw-Palette-primary-40
138
+ primary-fixedFill: $cw-Palette-primary-90
139
+ primary-fixedFillDim: $cw-Palette-primary-80
140
+ primary-onFixedFill: $cw-Palette-primary-10
141
+ primary-onFixedFillVariant: $cw-Palette-primary-30
142
+ secondary-fill: $cw-Palette-secondary-80
143
+ secondary-onFill: $cw-Palette-secondary-20
144
+ secondary-container: $cw-Palette-secondary-30
145
+ secondary-onContainer: $cw-Palette-secondary-90
146
+ secondary-fixedFill: $cw-Palette-secondary-90
147
+ secondary-fixedFillDim: $cw-Palette-secondary-80
148
+ secondary-onFixedFill: $cw-Palette-secondary-10
149
+ secondary-onFixedFillVariant: $cw-Palette-secondary-30
150
+ tertiary-fill: $cw-Palette-tertiary-80
151
+ tertiary-onFill: $cw-Palette-tertiary-20
152
+ tertiary-container: $cw-Palette-tertiary-30
153
+ tertiary-onContainer: $cw-Palette-tertiary-90
154
+ tertiary-fixedFill: $cw-Palette-tertiary-90
155
+ tertiary-fixedFillDim: $cw-Palette-tertiary-80
156
+ tertiary-onFixedFill: $cw-Palette-tertiary-10
157
+ tertiary-onFixedFillVariant: $cw-Palette-tertiary-30
158
+ error-fill: $cw-Palette-error-80
159
+ error-onFill: $cw-Palette-error-20
160
+ error-container: $cw-Palette-error-30
161
+ error-onContainer: $cw-Palette-error-90
162
+ background: $cw-Palette-neutral-6
163
+ onBackground: $cw-Palette-neutral-90
164
+ surface-fill: $cw-Palette-neutral-6
165
+ surface-fillDim: $cw-Palette-neutral-6
166
+ surface-fillBright: $cw-Palette-neutral-24
167
+ surface-fillVariant: $cw-Palette-neutralVariant-30
168
+ surface-tint: $cw-Palette-primary-80
169
+ surface-inverseFill: $cw-Palette-neutral-90
170
+ surface-containerLowest: $cw-Palette-neutral-4
171
+ surface-containerLow: $cw-Palette-neutral-10
172
+ surface-container: $cw-Palette-neutral-12
173
+ surface-containerHigh: $cw-Palette-neutral-17
174
+ surface-containerHighest: $cw-Palette-neutral-22
175
+ surface-onFill: $cw-Palette-neutral-90
176
+ surface-onFillVariant: $cw-Palette-neutralVariant-80
177
+ surface-inverseOnFill: $cw-Palette-neutral-20
178
+ outline: $cw-Palette-neutralVariant-60
179
+ outlineVariant: $cw-Palette-neutralVariant-30
180
+ scrim: $cw-Palette-neutral-0
181
+ shadow: $cw-Palette-neutral-0