@swell/swell-ui 0.0.0-stage → 0.1.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 (225) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +165 -2
  3. package/custom-elements.json +8274 -0
  4. package/dist/chunks/badge-Dt6q8Cqa.js +11 -0
  5. package/dist/chunks/button-C7nCiu-t.js +123 -0
  6. package/dist/chunks/card-CvSQEug8.js +10 -0
  7. package/dist/chunks/checkbox-BRI_A1TP.js +99 -0
  8. package/dist/chunks/chip-BtnufSMG.js +48 -0
  9. package/dist/chunks/config-C-FYxOaJ.js +588 -0
  10. package/dist/chunks/define-BlQTa1g4.js +19 -0
  11. package/dist/chunks/description-BHfQ8meK.js +19 -0
  12. package/dist/chunks/disclosure-CET8-H6f.js +56 -0
  13. package/dist/chunks/divider-BfkO0c1j.js +27 -0
  14. package/dist/chunks/element-B4-_7TLZ.js +138 -0
  15. package/dist/chunks/input-Uun-ls2_.js +53 -0
  16. package/dist/chunks/link-8qHFEKQE.js +53 -0
  17. package/dist/chunks/link-D4NC86oc.js +24 -0
  18. package/dist/chunks/lookup-5icr_T6o.js +205 -0
  19. package/dist/chunks/lookup-list-Bw6OJoDS.js +19 -0
  20. package/dist/chunks/lookup-option-Mn3k8W2M.js +26 -0
  21. package/dist/chunks/popover-D3Ob6slA.js +92 -0
  22. package/dist/chunks/popup-Dbh2fchP.js +21 -0
  23. package/dist/chunks/quantity-h3wqn8tC.js +140 -0
  24. package/dist/chunks/radio-BhFDL3pO.js +192 -0
  25. package/dist/chunks/radio-option-hT29S8Zl.js +88 -0
  26. package/dist/chunks/select-DS1n_htj.js +331 -0
  27. package/dist/chunks/select-option-DoM9GAe0.js +66 -0
  28. package/dist/chunks/skeleton-DfPjhls9.js +13 -0
  29. package/dist/chunks/status-B23JZ5RQ.js +71 -0
  30. package/dist/chunks/tab-BpjFUbFO.js +107 -0
  31. package/dist/chunks/tabs-aWKq1Iaz.js +122 -0
  32. package/dist/chunks/text-ZWPy-iB3.js +26 -0
  33. package/dist/chunks/text-field-BB_MRt5h.js +158 -0
  34. package/dist/chunks/textarea-L6_OJ2IN.js +18 -0
  35. package/dist/chunks/thumbnail-CLe9AsFg.js +21 -0
  36. package/dist/chunks/toggle-C7-oPgWR.js +22 -0
  37. package/dist/chunks/ui-HcyMKwzs.js +11 -0
  38. package/dist/editors/vscode.css-custom-data.json +824 -0
  39. package/dist/editors/vscode.html-custom-data.json +1156 -0
  40. package/dist/editors/web-types.json +1706 -0
  41. package/dist/elements/badge.d.ts +1 -0
  42. package/dist/elements/badge.js +1 -0
  43. package/dist/elements/button.d.ts +1 -0
  44. package/dist/elements/button.js +1 -0
  45. package/dist/elements/card.d.ts +1 -0
  46. package/dist/elements/card.js +1 -0
  47. package/dist/elements/checkbox.d.ts +1 -0
  48. package/dist/elements/checkbox.js +1 -0
  49. package/dist/elements/chip.d.ts +1 -0
  50. package/dist/elements/chip.js +1 -0
  51. package/dist/elements/disclosure.d.ts +1 -0
  52. package/dist/elements/disclosure.js +1 -0
  53. package/dist/elements/divider.d.ts +1 -0
  54. package/dist/elements/divider.js +1 -0
  55. package/dist/elements/input.d.ts +1 -0
  56. package/dist/elements/input.js +1 -0
  57. package/dist/elements/link.d.ts +1 -0
  58. package/dist/elements/link.js +1 -0
  59. package/dist/elements/lookup-list.d.ts +1 -0
  60. package/dist/elements/lookup-list.js +1 -0
  61. package/dist/elements/lookup-option.d.ts +1 -0
  62. package/dist/elements/lookup-option.js +1 -0
  63. package/dist/elements/lookup.d.ts +1 -0
  64. package/dist/elements/lookup.js +1 -0
  65. package/dist/elements/popover.d.ts +1 -0
  66. package/dist/elements/popover.js +1 -0
  67. package/dist/elements/quantity.d.ts +1 -0
  68. package/dist/elements/quantity.js +1 -0
  69. package/dist/elements/radio-option.d.ts +1 -0
  70. package/dist/elements/radio-option.js +1 -0
  71. package/dist/elements/radio.d.ts +1 -0
  72. package/dist/elements/radio.js +1 -0
  73. package/dist/elements/select-option.d.ts +1 -0
  74. package/dist/elements/select-option.js +1 -0
  75. package/dist/elements/select.d.ts +1 -0
  76. package/dist/elements/select.js +1 -0
  77. package/dist/elements/skeleton.d.ts +1 -0
  78. package/dist/elements/skeleton.js +1 -0
  79. package/dist/elements/status.d.ts +1 -0
  80. package/dist/elements/status.js +1 -0
  81. package/dist/elements/tab.d.ts +1 -0
  82. package/dist/elements/tab.js +1 -0
  83. package/dist/elements/tabs.d.ts +1 -0
  84. package/dist/elements/tabs.js +1 -0
  85. package/dist/elements/text.d.ts +1 -0
  86. package/dist/elements/text.js +1 -0
  87. package/dist/elements/textarea.d.ts +1 -0
  88. package/dist/elements/textarea.js +1 -0
  89. package/dist/elements/thumbnail.d.ts +1 -0
  90. package/dist/elements/thumbnail.js +1 -0
  91. package/dist/elements/ui.d.ts +1 -0
  92. package/dist/elements/ui.js +1 -0
  93. package/dist/frameworks/jsx.d.ts +3589 -0
  94. package/dist/frameworks/preact.d.ts +9 -0
  95. package/dist/frameworks/solid.d.ts +7 -0
  96. package/dist/frameworks/svelte.d.ts +1676 -0
  97. package/dist/frameworks/vue.d.ts +827 -0
  98. package/dist/index.js +80 -0
  99. package/dist/react/badge.d.ts +12 -0
  100. package/dist/react/badge.js +4 -0
  101. package/dist/react/button.d.ts +16 -0
  102. package/dist/react/button.js +4 -0
  103. package/dist/react/card.d.ts +11 -0
  104. package/dist/react/card.js +4 -0
  105. package/dist/react/checkbox.d.ts +14 -0
  106. package/dist/react/checkbox.js +4 -0
  107. package/dist/react/chip.d.ts +12 -0
  108. package/dist/react/chip.js +4 -0
  109. package/dist/react/create.js +49 -0
  110. package/dist/react/disclosure.d.ts +11 -0
  111. package/dist/react/disclosure.js +4 -0
  112. package/dist/react/divider.d.ts +9 -0
  113. package/dist/react/divider.js +4 -0
  114. package/dist/react/index.d.ts +26 -0
  115. package/dist/react/index.js +26 -0
  116. package/dist/react/input.d.ts +28 -0
  117. package/dist/react/input.js +4 -0
  118. package/dist/react/link.d.ts +15 -0
  119. package/dist/react/link.js +4 -0
  120. package/dist/react/lookup-list.d.ts +9 -0
  121. package/dist/react/lookup-list.js +4 -0
  122. package/dist/react/lookup-option.d.ts +11 -0
  123. package/dist/react/lookup-option.js +4 -0
  124. package/dist/react/lookup.d.ts +28 -0
  125. package/dist/react/lookup.js +4 -0
  126. package/dist/react/popover.d.ts +11 -0
  127. package/dist/react/popover.js +4 -0
  128. package/dist/react/quantity.d.ts +15 -0
  129. package/dist/react/quantity.js +4 -0
  130. package/dist/react/radio-option.d.ts +11 -0
  131. package/dist/react/radio-option.js +4 -0
  132. package/dist/react/radio.d.ts +18 -0
  133. package/dist/react/radio.js +4 -0
  134. package/dist/react/select-option.d.ts +11 -0
  135. package/dist/react/select-option.js +4 -0
  136. package/dist/react/select.d.ts +20 -0
  137. package/dist/react/select.js +4 -0
  138. package/dist/react/skeleton.d.ts +11 -0
  139. package/dist/react/skeleton.js +4 -0
  140. package/dist/react/status.d.ts +12 -0
  141. package/dist/react/status.js +4 -0
  142. package/dist/react/tab.d.ts +10 -0
  143. package/dist/react/tab.js +4 -0
  144. package/dist/react/tabs.d.ts +17 -0
  145. package/dist/react/tabs.js +4 -0
  146. package/dist/react/text.d.ts +12 -0
  147. package/dist/react/text.js +4 -0
  148. package/dist/react/textarea.d.ts +23 -0
  149. package/dist/react/textarea.js +4 -0
  150. package/dist/react/thumbnail.d.ts +13 -0
  151. package/dist/react/thumbnail.js +4 -0
  152. package/dist/react/ui.d.ts +10 -0
  153. package/dist/react/ui.js +4 -0
  154. package/dist/types/components/core/badge/badge.d.ts +25 -0
  155. package/dist/types/components/core/button/button.d.ts +60 -0
  156. package/dist/types/components/core/card/card.d.ts +21 -0
  157. package/dist/types/components/core/checkbox/checkbox.d.ts +46 -0
  158. package/dist/types/components/core/chip/chip.d.ts +36 -0
  159. package/dist/types/components/core/disclosure/disclosure.d.ts +37 -0
  160. package/dist/types/components/core/divider/divider.d.ts +21 -0
  161. package/dist/types/components/core/index.d.ts +21 -0
  162. package/dist/types/components/core/input/input.d.ts +57 -0
  163. package/dist/types/components/core/link/link.d.ts +42 -0
  164. package/dist/types/components/core/lookup/lookup-list.d.ts +21 -0
  165. package/dist/types/components/core/lookup/lookup-option.d.ts +27 -0
  166. package/dist/types/components/core/lookup/lookup.d.ts +32 -0
  167. package/dist/types/components/core/popover/popover.d.ts +33 -0
  168. package/dist/types/components/core/quantity/quantity.d.ts +47 -0
  169. package/dist/types/components/core/radio/radio-option.d.ts +82 -0
  170. package/dist/types/components/core/radio/radio.d.ts +65 -0
  171. package/dist/types/components/core/select/select-option.d.ts +69 -0
  172. package/dist/types/components/core/select/select.d.ts +70 -0
  173. package/dist/types/components/core/skeleton/skeleton.d.ts +23 -0
  174. package/dist/types/components/core/status/status.d.ts +38 -0
  175. package/dist/types/components/core/tabs/tab.d.ts +76 -0
  176. package/dist/types/components/core/tabs/tabs.d.ts +46 -0
  177. package/dist/types/components/core/text/text.d.ts +23 -0
  178. package/dist/types/components/core/textarea/textarea.d.ts +45 -0
  179. package/dist/types/components/core/thumbnail/thumbnail.d.ts +27 -0
  180. package/dist/types/components/core/ui/ui.d.ts +16 -0
  181. package/dist/types/components/elements.d.ts +1 -0
  182. package/dist/types/react/create.d.ts +8 -0
  183. package/dist/types/runtime/config.d.ts +25 -0
  184. package/dist/types/runtime/css.d.ts +12 -0
  185. package/dist/types/runtime/define.d.ts +4 -0
  186. package/dist/types/runtime/description.d.ts +12 -0
  187. package/dist/types/runtime/element.d.ts +61 -0
  188. package/dist/types/runtime/focus.d.ts +5 -0
  189. package/dist/types/runtime/form.d.ts +5 -0
  190. package/dist/types/runtime/index.d.ts +2 -0
  191. package/dist/types/runtime/link.d.ts +17 -0
  192. package/dist/types/runtime/loader.d.ts +21 -0
  193. package/dist/types/runtime/popup.d.ts +8 -0
  194. package/dist/types/runtime/sheet.d.ts +31 -0
  195. package/dist/types/runtime/text-field.d.ts +47 -0
  196. package/dist/types/runtime/toggle.d.ts +8 -0
  197. package/dist/types/runtime/tokens.generated.d.ts +492 -0
  198. package/dist/types/runtime/values.d.ts +6 -0
  199. package/dist/types/runtime/variants.d.ts +4 -0
  200. package/package.json +136 -4
  201. package/resolver.json +111 -0
  202. package/src/components/core/badge/tokens.json +152 -0
  203. package/src/components/core/button/tokens.dark.json +16 -0
  204. package/src/components/core/button/tokens.json +232 -0
  205. package/src/components/core/card/tokens.json +35 -0
  206. package/src/components/core/checkbox/tokens.json +15 -0
  207. package/src/components/core/chip/tokens.json +144 -0
  208. package/src/components/core/link/tokens.json +24 -0
  209. package/src/components/core/radio/tokens.dark.json +17 -0
  210. package/src/components/core/radio/tokens.json +114 -0
  211. package/src/components/core/status/tokens.dark.json +71 -0
  212. package/src/components/core/status/tokens.json +135 -0
  213. package/src/components/core/tabs/tokens.json +80 -0
  214. package/src/components/core/text/tokens.json +222 -0
  215. package/src/components/core/thumbnail/tokens.json +46 -0
  216. package/tokens/border.json +38 -0
  217. package/tokens/color.dark.json +88 -0
  218. package/tokens/color.json +115 -0
  219. package/tokens/control.json +115 -0
  220. package/tokens/field.dark.json +65 -0
  221. package/tokens/field.json +158 -0
  222. package/tokens/focus.json +26 -0
  223. package/tokens/font.json +117 -0
  224. package/tokens/motion.json +49 -0
  225. package/tokens/overlay.json +81 -0
package/resolver.json ADDED
@@ -0,0 +1,111 @@
1
+ {
2
+ "name": "Swell UI",
3
+ "version": "2025.10",
4
+ "description": "Swell UI token contract: global groups and components, then the theme.",
5
+ "sets": {
6
+ "global": {
7
+ "description": "Global groups.",
8
+ "sources": [
9
+ {
10
+ "$ref": "tokens/color.json"
11
+ },
12
+ {
13
+ "$ref": "tokens/font.json"
14
+ },
15
+ {
16
+ "$ref": "tokens/border.json"
17
+ },
18
+ {
19
+ "$ref": "tokens/focus.json"
20
+ },
21
+ {
22
+ "$ref": "tokens/motion.json"
23
+ },
24
+ {
25
+ "$ref": "tokens/control.json"
26
+ },
27
+ {
28
+ "$ref": "tokens/field.json"
29
+ },
30
+ {
31
+ "$ref": "tokens/overlay.json"
32
+ }
33
+ ]
34
+ },
35
+ "components": {
36
+ "description": "Components.",
37
+ "sources": [
38
+ {
39
+ "$ref": "src/components/core/text/tokens.json"
40
+ },
41
+ {
42
+ "$ref": "src/components/core/link/tokens.json"
43
+ },
44
+ {
45
+ "$ref": "src/components/core/button/tokens.json"
46
+ },
47
+ {
48
+ "$ref": "src/components/core/checkbox/tokens.json"
49
+ },
50
+ {
51
+ "$ref": "src/components/core/radio/tokens.json"
52
+ },
53
+ {
54
+ "$ref": "src/components/core/status/tokens.json"
55
+ },
56
+ {
57
+ "$ref": "src/components/core/badge/tokens.json"
58
+ },
59
+ {
60
+ "$ref": "src/components/core/chip/tokens.json"
61
+ },
62
+ {
63
+ "$ref": "src/components/core/thumbnail/tokens.json"
64
+ },
65
+ {
66
+ "$ref": "src/components/core/card/tokens.json"
67
+ },
68
+ {
69
+ "$ref": "src/components/core/tabs/tokens.json"
70
+ }
71
+ ]
72
+ }
73
+ },
74
+ "modifiers": {
75
+ "theme": {
76
+ "description": "Light or dark theme. Light values are in the base files.",
77
+ "contexts": {
78
+ "light": [],
79
+ "dark": [
80
+ {
81
+ "$ref": "tokens/color.dark.json"
82
+ },
83
+ {
84
+ "$ref": "tokens/field.dark.json"
85
+ },
86
+ {
87
+ "$ref": "src/components/core/button/tokens.dark.json"
88
+ },
89
+ {
90
+ "$ref": "src/components/core/radio/tokens.dark.json"
91
+ },
92
+ {
93
+ "$ref": "src/components/core/status/tokens.dark.json"
94
+ }
95
+ ]
96
+ },
97
+ "default": "light"
98
+ }
99
+ },
100
+ "resolutionOrder": [
101
+ {
102
+ "$ref": "#/sets/global"
103
+ },
104
+ {
105
+ "$ref": "#/sets/components"
106
+ },
107
+ {
108
+ "$ref": "#/modifiers/theme"
109
+ }
110
+ ]
111
+ }
@@ -0,0 +1,152 @@
1
+ {
2
+ "badge": {
3
+ "$description": "Badges: short labels and counts that are text only. The appearance lays the palette out: filled uses background and foreground, without a border; outline uses border and accent on a transparent background.",
4
+ "$extensions": {
5
+ "is.swell.ui": {
6
+ "attributes": {
7
+ "size": ["xsmall", "small", "large", "xlarge"]
8
+ },
9
+ "settings": {
10
+ "appearance": {
11
+ "description": "How badges are drawn when the element has no appearance attribute.",
12
+ "values": ["filled", "outline"],
13
+ "default": "outline"
14
+ }
15
+ },
16
+ "variants": true
17
+ }
18
+ },
19
+ "height": {
20
+ "$type": "dimension",
21
+ "$value": {
22
+ "value": 24,
23
+ "unit": "px"
24
+ },
25
+ "$description": "Height and least width of medium badges."
26
+ },
27
+ "font": {
28
+ "size": {
29
+ "$type": "dimension",
30
+ "$value": "{font.footnote.size}",
31
+ "$description": "Font size of medium badges."
32
+ },
33
+ "weight": {
34
+ "$type": "fontWeight",
35
+ "$value": "{font.strong.weight}",
36
+ "$description": "Font weight of medium badges."
37
+ }
38
+ },
39
+ "xsmall": {
40
+ "height": {
41
+ "$type": "dimension",
42
+ "$value": {
43
+ "value": 16,
44
+ "unit": "px"
45
+ },
46
+ "$description": "Height and least width of extra small badges, such as a count on an icon."
47
+ },
48
+ "font": {
49
+ "size": {
50
+ "$type": "dimension",
51
+ "$value": {
52
+ "value": 10,
53
+ "unit": "px"
54
+ },
55
+ "$description": "Font size of extra small badges."
56
+ },
57
+ "weight": {
58
+ "$type": "fontWeight",
59
+ "$value": "{font.bold.weight}",
60
+ "$description": "Font weight of extra small badges."
61
+ }
62
+ }
63
+ },
64
+ "small": {
65
+ "height": {
66
+ "$type": "dimension",
67
+ "$value": {
68
+ "value": 20,
69
+ "unit": "px"
70
+ },
71
+ "$description": "Height and least width of small badges, such as a count."
72
+ },
73
+ "font": {
74
+ "size": {
75
+ "$type": "dimension",
76
+ "$value": {
77
+ "value": 11,
78
+ "unit": "px"
79
+ },
80
+ "$description": "Font size of small badges."
81
+ },
82
+ "weight": {
83
+ "$type": "fontWeight",
84
+ "$value": "{font.bold.weight}",
85
+ "$description": "Font weight of small badges."
86
+ }
87
+ }
88
+ },
89
+ "large": {
90
+ "height": {
91
+ "$type": "dimension",
92
+ "$value": {
93
+ "value": 28,
94
+ "unit": "px"
95
+ },
96
+ "$description": "Height and least width of large badges."
97
+ },
98
+ "font": {
99
+ "size": {
100
+ "$type": "dimension",
101
+ "$value": {
102
+ "value": 13,
103
+ "unit": "px"
104
+ },
105
+ "$description": "Font size of large badges."
106
+ }
107
+ }
108
+ },
109
+ "xlarge": {
110
+ "height": {
111
+ "$type": "dimension",
112
+ "$value": {
113
+ "value": 32,
114
+ "unit": "px"
115
+ },
116
+ "$description": "Height and least width of extra large badges."
117
+ },
118
+ "font": {
119
+ "size": {
120
+ "$type": "dimension",
121
+ "$value": {
122
+ "value": 14,
123
+ "unit": "px"
124
+ },
125
+ "$description": "Font size of extra large badges."
126
+ }
127
+ }
128
+ },
129
+ "color": {
130
+ "background": {
131
+ "$type": "color",
132
+ "$value": "{color.foreground}",
133
+ "$description": "Fill of filled primary badges, such as a count."
134
+ },
135
+ "foreground": {
136
+ "$type": "color",
137
+ "$value": "{color.background}",
138
+ "$description": "Text of filled primary badges."
139
+ },
140
+ "border": {
141
+ "$type": "color",
142
+ "$value": "{color.border}",
143
+ "$description": "Border of outline primary badges."
144
+ },
145
+ "accent": {
146
+ "$type": "color",
147
+ "$value": "{color.foreground}",
148
+ "$description": "Text of outline primary badges."
149
+ }
150
+ }
151
+ }
152
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "button": {
3
+ "$description": "Dark theme values of button.",
4
+ "color": {
5
+ "shadow": {
6
+ "$type": "color",
7
+ "$value": {
8
+ "colorSpace": "srgb",
9
+ "components": [0.3569, 0.549, 1],
10
+ "hex": "#5b8cff",
11
+ "alpha": 0.6
12
+ }
13
+ }
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,232 @@
1
+ {
2
+ "button": {
3
+ "$description": "Buttons. The appearance lays the palette out: filled uses background, border and foreground; outline uses border and accent; plain uses accent.",
4
+ "$extensions": {
5
+ "is.swell.ui": {
6
+ "attributes": {
7
+ "size": ["xsmall", "small", "large", "xlarge"]
8
+ },
9
+ "settings": {
10
+ "appearance": {
11
+ "description": "How primary buttons are drawn when the element has no appearance attribute.",
12
+ "values": ["filled", "outline", "plain"],
13
+ "default": "filled"
14
+ }
15
+ },
16
+ "variants": true,
17
+ "states": ["hover"]
18
+ }
19
+ },
20
+ "height": {
21
+ "$type": "dimension",
22
+ "$value": "{control.height}",
23
+ "$description": "Height of medium buttons."
24
+ },
25
+ "font": {
26
+ "size": {
27
+ "$type": "dimension",
28
+ "$value": "{control.font.size}",
29
+ "$description": "Font size of medium buttons."
30
+ },
31
+ "tracking": {
32
+ "$type": "number",
33
+ "$value": "{font.tracking}",
34
+ "$description": "Letter spacing of buttons, in em.",
35
+ "$extensions": {
36
+ "is.swell.ui": {
37
+ "unit": "em"
38
+ }
39
+ }
40
+ },
41
+ "weight": {
42
+ "$type": "fontWeight",
43
+ "$value": 650,
44
+ "$description": "Font weight of button labels."
45
+ }
46
+ },
47
+ "xsmall": {
48
+ "height": {
49
+ "$type": "dimension",
50
+ "$value": "{control.xsmall.height}",
51
+ "$description": "Height of extra small buttons."
52
+ },
53
+ "font": {
54
+ "size": {
55
+ "$type": "dimension",
56
+ "$value": "{control.xsmall.font.size}",
57
+ "$description": "Font size of extra small buttons."
58
+ }
59
+ }
60
+ },
61
+ "small": {
62
+ "height": {
63
+ "$type": "dimension",
64
+ "$value": "{control.small.height}",
65
+ "$description": "Height of small buttons."
66
+ },
67
+ "font": {
68
+ "size": {
69
+ "$type": "dimension",
70
+ "$value": "{control.small.font.size}",
71
+ "$description": "Font size of small buttons."
72
+ }
73
+ }
74
+ },
75
+ "large": {
76
+ "height": {
77
+ "$type": "dimension",
78
+ "$value": "{control.large.height}",
79
+ "$description": "Height of large buttons."
80
+ },
81
+ "font": {
82
+ "size": {
83
+ "$type": "dimension",
84
+ "$value": "{control.large.font.size}",
85
+ "$description": "Font size of large buttons."
86
+ },
87
+ "tracking": {
88
+ "$type": "number",
89
+ "$value": -0.01,
90
+ "$description": "Letter spacing of large buttons, in em.",
91
+ "$extensions": {
92
+ "is.swell.ui": {
93
+ "unit": "em"
94
+ }
95
+ }
96
+ }
97
+ }
98
+ },
99
+ "xlarge": {
100
+ "height": {
101
+ "$type": "dimension",
102
+ "$value": "{control.xlarge.height}",
103
+ "$description": "Height of extra large buttons."
104
+ },
105
+ "font": {
106
+ "size": {
107
+ "$type": "dimension",
108
+ "$value": "{control.xlarge.font.size}",
109
+ "$description": "Font size of extra large buttons."
110
+ },
111
+ "tracking": {
112
+ "$type": "number",
113
+ "$value": -0.01,
114
+ "$description": "Letter spacing of extra large buttons, in em.",
115
+ "$extensions": {
116
+ "is.swell.ui": {
117
+ "unit": "em"
118
+ }
119
+ }
120
+ }
121
+ }
122
+ },
123
+ "border": {
124
+ "radius": {
125
+ "$type": "dimension",
126
+ "$value": "{border.radius}",
127
+ "$description": "Corner radius of buttons."
128
+ }
129
+ },
130
+ "color": {
131
+ "accent": {
132
+ "$type": "color",
133
+ "$value": "{color.accent}",
134
+ "$description": "Text and border of outline and plain primary buttons."
135
+ },
136
+ "background": {
137
+ "$type": "color",
138
+ "$value": "{button.color.accent}",
139
+ "$description": "Fill of filled primary buttons."
140
+ },
141
+ "foreground": {
142
+ "$type": "color",
143
+ "$value": "{color.background}",
144
+ "$description": "Text of filled primary buttons."
145
+ },
146
+ "border": {
147
+ "$type": "color",
148
+ "$value": "{button.color.accent}",
149
+ "$description": "Border of filled and outline primary buttons."
150
+ },
151
+ "shadow": {
152
+ "$type": "color",
153
+ "$value": {
154
+ "colorSpace": "srgb",
155
+ "components": [0.2275, 0.4, 0.9608],
156
+ "hex": "#3a66f5",
157
+ "alpha": 0.6
158
+ },
159
+ "$description": "Color of the shadow of filled buttons."
160
+ }
161
+ },
162
+ "secondary": {
163
+ "$extensions": {
164
+ "is.swell.ui": {
165
+ "settings": {
166
+ "appearance": {
167
+ "description": "How secondary buttons are drawn when the element has no appearance attribute.",
168
+ "values": ["filled", "outline", "plain"],
169
+ "default": "outline"
170
+ }
171
+ }
172
+ }
173
+ }
174
+ },
175
+ "shadow": {
176
+ "$type": "shadow",
177
+ "$value": {
178
+ "color": "{button.color.shadow}",
179
+ "offsetX": {
180
+ "value": 0,
181
+ "unit": "px"
182
+ },
183
+ "offsetY": {
184
+ "value": 12,
185
+ "unit": "px"
186
+ },
187
+ "blur": {
188
+ "value": 24,
189
+ "unit": "px"
190
+ },
191
+ "spread": {
192
+ "value": -16,
193
+ "unit": "px"
194
+ }
195
+ },
196
+ "$description": "Shadow of a filled button, in button.color.shadow; a successful button casts it in color.success."
197
+ },
198
+ "hover": {
199
+ "shadow": {
200
+ "$type": "shadow",
201
+ "$value": {
202
+ "color": "{button.color.shadow}",
203
+ "offsetX": {
204
+ "value": 0,
205
+ "unit": "px"
206
+ },
207
+ "offsetY": {
208
+ "value": 16,
209
+ "unit": "px"
210
+ },
211
+ "blur": {
212
+ "value": 30,
213
+ "unit": "px"
214
+ },
215
+ "spread": {
216
+ "value": -16,
217
+ "unit": "px"
218
+ }
219
+ },
220
+ "$description": "Shadow of a filled button under the pointer, in button.color.shadow."
221
+ },
222
+ "offset": {
223
+ "$type": "dimension",
224
+ "$value": {
225
+ "value": -1,
226
+ "unit": "px"
227
+ },
228
+ "$description": "How far a button rises under the pointer; 0 keeps it in place."
229
+ }
230
+ }
231
+ }
232
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "card": {
3
+ "$description": "Cards: boxes that group content. Outline takes the background and a border; filled takes the quiet background without a border.",
4
+ "$extensions": {
5
+ "is.swell.ui": {
6
+ "settings": {
7
+ "appearance": {
8
+ "description": "How cards are drawn when the element has no appearance attribute.",
9
+ "values": ["outline", "filled"],
10
+ "default": "outline"
11
+ }
12
+ }
13
+ }
14
+ },
15
+ "border": {
16
+ "radius": {
17
+ "$type": "dimension",
18
+ "$value": "{border.radius}",
19
+ "$description": "Corner radius of cards."
20
+ }
21
+ },
22
+ "color": {
23
+ "background": {
24
+ "$type": "color",
25
+ "$value": "{color.background}",
26
+ "$description": "Background of outline cards."
27
+ },
28
+ "border": {
29
+ "$type": "color",
30
+ "$value": "{color.border}",
31
+ "$description": "Border of outline cards."
32
+ }
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "checkbox": {
3
+ "$description": "Checkboxes. Their colors come from field and color.",
4
+ "border": {
5
+ "radius": {
6
+ "$type": "dimension",
7
+ "$value": {
8
+ "value": 3,
9
+ "unit": "px"
10
+ },
11
+ "$description": "Corner radius of checkboxes."
12
+ }
13
+ }
14
+ }
15
+ }