waybetter 0.1.1 → 0.7.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 (537) hide show
  1. package/README.md +139 -6
  2. package/bin/waybetter.mjs +43 -0
  3. package/build/runtime.mjs +105 -0
  4. package/cli/buildenv.mjs +130 -0
  5. package/cli/dev.mjs +97 -0
  6. package/cli/i18n.mjs +382 -0
  7. package/cli/manifests.mjs +383 -0
  8. package/cli/release.mjs +437 -0
  9. package/cli/releasecheck.mjs +15 -0
  10. package/cli/remote.mjs +260 -0
  11. package/cli/store.mjs +378 -0
  12. package/cli/strings.mjs +123 -0
  13. package/dist/runtime/column.d.ts +93 -0
  14. package/dist/runtime/column.js +451 -0
  15. package/dist/runtime/column.js.map +1 -0
  16. package/dist/runtime/commandReport.d.ts +19 -0
  17. package/dist/runtime/commandReport.js +47 -0
  18. package/dist/runtime/commandReport.js.map +1 -0
  19. package/dist/runtime/commands.d.ts +72 -0
  20. package/dist/runtime/commands.js +214 -0
  21. package/dist/runtime/commands.js.map +1 -0
  22. package/dist/runtime/devErrors.d.ts +16 -0
  23. package/dist/runtime/devErrors.js +30 -0
  24. package/dist/runtime/devErrors.js.map +1 -0
  25. package/dist/runtime/domHub.d.ts +21 -0
  26. package/dist/runtime/domHub.js +139 -4
  27. package/dist/runtime/domHub.js.map +1 -1
  28. package/dist/runtime/featureModules.d.ts +157 -0
  29. package/dist/runtime/featureModules.js +484 -0
  30. package/dist/runtime/featureModules.js.map +1 -0
  31. package/dist/runtime/featureTable.d.ts +144 -0
  32. package/dist/runtime/featureTable.js +223 -0
  33. package/dist/runtime/featureTable.js.map +1 -0
  34. package/dist/runtime/fonts.d.ts +22 -0
  35. package/dist/runtime/fonts.js +72 -0
  36. package/dist/runtime/fonts.js.map +1 -0
  37. package/dist/runtime/i18n.d.ts +138 -0
  38. package/dist/runtime/i18n.js +614 -0
  39. package/dist/runtime/i18n.js.map +1 -0
  40. package/dist/runtime/i18nCheck.d.ts +30 -0
  41. package/dist/runtime/i18nCheck.js +224 -0
  42. package/dist/runtime/i18nCheck.js.map +1 -0
  43. package/dist/runtime/pageLang.d.ts +8 -0
  44. package/dist/runtime/pageLang.js +64 -0
  45. package/dist/runtime/pageLang.js.map +1 -0
  46. package/dist/runtime/pageStrings.d.ts +35 -0
  47. package/dist/runtime/pageStrings.js +76 -0
  48. package/dist/runtime/pageStrings.js.map +1 -0
  49. package/dist/runtime/panelButton.d.ts +33 -0
  50. package/dist/runtime/panelButton.js +83 -0
  51. package/dist/runtime/panelButton.js.map +1 -0
  52. package/dist/runtime/permissions.d.ts +47 -0
  53. package/dist/runtime/permissions.js +141 -0
  54. package/dist/runtime/permissions.js.map +1 -0
  55. package/dist/runtime/pluginApi.d.ts +51 -2
  56. package/dist/runtime/pluginApi.js +137 -22
  57. package/dist/runtime/pluginApi.js.map +1 -1
  58. package/dist/runtime/pluginI18n.d.ts +29 -0
  59. package/dist/runtime/pluginI18n.js +119 -0
  60. package/dist/runtime/pluginI18n.js.map +1 -0
  61. package/dist/runtime/settingsForm.d.ts +66 -0
  62. package/dist/runtime/settingsForm.js +114 -0
  63. package/dist/runtime/settingsForm.js.map +1 -0
  64. package/dist/runtime/site.d.ts +5 -0
  65. package/dist/runtime/site.js +1 -1
  66. package/dist/runtime/site.js.map +1 -1
  67. package/dist/runtime/siteRuntime.d.ts +144 -0
  68. package/dist/runtime/siteRuntime.js +175 -0
  69. package/dist/runtime/siteRuntime.js.map +1 -0
  70. package/dist/runtime/stringPackHook.d.ts +84 -0
  71. package/dist/runtime/stringPackHook.js +220 -0
  72. package/dist/runtime/stringPackHook.js.map +1 -0
  73. package/dist/runtime/stringPackTranslate.d.ts +61 -0
  74. package/dist/runtime/stringPackTranslate.js +267 -0
  75. package/dist/runtime/stringPackTranslate.js.map +1 -0
  76. package/dist/runtime/stringPacks.d.ts +248 -0
  77. package/dist/runtime/stringPacks.js +610 -0
  78. package/dist/runtime/stringPacks.js.map +1 -0
  79. package/dist/runtime/styles.d.ts +15 -0
  80. package/dist/runtime/styles.js +81 -0
  81. package/dist/runtime/styles.js.map +1 -0
  82. package/dist/runtime/textNet.d.ts +15 -0
  83. package/dist/runtime/textNet.js +131 -0
  84. package/dist/runtime/textNet.js.map +1 -0
  85. package/dist/runtime/themeApi.d.ts +121 -0
  86. package/dist/runtime/themeApi.js +220 -0
  87. package/dist/runtime/themeApi.js.map +1 -0
  88. package/dist/runtime/themeBar.d.ts +28 -0
  89. package/dist/runtime/themeBar.js +82 -0
  90. package/dist/runtime/themeBar.js.map +1 -0
  91. package/dist/runtime/themeChoice.d.ts +52 -0
  92. package/dist/runtime/themeChoice.js +69 -0
  93. package/dist/runtime/themeChoice.js.map +1 -0
  94. package/dist/runtime/themeComponents.d.ts +435 -0
  95. package/dist/runtime/themeComponents.js +476 -0
  96. package/dist/runtime/themeComponents.js.map +1 -0
  97. package/dist/runtime/themeDecor.d.ts +73 -0
  98. package/dist/runtime/themeDecor.js +133 -0
  99. package/dist/runtime/themeDecor.js.map +1 -0
  100. package/dist/runtime/themeDerive.d.ts +69 -0
  101. package/dist/runtime/themeDerive.js +117 -0
  102. package/dist/runtime/themeDerive.js.map +1 -0
  103. package/dist/runtime/themeDoctor.d.ts +52 -0
  104. package/dist/runtime/themeDoctor.js +112 -0
  105. package/dist/runtime/themeDoctor.js.map +1 -0
  106. package/dist/runtime/themeGuards.d.ts +60 -0
  107. package/dist/runtime/themeGuards.js +235 -0
  108. package/dist/runtime/themeGuards.js.map +1 -0
  109. package/dist/runtime/themeIcons.d.ts +130 -0
  110. package/dist/runtime/themeIcons.js +271 -0
  111. package/dist/runtime/themeIcons.js.map +1 -0
  112. package/dist/runtime/themeInk.d.ts +37 -0
  113. package/dist/runtime/themeInk.js +111 -0
  114. package/dist/runtime/themeInk.js.map +1 -0
  115. package/dist/runtime/themeInvariants.d.ts +39 -0
  116. package/dist/runtime/themeInvariants.js +273 -0
  117. package/dist/runtime/themeInvariants.js.map +1 -0
  118. package/dist/runtime/themeRuntime.d.ts +114 -0
  119. package/dist/runtime/themeRuntime.js +570 -0
  120. package/dist/runtime/themeRuntime.js.map +1 -0
  121. package/dist/runtime/themeSchema.d.ts +10 -0
  122. package/dist/runtime/themeSchema.js +150 -0
  123. package/dist/runtime/themeSchema.js.map +1 -0
  124. package/dist/runtime/themeSpec.d.ts +263 -0
  125. package/dist/runtime/themeSpec.js +435 -0
  126. package/dist/runtime/themeSpec.js.map +1 -0
  127. package/dist/runtime/themeTokens.d.ts +12 -0
  128. package/dist/runtime/themeTokens.js +14 -6
  129. package/dist/runtime/themeTokens.js.map +1 -1
  130. package/dist/runtime/themeVariants.d.ts +30 -0
  131. package/dist/runtime/themeVariants.js +53 -0
  132. package/dist/runtime/themeVariants.js.map +1 -0
  133. package/dist/runtime/ui.d.ts +192 -0
  134. package/dist/runtime/ui.js +926 -0
  135. package/dist/runtime/ui.js.map +1 -0
  136. package/dist/shell/InstallDialog.d.ts +40 -0
  137. package/dist/shell/InstallDialog.js +176 -0
  138. package/dist/shell/InstallDialog.js.map +1 -0
  139. package/dist/shell/StoreView.d.ts +78 -0
  140. package/dist/shell/StoreView.js +108 -0
  141. package/dist/shell/StoreView.js.map +1 -0
  142. package/dist/shell/addressModel.js.map +1 -1
  143. package/dist/shell/chrome.js.map +1 -1
  144. package/dist/shell/deckModel.d.ts +117 -0
  145. package/dist/shell/deckModel.js +267 -0
  146. package/dist/shell/deckModel.js.map +1 -0
  147. package/dist/shell/frame/AccountSwitcher.d.ts +42 -0
  148. package/dist/shell/frame/AccountSwitcher.js +243 -0
  149. package/dist/shell/frame/AccountSwitcher.js.map +1 -0
  150. package/dist/shell/frame/AddColumnDialog.d.ts +8 -0
  151. package/dist/shell/frame/AddColumnDialog.js +81 -0
  152. package/dist/shell/frame/AddColumnDialog.js.map +1 -0
  153. package/dist/shell/frame/AppMenu.d.ts +44 -0
  154. package/dist/shell/frame/AppMenu.js +721 -0
  155. package/dist/shell/frame/AppMenu.js.map +1 -0
  156. package/dist/shell/frame/CommandPalette.d.ts +7 -0
  157. package/dist/shell/frame/CommandPalette.js +118 -0
  158. package/dist/shell/frame/CommandPalette.js.map +1 -0
  159. package/dist/shell/frame/DeckView.d.ts +13 -0
  160. package/dist/shell/frame/DeckView.js +287 -0
  161. package/dist/shell/frame/DeckView.js.map +1 -0
  162. package/dist/shell/frame/FindBar.d.ts +10 -0
  163. package/dist/shell/frame/FindBar.js +108 -0
  164. package/dist/shell/frame/FindBar.js.map +1 -0
  165. package/dist/shell/frame/MediaPanel.d.ts +8 -0
  166. package/dist/shell/frame/MediaPanel.js +76 -0
  167. package/dist/shell/frame/MediaPanel.js.map +1 -0
  168. package/dist/shell/frame/NewTabPage.d.ts +9 -0
  169. package/dist/shell/frame/NewTabPage.js +71 -0
  170. package/dist/shell/frame/NewTabPage.js.map +1 -0
  171. package/dist/shell/frame/PaneTheme.d.ts +16 -0
  172. package/dist/shell/frame/PaneTheme.js +67 -0
  173. package/dist/shell/frame/PaneTheme.js.map +1 -0
  174. package/dist/shell/frame/ReportDialog.d.ts +3 -0
  175. package/dist/shell/frame/ReportDialog.js +95 -0
  176. package/dist/shell/frame/ReportDialog.js.map +1 -0
  177. package/dist/shell/frame/Shell.d.ts +9 -0
  178. package/dist/shell/frame/Shell.js +1139 -0
  179. package/dist/shell/frame/Shell.js.map +1 -0
  180. package/dist/shell/frame/Titlebar.d.ts +17 -0
  181. package/dist/shell/frame/Titlebar.js +79 -0
  182. package/dist/shell/frame/Titlebar.js.map +1 -0
  183. package/dist/shell/frame/TitlebarExtras.d.ts +4 -0
  184. package/dist/shell/frame/TitlebarExtras.js +202 -0
  185. package/dist/shell/frame/TitlebarExtras.js.map +1 -0
  186. package/dist/shell/frame/WebPanel.d.ts +4 -0
  187. package/dist/shell/frame/WebPanel.js +185 -0
  188. package/dist/shell/frame/WebPanel.js.map +1 -0
  189. package/dist/shell/frame/accountModel.d.ts +49 -0
  190. package/dist/shell/frame/accountModel.js +67 -0
  191. package/dist/shell/frame/accountModel.js.map +1 -0
  192. package/dist/shell/frame/accountSwitcher.css +91 -0
  193. package/dist/shell/frame/appI18n.d.ts +44 -0
  194. package/dist/shell/frame/appI18n.js +64 -0
  195. package/dist/shell/frame/appI18n.js.map +1 -0
  196. package/dist/shell/frame/appMenu.css +127 -0
  197. package/dist/shell/frame/backupModel.d.ts +38 -0
  198. package/dist/shell/frame/backupModel.js +192 -0
  199. package/dist/shell/frame/backupModel.js.map +1 -0
  200. package/dist/shell/frame/boot.d.ts +8 -0
  201. package/dist/shell/frame/boot.js +37 -0
  202. package/dist/shell/frame/boot.js.map +1 -0
  203. package/dist/shell/frame/brand.d.ts +1 -0
  204. package/dist/shell/frame/brand.js +4 -0
  205. package/dist/shell/frame/brand.js.map +1 -0
  206. package/dist/shell/frame/bridge.d.ts +35 -0
  207. package/dist/shell/frame/bridge.js +70 -0
  208. package/dist/shell/frame/bridge.js.map +1 -0
  209. package/dist/shell/frame/chromeTheme.d.ts +47 -0
  210. package/dist/shell/frame/chromeTheme.js +118 -0
  211. package/dist/shell/frame/chromeTheme.js.map +1 -0
  212. package/dist/shell/frame/deck.css +209 -0
  213. package/dist/shell/frame/deckStore.d.ts +89 -0
  214. package/dist/shell/frame/deckStore.js +239 -0
  215. package/dist/shell/frame/deckStore.js.map +1 -0
  216. package/dist/shell/frame/devHost.d.ts +35 -0
  217. package/dist/shell/frame/devHost.js +80 -0
  218. package/dist/shell/frame/devHost.js.map +1 -0
  219. package/dist/shell/frame/devModel.d.ts +7 -0
  220. package/dist/shell/frame/devModel.js +17 -0
  221. package/dist/shell/frame/devModel.js.map +1 -0
  222. package/dist/shell/frame/diag.d.ts +7 -0
  223. package/dist/shell/frame/diag.js +39 -0
  224. package/dist/shell/frame/diag.js.map +1 -0
  225. package/dist/shell/frame/edges.css +159 -0
  226. package/dist/shell/frame/findBar.css +14 -0
  227. package/dist/shell/frame/frameMessages.d.ts +248 -0
  228. package/dist/shell/frame/frameMessages.js +252 -0
  229. package/dist/shell/frame/frameMessages.js.map +1 -0
  230. package/dist/shell/frame/hooks.d.ts +39 -0
  231. package/dist/shell/frame/hooks.js +97 -0
  232. package/dist/shell/frame/hooks.js.map +1 -0
  233. package/dist/shell/frame/i18n.d.ts +27 -0
  234. package/dist/shell/frame/i18n.js +66 -0
  235. package/dist/shell/frame/i18n.js.map +1 -0
  236. package/dist/shell/frame/iconPack.d.ts +11 -0
  237. package/dist/shell/frame/iconPack.js +45 -0
  238. package/dist/shell/frame/iconPack.js.map +1 -0
  239. package/dist/shell/frame/icons.d.ts +71 -0
  240. package/dist/shell/frame/icons.js +75 -0
  241. package/dist/shell/frame/icons.js.map +1 -0
  242. package/dist/shell/frame/index.d.ts +34 -0
  243. package/dist/shell/frame/index.js +43 -0
  244. package/dist/shell/frame/index.js.map +1 -0
  245. package/dist/shell/frame/language.d.ts +58 -0
  246. package/dist/shell/frame/language.js +165 -0
  247. package/dist/shell/frame/language.js.map +1 -0
  248. package/dist/shell/frame/mediaModel.d.ts +47 -0
  249. package/dist/shell/frame/mediaModel.js +67 -0
  250. package/dist/shell/frame/mediaModel.js.map +1 -0
  251. package/dist/shell/frame/menuMessages.en.json +96 -0
  252. package/dist/shell/frame/menuModel.d.ts +319 -0
  253. package/dist/shell/frame/menuModel.js +301 -0
  254. package/dist/shell/frame/menuModel.js.map +1 -0
  255. package/dist/shell/frame/nativeMenu.d.ts +5 -0
  256. package/dist/shell/frame/nativeMenu.js +178 -0
  257. package/dist/shell/frame/nativeMenu.js.map +1 -0
  258. package/dist/shell/frame/nativeMenuModel.d.ts +102 -0
  259. package/dist/shell/frame/nativeMenuModel.js +186 -0
  260. package/dist/shell/frame/nativeMenuModel.js.map +1 -0
  261. package/dist/shell/frame/paletteModel.d.ts +139 -0
  262. package/dist/shell/frame/paletteModel.js +114 -0
  263. package/dist/shell/frame/paletteModel.js.map +1 -0
  264. package/dist/shell/frame/paneTheme.css +9 -0
  265. package/dist/shell/frame/pluginCommandStore.d.ts +23 -0
  266. package/dist/shell/frame/pluginCommandStore.js +70 -0
  267. package/dist/shell/frame/pluginCommandStore.js.map +1 -0
  268. package/dist/shell/frame/reportModel.d.ts +52 -0
  269. package/dist/shell/frame/reportModel.js +105 -0
  270. package/dist/shell/frame/reportModel.js.map +1 -0
  271. package/dist/shell/frame/safeStore.d.ts +7 -0
  272. package/dist/shell/frame/safeStore.js +40 -0
  273. package/dist/shell/frame/safeStore.js.map +1 -0
  274. package/dist/shell/frame/searchInput.d.ts +2 -0
  275. package/dist/shell/frame/searchInput.js +11 -0
  276. package/dist/shell/frame/searchInput.js.map +1 -0
  277. package/dist/shell/frame/shell.css +634 -0
  278. package/dist/shell/frame/site.d.ts +206 -0
  279. package/dist/shell/frame/site.js +22 -0
  280. package/dist/shell/frame/site.js.map +1 -0
  281. package/dist/shell/frame/state.d.ts +101 -0
  282. package/dist/shell/frame/state.js +286 -0
  283. package/dist/shell/frame/state.js.map +1 -0
  284. package/dist/shell/frame/syncGate.d.ts +10 -0
  285. package/dist/shell/frame/syncGate.js +36 -0
  286. package/dist/shell/frame/syncGate.js.map +1 -0
  287. package/dist/shell/frame/syncHost.d.ts +35 -0
  288. package/dist/shell/frame/syncHost.js +85 -0
  289. package/dist/shell/frame/syncHost.js.map +1 -0
  290. package/dist/shell/frame/tabStill.d.ts +2 -0
  291. package/dist/shell/frame/tabStill.js +62 -0
  292. package/dist/shell/frame/tabStill.js.map +1 -0
  293. package/dist/shell/frame/themeScopes.d.ts +29 -0
  294. package/dist/shell/frame/themeScopes.js +61 -0
  295. package/dist/shell/frame/themeScopes.js.map +1 -0
  296. package/dist/shell/frame/themeStore.d.ts +99 -0
  297. package/dist/shell/frame/themeStore.js +267 -0
  298. package/dist/shell/frame/themeStore.js.map +1 -0
  299. package/dist/shell/frame/windowBinding.d.ts +2 -0
  300. package/dist/shell/frame/windowBinding.js +7 -0
  301. package/dist/shell/frame/windowBinding.js.map +1 -0
  302. package/dist/shell/frame/workspaceModel.d.ts +82 -0
  303. package/dist/shell/frame/workspaceModel.js +250 -0
  304. package/dist/shell/frame/workspaceModel.js.map +1 -0
  305. package/dist/shell/frame/workspaces.css +84 -0
  306. package/dist/shell/frame/workspaces.d.ts +22 -0
  307. package/dist/shell/frame/workspaces.js +125 -0
  308. package/dist/shell/frame/workspaces.js.map +1 -0
  309. package/dist/shell/frame/zoomStore.d.ts +10 -0
  310. package/dist/shell/frame/zoomStore.js +65 -0
  311. package/dist/shell/frame/zoomStore.js.map +1 -0
  312. package/dist/shell/installController.d.ts +137 -0
  313. package/dist/shell/installController.js +172 -0
  314. package/dist/shell/installController.js.map +1 -0
  315. package/dist/shell/installerMessages.d.ts +30 -0
  316. package/dist/shell/installerMessages.js +36 -0
  317. package/dist/shell/installerMessages.js.map +1 -0
  318. package/dist/shell/linkDrop.js.map +1 -1
  319. package/dist/shell/messages.d.ts +16 -0
  320. package/dist/shell/messages.js +27 -0
  321. package/dist/shell/messages.js.map +1 -0
  322. package/dist/shell/palette.js.map +1 -1
  323. package/dist/shell/paneModel.d.ts +22 -0
  324. package/dist/shell/paneModel.js +24 -1
  325. package/dist/shell/paneModel.js.map +1 -1
  326. package/dist/shell/panel/Appearance.d.ts +8 -0
  327. package/dist/shell/panel/Appearance.js +265 -0
  328. package/dist/shell/panel/Appearance.js.map +1 -0
  329. package/dist/shell/panel/BackupPanel.d.ts +5 -0
  330. package/dist/shell/panel/BackupPanel.js +198 -0
  331. package/dist/shell/panel/BackupPanel.js.map +1 -0
  332. package/dist/shell/panel/DeveloperPanel.d.ts +4 -0
  333. package/dist/shell/panel/DeveloperPanel.js +51 -0
  334. package/dist/shell/panel/DeveloperPanel.js.map +1 -0
  335. package/dist/shell/panel/FeatureToggles.d.ts +13 -0
  336. package/dist/shell/panel/FeatureToggles.js +42 -0
  337. package/dist/shell/panel/FeatureToggles.js.map +1 -0
  338. package/dist/shell/panel/Home.d.ts +3 -0
  339. package/dist/shell/panel/Home.js +23 -0
  340. package/dist/shell/panel/Home.js.map +1 -0
  341. package/dist/shell/panel/IconPackInstall.d.ts +15 -0
  342. package/dist/shell/panel/IconPackInstall.js +41 -0
  343. package/dist/shell/panel/IconPackInstall.js.map +1 -0
  344. package/dist/shell/panel/LanguageSettings.d.ts +1 -0
  345. package/dist/shell/panel/LanguageSettings.js +54 -0
  346. package/dist/shell/panel/LanguageSettings.js.map +1 -0
  347. package/dist/shell/panel/MakePanel.d.ts +3 -0
  348. package/dist/shell/panel/MakePanel.js +237 -0
  349. package/dist/shell/panel/MakePanel.js.map +1 -0
  350. package/dist/shell/panel/MarkdownDoc.d.ts +6 -0
  351. package/dist/shell/panel/MarkdownDoc.js +35 -0
  352. package/dist/shell/panel/MarkdownDoc.js.map +1 -0
  353. package/dist/shell/panel/Modes.d.ts +40 -0
  354. package/dist/shell/panel/Modes.js +270 -0
  355. package/dist/shell/panel/Modes.js.map +1 -0
  356. package/dist/shell/panel/NavIcon.d.ts +4 -0
  357. package/dist/shell/panel/NavIcon.js +6 -0
  358. package/dist/shell/panel/NavIcon.js.map +1 -0
  359. package/dist/shell/panel/Panel.d.ts +7 -0
  360. package/dist/shell/panel/Panel.js +139 -0
  361. package/dist/shell/panel/Panel.js.map +1 -0
  362. package/dist/shell/panel/PluginFeatures.d.ts +24 -0
  363. package/dist/shell/panel/PluginFeatures.js +165 -0
  364. package/dist/shell/panel/PluginFeatures.js.map +1 -0
  365. package/dist/shell/panel/Plugins.d.ts +33 -0
  366. package/dist/shell/panel/Plugins.js +112 -0
  367. package/dist/shell/panel/Plugins.js.map +1 -0
  368. package/dist/shell/panel/PowerSettings.d.ts +4 -0
  369. package/dist/shell/panel/PowerSettings.js +52 -0
  370. package/dist/shell/panel/PowerSettings.js.map +1 -0
  371. package/dist/shell/panel/Settings.d.ts +23 -0
  372. package/dist/shell/panel/Settings.js +117 -0
  373. package/dist/shell/panel/Settings.js.map +1 -0
  374. package/dist/shell/panel/ShareSetup.d.ts +8 -0
  375. package/dist/shell/panel/ShareSetup.js +130 -0
  376. package/dist/shell/panel/ShareSetup.js.map +1 -0
  377. package/dist/shell/panel/StoreSection.d.ts +7 -0
  378. package/dist/shell/panel/StoreSection.js +78 -0
  379. package/dist/shell/panel/StoreSection.js.map +1 -0
  380. package/dist/shell/panel/StringPacks.d.ts +20 -0
  381. package/dist/shell/panel/StringPacks.js +131 -0
  382. package/dist/shell/panel/StringPacks.js.map +1 -0
  383. package/dist/shell/panel/ThemeBuilder.d.ts +5 -0
  384. package/dist/shell/panel/ThemeBuilder.js +205 -0
  385. package/dist/shell/panel/ThemeBuilder.js.map +1 -0
  386. package/dist/shell/panel/backup.css +34 -0
  387. package/dist/shell/panel/builder.css +240 -0
  388. package/dist/shell/panel/builderModel.d.ts +55 -0
  389. package/dist/shell/panel/builderModel.js +95 -0
  390. package/dist/shell/panel/builderModel.js.map +1 -0
  391. package/dist/shell/panel/compare.d.ts +10 -0
  392. package/dist/shell/panel/compare.js +51 -0
  393. package/dist/shell/panel/compare.js.map +1 -0
  394. package/dist/shell/panel/controls.d.ts +135 -0
  395. package/dist/shell/panel/controls.js +213 -0
  396. package/dist/shell/panel/controls.js.map +1 -0
  397. package/dist/shell/panel/featureModel.d.ts +69 -0
  398. package/dist/shell/panel/featureModel.js +79 -0
  399. package/dist/shell/panel/featureModel.js.map +1 -0
  400. package/dist/shell/panel/fonts/FontBrowser.d.ts +10 -0
  401. package/dist/shell/panel/fonts/FontBrowser.js +189 -0
  402. package/dist/shell/panel/fonts/FontBrowser.js.map +1 -0
  403. package/dist/shell/panel/fonts/FontRoles.d.ts +20 -0
  404. package/dist/shell/panel/fonts/FontRoles.js +77 -0
  405. package/dist/shell/panel/fonts/FontRoles.js.map +1 -0
  406. package/dist/shell/panel/fonts/catalog.d.ts +37 -0
  407. package/dist/shell/panel/fonts/catalog.js +68 -0
  408. package/dist/shell/panel/fonts/catalog.js.map +1 -0
  409. package/dist/shell/panel/fonts/googleFontsCatalog.json +1 -0
  410. package/dist/shell/panel/index.d.ts +20 -0
  411. package/dist/shell/panel/index.js +34 -0
  412. package/dist/shell/panel/index.js.map +1 -0
  413. package/dist/shell/panel/languageModel.d.ts +5 -0
  414. package/dist/shell/panel/languageModel.js +7 -0
  415. package/dist/shell/panel/languageModel.js.map +1 -0
  416. package/dist/shell/panel/make.css +73 -0
  417. package/dist/shell/panel/makeModel.d.ts +32 -0
  418. package/dist/shell/panel/makeModel.js +84 -0
  419. package/dist/shell/panel/makeModel.js.map +1 -0
  420. package/dist/shell/panel/markdown.d.ts +46 -0
  421. package/dist/shell/panel/markdown.js +100 -0
  422. package/dist/shell/panel/markdown.js.map +1 -0
  423. package/dist/shell/panel/nav.d.ts +12 -0
  424. package/dist/shell/panel/nav.js +50 -0
  425. package/dist/shell/panel/nav.js.map +1 -0
  426. package/dist/shell/panel/panel.css +401 -0
  427. package/dist/shell/panel/panelMessages.d.ts +803 -0
  428. package/dist/shell/panel/panelMessages.js +779 -0
  429. package/dist/shell/panel/panelMessages.js.map +1 -0
  430. package/dist/shell/panel/plugins.css +59 -0
  431. package/dist/shell/panel/setupModel.d.ts +87 -0
  432. package/dist/shell/panel/setupModel.js +152 -0
  433. package/dist/shell/panel/setupModel.js.map +1 -0
  434. package/dist/shell/panel/site.d.ts +259 -0
  435. package/dist/shell/panel/site.js +25 -0
  436. package/dist/shell/panel/site.js.map +1 -0
  437. package/dist/shell/panel/strings.css +7 -0
  438. package/dist/shell/panel/themes.d.ts +10 -0
  439. package/dist/shell/panel/themes.js +8 -0
  440. package/dist/shell/panel/themes.js.map +1 -0
  441. package/dist/shell/profileModel.d.ts +3 -2
  442. package/dist/shell/profileModel.js +7 -5
  443. package/dist/shell/profileModel.js.map +1 -1
  444. package/dist/shell/store.css +250 -0
  445. package/dist/shell/storeMessages.d.ts +193 -0
  446. package/dist/shell/storeMessages.js +196 -0
  447. package/dist/shell/storeMessages.js.map +1 -0
  448. package/dist/shell/storeModel.d.ts +205 -0
  449. package/dist/shell/storeModel.js +146 -0
  450. package/dist/shell/storeModel.js.map +1 -0
  451. package/dist/shell/stringPacksModel.d.ts +44 -0
  452. package/dist/shell/stringPacksModel.js +99 -0
  453. package/dist/shell/stringPacksModel.js.map +1 -0
  454. package/dist/shell/updateModel.d.ts +2 -1
  455. package/dist/shell/updateModel.js +5 -4
  456. package/dist/shell/updateModel.js.map +1 -1
  457. package/dist/shell/windowControls.d.ts +4 -0
  458. package/dist/shell/windowControls.js +5 -0
  459. package/dist/shell/windowControls.js.map +1 -1
  460. package/i18n-config.schema.json +29 -0
  461. package/i18n-meta.schema.json +26 -0
  462. package/i18n.schema.json +42 -0
  463. package/icons.schema.json +655 -0
  464. package/languages.schema.json +23 -0
  465. package/locales/ar-x-fm.json +11 -0
  466. package/locales/ar.json +1388 -0
  467. package/locales/bg.json +1387 -0
  468. package/locales/bn.json +1387 -0
  469. package/locales/ca.json +1387 -0
  470. package/locales/cs.json +1387 -0
  471. package/locales/da.json +1387 -0
  472. package/locales/de.json +1387 -0
  473. package/locales/el.json +1387 -0
  474. package/locales/en-GB.json +27 -0
  475. package/locales/en.json +1386 -0
  476. package/locales/en.meta.json +51 -0
  477. package/locales/es.json +1387 -0
  478. package/locales/eu.json +1387 -0
  479. package/locales/fa.json +1388 -0
  480. package/locales/fi.json +1387 -0
  481. package/locales/fil.json +1387 -0
  482. package/locales/fr.json +1387 -0
  483. package/locales/ga.json +1387 -0
  484. package/locales/gl.json +1387 -0
  485. package/locales/gu.json +1387 -0
  486. package/locales/ha.json +1387 -0
  487. package/locales/he.json +1388 -0
  488. package/locales/hi.json +1387 -0
  489. package/locales/hr.json +1387 -0
  490. package/locales/hu.json +1387 -0
  491. package/locales/id.json +1387 -0
  492. package/locales/ig.json +1387 -0
  493. package/locales/it.json +1387 -0
  494. package/locales/ja.json +1387 -0
  495. package/locales/kn.json +1387 -0
  496. package/locales/ko.json +1387 -0
  497. package/locales/mr.json +1387 -0
  498. package/locales/ms.json +1387 -0
  499. package/locales/nb.json +1387 -0
  500. package/locales/nl.json +1387 -0
  501. package/locales/pl.json +1387 -0
  502. package/locales/pt.json +1387 -0
  503. package/locales/ro.json +1387 -0
  504. package/locales/ru.json +1387 -0
  505. package/locales/sk.json +1387 -0
  506. package/locales/sr.json +1387 -0
  507. package/locales/sv.json +1387 -0
  508. package/locales/ta.json +1387 -0
  509. package/locales/th.json +1387 -0
  510. package/locales/tr.json +1387 -0
  511. package/locales/uk.json +1387 -0
  512. package/locales/ur.json +1388 -0
  513. package/locales/vi.json +1387 -0
  514. package/locales/yo.json +1387 -0
  515. package/locales/zh-Hans.json +1387 -0
  516. package/locales/zh-Hant.json +1387 -0
  517. package/package.json +138 -5
  518. package/store-catalog.schema.json +78 -0
  519. package/theme.schema.json +4668 -0
  520. package/windows/installer.nsi +946 -0
  521. package/windows/languages/Basque.nsh +28 -0
  522. package/windows/languages/Catalan.nsh +28 -0
  523. package/windows/languages/Croatian.nsh +28 -0
  524. package/windows/languages/Czech.nsh +28 -0
  525. package/windows/languages/Danish.nsh +28 -0
  526. package/windows/languages/Finnish.nsh +28 -0
  527. package/windows/languages/Galician.nsh +28 -0
  528. package/windows/languages/Greek.nsh +28 -0
  529. package/windows/languages/Hungarian.nsh +28 -0
  530. package/windows/languages/Indonesian.nsh +28 -0
  531. package/windows/languages/Irish.nsh +28 -0
  532. package/windows/languages/Malay.nsh +28 -0
  533. package/windows/languages/Polish.nsh +28 -0
  534. package/windows/languages/Romanian.nsh +28 -0
  535. package/windows/languages/Serbian.nsh +28 -0
  536. package/windows/languages/Slovak.nsh +28 -0
  537. package/windows/languages/Thai.nsh +28 -0
@@ -0,0 +1,4668 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://unpkg.com/waybetter/theme.schema.json",
4
+ "title": "wayBetter theme",
5
+ "description": "A wayBetter theme document (data, not a stylesheet). Only `name` is required. Apps sanitize every field before use: values out of range are clamped and unknown values fall back to the default, so this schema describes what is kept unchanged.",
6
+ "type": "object",
7
+ "required": [
8
+ "name"
9
+ ],
10
+ "additionalProperties": false,
11
+ "properties": {
12
+ "$schema": {
13
+ "type": "string"
14
+ },
15
+ "id": {
16
+ "type": "string",
17
+ "pattern": "^[a-z0-9-]{1,40}$",
18
+ "description": "Derived from the name when missing."
19
+ },
20
+ "name": {
21
+ "type": "string",
22
+ "minLength": 1,
23
+ "maxLength": 60,
24
+ "pattern": "\\S"
25
+ },
26
+ "description": {
27
+ "type": "string",
28
+ "maxLength": 200
29
+ },
30
+ "author": {
31
+ "type": "string",
32
+ "maxLength": 60
33
+ },
34
+ "version": {
35
+ "const": 1
36
+ },
37
+ "mode": {
38
+ "enum": [
39
+ "light",
40
+ "dark",
41
+ "auto"
42
+ ],
43
+ "default": "auto",
44
+ "description": "Which way scrollbars and form controls lean."
45
+ },
46
+ "colors": {
47
+ "description": "bg, text and accent are required; every other role is derived from them when missing. null keeps the site's own colors.",
48
+ "oneOf": [
49
+ {
50
+ "type": "null"
51
+ },
52
+ {
53
+ "type": "object",
54
+ "required": [
55
+ "bg",
56
+ "text",
57
+ "accent"
58
+ ],
59
+ "additionalProperties": false,
60
+ "properties": {
61
+ "bg": {
62
+ "$ref": "#/$defs/hex",
63
+ "description": "Column background."
64
+ },
65
+ "surface": {
66
+ "$ref": "#/$defs/hex",
67
+ "description": "Raised surface (cards, inputs)."
68
+ },
69
+ "elevated": {
70
+ "$ref": "#/$defs/hex",
71
+ "description": "Hover / selected surface."
72
+ },
73
+ "border": {
74
+ "$ref": "#/$defs/hex"
75
+ },
76
+ "text": {
77
+ "$ref": "#/$defs/hex"
78
+ },
79
+ "muted": {
80
+ "$ref": "#/$defs/hex",
81
+ "description": "Secondary text."
82
+ },
83
+ "accent": {
84
+ "$ref": "#/$defs/hex",
85
+ "description": "Links, focus, selected tabs."
86
+ },
87
+ "inverse": {
88
+ "$ref": "#/$defs/hex",
89
+ "description": "The filled primary button."
90
+ },
91
+ "onInverse": {
92
+ "$ref": "#/$defs/hex",
93
+ "description": "The filled primary button's label."
94
+ },
95
+ "page": {
96
+ "$ref": "#/$defs/hex",
97
+ "description": "The canvas behind the columns (defaults to bg)."
98
+ },
99
+ "actions": {
100
+ "description": "Colors of a set action (liked, reposted, bookmarked) and of the reply hover. Absent: the site's own.",
101
+ "type": "object",
102
+ "additionalProperties": false,
103
+ "properties": {
104
+ "reply": {
105
+ "$ref": "#/$defs/hex"
106
+ },
107
+ "repost": {
108
+ "$ref": "#/$defs/hex"
109
+ },
110
+ "like": {
111
+ "$ref": "#/$defs/hex"
112
+ },
113
+ "bookmark": {
114
+ "$ref": "#/$defs/hex"
115
+ }
116
+ }
117
+ }
118
+ }
119
+ }
120
+ ]
121
+ },
122
+ "font": {
123
+ "type": "object",
124
+ "additionalProperties": false,
125
+ "properties": {
126
+ "family": {
127
+ "$ref": "#/$defs/fontStack",
128
+ "description": "Interface font stack; empty keeps the site's font. Shorthand of roles.interface.family (kept for older apps); when roles.interface is present it wins."
129
+ },
130
+ "tweet": {
131
+ "$ref": "#/$defs/fontStack",
132
+ "description": "Post text stack; shorthand of roles.post.family (roles.post wins)."
133
+ },
134
+ "roles": {
135
+ "type": "object",
136
+ "additionalProperties": false,
137
+ "description": "Which font goes where. A role is \"inherit\" (the interface font; an inheriting mono role keeps a monospaced face) or its own stack with optional settings.",
138
+ "properties": {
139
+ "interface": {
140
+ "$ref": "#/$defs/interfaceRole",
141
+ "description": "The site's whole UI; every other role inherits it."
142
+ },
143
+ "post": {
144
+ "$ref": "#/$defs/fontRole",
145
+ "description": "Post text."
146
+ },
147
+ "heading": {
148
+ "$ref": "#/$defs/fontRole",
149
+ "description": "Display names and headings."
150
+ },
151
+ "numbers": {
152
+ "$ref": "#/$defs/fontRole",
153
+ "description": "Counts (likes, reposts, followers)."
154
+ },
155
+ "mono": {
156
+ "$ref": "#/$defs/fontRole",
157
+ "description": "Code."
158
+ },
159
+ "chrome": {
160
+ "$ref": "#/$defs/fontRole",
161
+ "description": "The app's own window: tabs, address bar, titlebar, panel."
162
+ },
163
+ "dialog": {
164
+ "$ref": "#/$defs/fontRole",
165
+ "description": "Plugin dialogs and toasts (the UI kit)."
166
+ }
167
+ }
168
+ },
169
+ "scale": {
170
+ "type": "number",
171
+ "minimum": 0.85,
172
+ "maximum": 1.2,
173
+ "default": 1
174
+ },
175
+ "weight": {
176
+ "type": "integer",
177
+ "minimum": 300,
178
+ "maximum": 500,
179
+ "default": 400
180
+ },
181
+ "bold": {
182
+ "type": "integer",
183
+ "minimum": 500,
184
+ "maximum": 800,
185
+ "default": 700
186
+ },
187
+ "tracking": {
188
+ "type": "number",
189
+ "minimum": -0.03,
190
+ "maximum": 0.06,
191
+ "default": 0,
192
+ "description": "Letter spacing in em."
193
+ },
194
+ "leading": {
195
+ "description": "Post line height; 0 keeps the site's.",
196
+ "anyOf": [
197
+ {
198
+ "const": 0
199
+ },
200
+ {
201
+ "type": "number",
202
+ "minimum": 1.2,
203
+ "maximum": 1.8
204
+ }
205
+ ],
206
+ "default": 0
207
+ }
208
+ }
209
+ },
210
+ "shape": {
211
+ "type": "object",
212
+ "additionalProperties": false,
213
+ "properties": {
214
+ "radius": {
215
+ "type": "integer",
216
+ "minimum": 0,
217
+ "maximum": 28,
218
+ "default": 16,
219
+ "description": "Card radius in px."
220
+ },
221
+ "button": {
222
+ "type": "integer",
223
+ "minimum": 0,
224
+ "maximum": 9999,
225
+ "default": 9999,
226
+ "description": "Button radius in px (9999 = pill)."
227
+ },
228
+ "avatar": {
229
+ "enum": [
230
+ "circle",
231
+ "rounded",
232
+ "square"
233
+ ],
234
+ "default": "circle"
235
+ }
236
+ }
237
+ },
238
+ "layout": {
239
+ "type": "object",
240
+ "additionalProperties": false,
241
+ "properties": {
242
+ "column": {
243
+ "type": "integer",
244
+ "minimum": 520,
245
+ "maximum": 820,
246
+ "default": 600
247
+ },
248
+ "sidebar": {
249
+ "type": "integer",
250
+ "minimum": 290,
251
+ "maximum": 400,
252
+ "default": 350
253
+ },
254
+ "density": {
255
+ "enum": [
256
+ "compact",
257
+ "default",
258
+ "comfortable"
259
+ ],
260
+ "default": "default"
261
+ },
262
+ "cards": {
263
+ "type": "boolean",
264
+ "default": false
265
+ },
266
+ "frame": {
267
+ "type": "boolean",
268
+ "default": false
269
+ }
270
+ }
271
+ },
272
+ "background": {
273
+ "oneOf": [
274
+ {
275
+ "type": "object",
276
+ "required": [
277
+ "kind"
278
+ ],
279
+ "additionalProperties": false,
280
+ "properties": {
281
+ "kind": {
282
+ "const": "none"
283
+ }
284
+ }
285
+ },
286
+ {
287
+ "type": "object",
288
+ "required": [
289
+ "kind",
290
+ "from",
291
+ "to"
292
+ ],
293
+ "additionalProperties": false,
294
+ "properties": {
295
+ "kind": {
296
+ "const": "gradient"
297
+ },
298
+ "from": {
299
+ "$ref": "#/$defs/hex"
300
+ },
301
+ "to": {
302
+ "$ref": "#/$defs/hex"
303
+ },
304
+ "angle": {
305
+ "type": "integer",
306
+ "minimum": 0,
307
+ "maximum": 360,
308
+ "default": 180
309
+ },
310
+ "glow": {
311
+ "$ref": "#/$defs/hex"
312
+ }
313
+ }
314
+ },
315
+ {
316
+ "type": "object",
317
+ "required": [
318
+ "kind",
319
+ "ink"
320
+ ],
321
+ "additionalProperties": false,
322
+ "properties": {
323
+ "kind": {
324
+ "const": "pattern"
325
+ },
326
+ "pattern": {
327
+ "enum": [
328
+ "dots",
329
+ "grid",
330
+ "diagonal",
331
+ "scanlines",
332
+ "paper",
333
+ "clouds"
334
+ ],
335
+ "default": "dots"
336
+ },
337
+ "ink": {
338
+ "$ref": "#/$defs/hex"
339
+ },
340
+ "opacity": {
341
+ "type": "number",
342
+ "minimum": 0,
343
+ "maximum": 0.6,
344
+ "default": 0.1
345
+ },
346
+ "size": {
347
+ "type": "integer",
348
+ "minimum": 2,
349
+ "maximum": 400,
350
+ "default": 24
351
+ }
352
+ }
353
+ },
354
+ {
355
+ "type": "object",
356
+ "required": [
357
+ "kind",
358
+ "url"
359
+ ],
360
+ "additionalProperties": false,
361
+ "properties": {
362
+ "kind": {
363
+ "const": "image"
364
+ },
365
+ "url": {
366
+ "type": "string",
367
+ "maxLength": 1100000,
368
+ "pattern": "^data:image/(png|jpeg|webp|gif|avif);base64,[A-Za-z0-9+/]+={0,2}$",
369
+ "description": "An embedded image (about 800 KB at most). Remote URLs are never loaded."
370
+ },
371
+ "fit": {
372
+ "enum": [
373
+ "cover",
374
+ "tile"
375
+ ],
376
+ "default": "cover"
377
+ },
378
+ "dim": {
379
+ "type": "number",
380
+ "minimum": 0.35,
381
+ "maximum": 0.95,
382
+ "default": 0.6
383
+ }
384
+ }
385
+ }
386
+ ]
387
+ },
388
+ "effects": {
389
+ "type": "object",
390
+ "additionalProperties": false,
391
+ "properties": {
392
+ "motion": {
393
+ "type": "integer",
394
+ "minimum": 0,
395
+ "maximum": 400,
396
+ "default": 0,
397
+ "description": "Transition length in ms."
398
+ },
399
+ "hover": {
400
+ "enum": [
401
+ "none",
402
+ "tint",
403
+ "lift",
404
+ "glow"
405
+ ],
406
+ "default": "none"
407
+ },
408
+ "shadow": {
409
+ "enum": [
410
+ "none",
411
+ "soft",
412
+ "deep"
413
+ ],
414
+ "default": "none"
415
+ },
416
+ "crt": {
417
+ "type": "boolean",
418
+ "default": false
419
+ }
420
+ }
421
+ },
422
+ "css": {
423
+ "type": "string",
424
+ "maxLength": 60000,
425
+ "description": "Free-form CSS appended last. Same trust level as the owner's own Custom CSS; import dialogs say so."
426
+ },
427
+ "components": {
428
+ "description": "How each piece of the site is built. Every token is optional; a missing token changes nothing.",
429
+ "type": "object",
430
+ "additionalProperties": false,
431
+ "properties": {
432
+ "nav": {
433
+ "type": "object",
434
+ "additionalProperties": false,
435
+ "properties": {
436
+ "radius": {
437
+ "oneOf": [
438
+ {
439
+ "type": "number",
440
+ "minimum": 0,
441
+ "maximum": 32
442
+ },
443
+ {
444
+ "const": "pill"
445
+ }
446
+ ]
447
+ },
448
+ "borderWidth": {
449
+ "type": "number",
450
+ "minimum": 0,
451
+ "maximum": 4
452
+ },
453
+ "borderStyle": {
454
+ "enum": [
455
+ "none",
456
+ "solid",
457
+ "dashed",
458
+ "dotted",
459
+ "double",
460
+ "bevel-out",
461
+ "bevel-in"
462
+ ]
463
+ },
464
+ "borderColor": {
465
+ "$ref": "#/$defs/role"
466
+ },
467
+ "fill": {
468
+ "$ref": "#/$defs/fillGlassGradient"
469
+ },
470
+ "text": {
471
+ "$ref": "#/$defs/role"
472
+ },
473
+ "padX": {
474
+ "type": "number",
475
+ "minimum": 0,
476
+ "maximum": 32
477
+ },
478
+ "padY": {
479
+ "type": "number",
480
+ "minimum": 0,
481
+ "maximum": 32
482
+ },
483
+ "gap": {
484
+ "type": "number",
485
+ "minimum": 0,
486
+ "maximum": 24
487
+ },
488
+ "shadow": {
489
+ "$ref": "#/$defs/shadow"
490
+ },
491
+ "hover": {
492
+ "$ref": "#/$defs/stateGlassGradient"
493
+ },
494
+ "active": {
495
+ "$ref": "#/$defs/stateGlassGradient"
496
+ },
497
+ "focus": {
498
+ "$ref": "#/$defs/stateGlassGradient"
499
+ },
500
+ "width": {
501
+ "type": "number",
502
+ "minimum": 56,
503
+ "maximum": 320
504
+ }
505
+ }
506
+ },
507
+ "navItem": {
508
+ "type": "object",
509
+ "additionalProperties": false,
510
+ "properties": {
511
+ "radius": {
512
+ "oneOf": [
513
+ {
514
+ "type": "number",
515
+ "minimum": 0,
516
+ "maximum": 32
517
+ },
518
+ {
519
+ "const": "pill"
520
+ }
521
+ ]
522
+ },
523
+ "borderWidth": {
524
+ "type": "number",
525
+ "minimum": 0,
526
+ "maximum": 4
527
+ },
528
+ "borderStyle": {
529
+ "enum": [
530
+ "none",
531
+ "solid",
532
+ "dashed",
533
+ "dotted",
534
+ "double",
535
+ "bevel-out",
536
+ "bevel-in"
537
+ ]
538
+ },
539
+ "borderColor": {
540
+ "$ref": "#/$defs/role"
541
+ },
542
+ "fill": {
543
+ "$ref": "#/$defs/fill"
544
+ },
545
+ "text": {
546
+ "$ref": "#/$defs/role"
547
+ },
548
+ "padX": {
549
+ "type": "number",
550
+ "minimum": 0,
551
+ "maximum": 32
552
+ },
553
+ "padY": {
554
+ "type": "number",
555
+ "minimum": 0,
556
+ "maximum": 32
557
+ },
558
+ "gap": {
559
+ "type": "number",
560
+ "minimum": 0,
561
+ "maximum": 24
562
+ },
563
+ "shadow": {
564
+ "$ref": "#/$defs/shadow"
565
+ },
566
+ "hover": {
567
+ "$ref": "#/$defs/state"
568
+ },
569
+ "active": {
570
+ "$ref": "#/$defs/state"
571
+ },
572
+ "focus": {
573
+ "$ref": "#/$defs/state"
574
+ },
575
+ "height": {
576
+ "type": "number",
577
+ "minimum": 36,
578
+ "maximum": 64
579
+ },
580
+ "fontSize": {
581
+ "type": "number",
582
+ "minimum": 12,
583
+ "maximum": 20
584
+ },
585
+ "font": {
586
+ "$ref": "#/$defs/fontRoleName"
587
+ },
588
+ "weight": {
589
+ "type": "number",
590
+ "minimum": 100,
591
+ "maximum": 900
592
+ },
593
+ "case": {
594
+ "enum": [
595
+ "none",
596
+ "upper",
597
+ "lower",
598
+ "capitalize",
599
+ "small-caps"
600
+ ]
601
+ },
602
+ "tracking": {
603
+ "type": "number",
604
+ "minimum": -0.05,
605
+ "maximum": 0.2
606
+ },
607
+ "leading": {
608
+ "type": "number",
609
+ "minimum": 1.1,
610
+ "maximum": 2
611
+ }
612
+ }
613
+ },
614
+ "topBar": {
615
+ "type": "object",
616
+ "additionalProperties": false,
617
+ "properties": {
618
+ "radius": {
619
+ "oneOf": [
620
+ {
621
+ "type": "number",
622
+ "minimum": 0,
623
+ "maximum": 32
624
+ },
625
+ {
626
+ "const": "pill"
627
+ }
628
+ ]
629
+ },
630
+ "borderWidth": {
631
+ "type": "number",
632
+ "minimum": 0,
633
+ "maximum": 4
634
+ },
635
+ "borderStyle": {
636
+ "enum": [
637
+ "none",
638
+ "solid",
639
+ "dashed",
640
+ "dotted",
641
+ "double",
642
+ "bevel-out",
643
+ "bevel-in"
644
+ ]
645
+ },
646
+ "borderColor": {
647
+ "$ref": "#/$defs/role"
648
+ },
649
+ "fill": {
650
+ "$ref": "#/$defs/fillGlassGradient"
651
+ },
652
+ "text": {
653
+ "$ref": "#/$defs/role"
654
+ },
655
+ "padX": {
656
+ "type": "number",
657
+ "minimum": 0,
658
+ "maximum": 32
659
+ },
660
+ "padY": {
661
+ "type": "number",
662
+ "minimum": 0,
663
+ "maximum": 32
664
+ },
665
+ "gap": {
666
+ "type": "number",
667
+ "minimum": 0,
668
+ "maximum": 24
669
+ },
670
+ "shadow": {
671
+ "$ref": "#/$defs/shadow"
672
+ },
673
+ "hover": {
674
+ "$ref": "#/$defs/stateGlassGradient"
675
+ },
676
+ "active": {
677
+ "$ref": "#/$defs/stateGlassGradient"
678
+ },
679
+ "focus": {
680
+ "$ref": "#/$defs/stateGlassGradient"
681
+ },
682
+ "height": {
683
+ "type": "number",
684
+ "minimum": 40,
685
+ "maximum": 64
686
+ },
687
+ "fontSize": {
688
+ "type": "number",
689
+ "minimum": 12,
690
+ "maximum": 20
691
+ },
692
+ "font": {
693
+ "$ref": "#/$defs/fontRoleName"
694
+ },
695
+ "weight": {
696
+ "type": "number",
697
+ "minimum": 100,
698
+ "maximum": 900
699
+ },
700
+ "case": {
701
+ "enum": [
702
+ "none",
703
+ "upper",
704
+ "lower",
705
+ "capitalize",
706
+ "small-caps"
707
+ ]
708
+ },
709
+ "tracking": {
710
+ "type": "number",
711
+ "minimum": -0.05,
712
+ "maximum": 0.2
713
+ },
714
+ "leading": {
715
+ "type": "number",
716
+ "minimum": 1.1,
717
+ "maximum": 2
718
+ }
719
+ }
720
+ },
721
+ "tabs": {
722
+ "type": "object",
723
+ "additionalProperties": false,
724
+ "properties": {
725
+ "radius": {
726
+ "oneOf": [
727
+ {
728
+ "type": "number",
729
+ "minimum": 0,
730
+ "maximum": 32
731
+ },
732
+ {
733
+ "const": "pill"
734
+ }
735
+ ]
736
+ },
737
+ "borderWidth": {
738
+ "type": "number",
739
+ "minimum": 0,
740
+ "maximum": 4
741
+ },
742
+ "borderStyle": {
743
+ "enum": [
744
+ "none",
745
+ "solid",
746
+ "dashed",
747
+ "dotted",
748
+ "double",
749
+ "bevel-out",
750
+ "bevel-in"
751
+ ]
752
+ },
753
+ "borderColor": {
754
+ "$ref": "#/$defs/role"
755
+ },
756
+ "fill": {
757
+ "$ref": "#/$defs/fillGradient"
758
+ },
759
+ "text": {
760
+ "$ref": "#/$defs/role"
761
+ },
762
+ "padX": {
763
+ "type": "number",
764
+ "minimum": 0,
765
+ "maximum": 32
766
+ },
767
+ "padY": {
768
+ "type": "number",
769
+ "minimum": 0,
770
+ "maximum": 32
771
+ },
772
+ "gap": {
773
+ "type": "number",
774
+ "minimum": 0,
775
+ "maximum": 24
776
+ },
777
+ "shadow": {
778
+ "$ref": "#/$defs/shadow"
779
+ },
780
+ "hover": {
781
+ "$ref": "#/$defs/stateGradient"
782
+ },
783
+ "active": {
784
+ "$ref": "#/$defs/stateGradient"
785
+ },
786
+ "focus": {
787
+ "$ref": "#/$defs/stateGradient"
788
+ },
789
+ "preset": {
790
+ "enum": [
791
+ "underline",
792
+ "pills",
793
+ "folder",
794
+ "blocks"
795
+ ]
796
+ }
797
+ }
798
+ },
799
+ "tab": {
800
+ "type": "object",
801
+ "additionalProperties": false,
802
+ "properties": {
803
+ "radius": {
804
+ "oneOf": [
805
+ {
806
+ "type": "number",
807
+ "minimum": 0,
808
+ "maximum": 32
809
+ },
810
+ {
811
+ "const": "pill"
812
+ }
813
+ ]
814
+ },
815
+ "borderWidth": {
816
+ "type": "number",
817
+ "minimum": 0,
818
+ "maximum": 4
819
+ },
820
+ "borderStyle": {
821
+ "enum": [
822
+ "none",
823
+ "solid",
824
+ "dashed",
825
+ "dotted",
826
+ "double",
827
+ "bevel-out",
828
+ "bevel-in"
829
+ ]
830
+ },
831
+ "borderColor": {
832
+ "$ref": "#/$defs/role"
833
+ },
834
+ "fill": {
835
+ "$ref": "#/$defs/fill"
836
+ },
837
+ "text": {
838
+ "$ref": "#/$defs/role"
839
+ },
840
+ "padX": {
841
+ "type": "number",
842
+ "minimum": 0,
843
+ "maximum": 32
844
+ },
845
+ "padY": {
846
+ "type": "number",
847
+ "minimum": 0,
848
+ "maximum": 32
849
+ },
850
+ "gap": {
851
+ "type": "number",
852
+ "minimum": 0,
853
+ "maximum": 24
854
+ },
855
+ "shadow": {
856
+ "$ref": "#/$defs/shadow"
857
+ },
858
+ "hover": {
859
+ "$ref": "#/$defs/state"
860
+ },
861
+ "active": {
862
+ "$ref": "#/$defs/state"
863
+ },
864
+ "focus": {
865
+ "$ref": "#/$defs/state"
866
+ },
867
+ "preset": {
868
+ "enum": [
869
+ "underline",
870
+ "pills",
871
+ "folder",
872
+ "blocks"
873
+ ]
874
+ },
875
+ "height": {
876
+ "type": "number",
877
+ "minimum": 32,
878
+ "maximum": 56
879
+ },
880
+ "fontSize": {
881
+ "type": "number",
882
+ "minimum": 12,
883
+ "maximum": 20
884
+ },
885
+ "font": {
886
+ "$ref": "#/$defs/fontRoleName"
887
+ },
888
+ "weight": {
889
+ "type": "number",
890
+ "minimum": 100,
891
+ "maximum": 900
892
+ },
893
+ "case": {
894
+ "enum": [
895
+ "none",
896
+ "upper",
897
+ "lower",
898
+ "capitalize",
899
+ "small-caps"
900
+ ]
901
+ },
902
+ "tracking": {
903
+ "type": "number",
904
+ "minimum": -0.05,
905
+ "maximum": 0.2
906
+ },
907
+ "leading": {
908
+ "type": "number",
909
+ "minimum": 1.1,
910
+ "maximum": 2
911
+ }
912
+ }
913
+ },
914
+ "post": {
915
+ "type": "object",
916
+ "additionalProperties": false,
917
+ "properties": {
918
+ "radius": {
919
+ "oneOf": [
920
+ {
921
+ "type": "number",
922
+ "minimum": 0,
923
+ "maximum": 32
924
+ },
925
+ {
926
+ "const": "pill"
927
+ }
928
+ ]
929
+ },
930
+ "borderWidth": {
931
+ "type": "number",
932
+ "minimum": 0,
933
+ "maximum": 4
934
+ },
935
+ "borderStyle": {
936
+ "enum": [
937
+ "none",
938
+ "solid",
939
+ "dashed",
940
+ "dotted",
941
+ "double",
942
+ "bevel-out",
943
+ "bevel-in"
944
+ ]
945
+ },
946
+ "borderColor": {
947
+ "$ref": "#/$defs/role"
948
+ },
949
+ "fill": {
950
+ "$ref": "#/$defs/fill"
951
+ },
952
+ "text": {
953
+ "$ref": "#/$defs/role"
954
+ },
955
+ "padX": {
956
+ "type": "number",
957
+ "minimum": 0,
958
+ "maximum": 32
959
+ },
960
+ "padY": {
961
+ "type": "number",
962
+ "minimum": 0,
963
+ "maximum": 32
964
+ },
965
+ "gap": {
966
+ "type": "number",
967
+ "minimum": 0,
968
+ "maximum": 24
969
+ },
970
+ "shadow": {
971
+ "$ref": "#/$defs/shadow"
972
+ },
973
+ "hover": {
974
+ "$ref": "#/$defs/state"
975
+ },
976
+ "active": {
977
+ "$ref": "#/$defs/state"
978
+ },
979
+ "focus": {
980
+ "$ref": "#/$defs/state"
981
+ },
982
+ "preset": {
983
+ "enum": [
984
+ "flat",
985
+ "card",
986
+ "bubble",
987
+ "window",
988
+ "ruled"
989
+ ]
990
+ },
991
+ "corner": {
992
+ "enum": [
993
+ "round",
994
+ "cut"
995
+ ]
996
+ }
997
+ }
998
+ },
999
+ "avatar": {
1000
+ "type": "object",
1001
+ "additionalProperties": false,
1002
+ "properties": {
1003
+ "radius": {
1004
+ "oneOf": [
1005
+ {
1006
+ "type": "number",
1007
+ "minimum": 0,
1008
+ "maximum": 32
1009
+ },
1010
+ {
1011
+ "const": "pill"
1012
+ }
1013
+ ]
1014
+ },
1015
+ "borderWidth": {
1016
+ "type": "number",
1017
+ "minimum": 0,
1018
+ "maximum": 4
1019
+ },
1020
+ "borderStyle": {
1021
+ "enum": [
1022
+ "none",
1023
+ "solid",
1024
+ "dashed",
1025
+ "dotted",
1026
+ "double",
1027
+ "bevel-out",
1028
+ "bevel-in"
1029
+ ]
1030
+ },
1031
+ "borderColor": {
1032
+ "$ref": "#/$defs/role"
1033
+ },
1034
+ "fill": {
1035
+ "$ref": "#/$defs/fill"
1036
+ },
1037
+ "text": {
1038
+ "$ref": "#/$defs/role"
1039
+ },
1040
+ "padX": {
1041
+ "type": "number",
1042
+ "minimum": 0,
1043
+ "maximum": 32
1044
+ },
1045
+ "padY": {
1046
+ "type": "number",
1047
+ "minimum": 0,
1048
+ "maximum": 32
1049
+ },
1050
+ "gap": {
1051
+ "type": "number",
1052
+ "minimum": 0,
1053
+ "maximum": 24
1054
+ },
1055
+ "shadow": {
1056
+ "$ref": "#/$defs/shadow"
1057
+ },
1058
+ "hover": {
1059
+ "$ref": "#/$defs/state"
1060
+ },
1061
+ "active": {
1062
+ "$ref": "#/$defs/state"
1063
+ },
1064
+ "focus": {
1065
+ "$ref": "#/$defs/state"
1066
+ },
1067
+ "size": {
1068
+ "type": "number",
1069
+ "minimum": 20,
1070
+ "maximum": 64
1071
+ },
1072
+ "shape": {
1073
+ "enum": [
1074
+ "circle",
1075
+ "rounded",
1076
+ "square",
1077
+ "squircle",
1078
+ "hexagon",
1079
+ "octagon",
1080
+ "diamond"
1081
+ ]
1082
+ },
1083
+ "visible": {
1084
+ "type": "boolean"
1085
+ }
1086
+ }
1087
+ },
1088
+ "displayName": {
1089
+ "type": "object",
1090
+ "additionalProperties": false,
1091
+ "properties": {
1092
+ "radius": {
1093
+ "oneOf": [
1094
+ {
1095
+ "type": "number",
1096
+ "minimum": 0,
1097
+ "maximum": 32
1098
+ },
1099
+ {
1100
+ "const": "pill"
1101
+ }
1102
+ ]
1103
+ },
1104
+ "borderWidth": {
1105
+ "type": "number",
1106
+ "minimum": 0,
1107
+ "maximum": 4
1108
+ },
1109
+ "borderStyle": {
1110
+ "enum": [
1111
+ "none",
1112
+ "solid",
1113
+ "dashed",
1114
+ "dotted",
1115
+ "double",
1116
+ "bevel-out",
1117
+ "bevel-in"
1118
+ ]
1119
+ },
1120
+ "borderColor": {
1121
+ "$ref": "#/$defs/role"
1122
+ },
1123
+ "fill": {
1124
+ "$ref": "#/$defs/fill"
1125
+ },
1126
+ "text": {
1127
+ "$ref": "#/$defs/role"
1128
+ },
1129
+ "padX": {
1130
+ "type": "number",
1131
+ "minimum": 0,
1132
+ "maximum": 32
1133
+ },
1134
+ "padY": {
1135
+ "type": "number",
1136
+ "minimum": 0,
1137
+ "maximum": 32
1138
+ },
1139
+ "gap": {
1140
+ "type": "number",
1141
+ "minimum": 0,
1142
+ "maximum": 24
1143
+ },
1144
+ "shadow": {
1145
+ "$ref": "#/$defs/shadow"
1146
+ },
1147
+ "hover": {
1148
+ "$ref": "#/$defs/state"
1149
+ },
1150
+ "active": {
1151
+ "$ref": "#/$defs/state"
1152
+ },
1153
+ "focus": {
1154
+ "$ref": "#/$defs/state"
1155
+ },
1156
+ "fontSize": {
1157
+ "type": "number",
1158
+ "minimum": 12,
1159
+ "maximum": 20
1160
+ },
1161
+ "font": {
1162
+ "$ref": "#/$defs/fontRoleName"
1163
+ },
1164
+ "weight": {
1165
+ "type": "number",
1166
+ "minimum": 100,
1167
+ "maximum": 900
1168
+ },
1169
+ "case": {
1170
+ "enum": [
1171
+ "none",
1172
+ "upper",
1173
+ "lower",
1174
+ "capitalize",
1175
+ "small-caps"
1176
+ ]
1177
+ },
1178
+ "tracking": {
1179
+ "type": "number",
1180
+ "minimum": -0.05,
1181
+ "maximum": 0.2
1182
+ },
1183
+ "leading": {
1184
+ "type": "number",
1185
+ "minimum": 1.1,
1186
+ "maximum": 2
1187
+ },
1188
+ "visible": {
1189
+ "type": "boolean"
1190
+ }
1191
+ }
1192
+ },
1193
+ "handle": {
1194
+ "type": "object",
1195
+ "additionalProperties": false,
1196
+ "properties": {
1197
+ "radius": {
1198
+ "oneOf": [
1199
+ {
1200
+ "type": "number",
1201
+ "minimum": 0,
1202
+ "maximum": 32
1203
+ },
1204
+ {
1205
+ "const": "pill"
1206
+ }
1207
+ ]
1208
+ },
1209
+ "borderWidth": {
1210
+ "type": "number",
1211
+ "minimum": 0,
1212
+ "maximum": 4
1213
+ },
1214
+ "borderStyle": {
1215
+ "enum": [
1216
+ "none",
1217
+ "solid",
1218
+ "dashed",
1219
+ "dotted",
1220
+ "double",
1221
+ "bevel-out",
1222
+ "bevel-in"
1223
+ ]
1224
+ },
1225
+ "borderColor": {
1226
+ "$ref": "#/$defs/role"
1227
+ },
1228
+ "fill": {
1229
+ "$ref": "#/$defs/fill"
1230
+ },
1231
+ "text": {
1232
+ "$ref": "#/$defs/role"
1233
+ },
1234
+ "padX": {
1235
+ "type": "number",
1236
+ "minimum": 0,
1237
+ "maximum": 32
1238
+ },
1239
+ "padY": {
1240
+ "type": "number",
1241
+ "minimum": 0,
1242
+ "maximum": 32
1243
+ },
1244
+ "gap": {
1245
+ "type": "number",
1246
+ "minimum": 0,
1247
+ "maximum": 24
1248
+ },
1249
+ "shadow": {
1250
+ "$ref": "#/$defs/shadow"
1251
+ },
1252
+ "hover": {
1253
+ "$ref": "#/$defs/state"
1254
+ },
1255
+ "active": {
1256
+ "$ref": "#/$defs/state"
1257
+ },
1258
+ "focus": {
1259
+ "$ref": "#/$defs/state"
1260
+ },
1261
+ "fontSize": {
1262
+ "type": "number",
1263
+ "minimum": 11,
1264
+ "maximum": 18
1265
+ },
1266
+ "font": {
1267
+ "$ref": "#/$defs/fontRoleName"
1268
+ },
1269
+ "weight": {
1270
+ "type": "number",
1271
+ "minimum": 100,
1272
+ "maximum": 900
1273
+ },
1274
+ "case": {
1275
+ "enum": [
1276
+ "none",
1277
+ "upper",
1278
+ "lower",
1279
+ "capitalize",
1280
+ "small-caps"
1281
+ ]
1282
+ },
1283
+ "tracking": {
1284
+ "type": "number",
1285
+ "minimum": -0.05,
1286
+ "maximum": 0.2
1287
+ },
1288
+ "leading": {
1289
+ "type": "number",
1290
+ "minimum": 1.1,
1291
+ "maximum": 2
1292
+ },
1293
+ "visible": {
1294
+ "type": "boolean"
1295
+ }
1296
+ }
1297
+ },
1298
+ "postText": {
1299
+ "type": "object",
1300
+ "additionalProperties": false,
1301
+ "properties": {
1302
+ "radius": {
1303
+ "oneOf": [
1304
+ {
1305
+ "type": "number",
1306
+ "minimum": 0,
1307
+ "maximum": 32
1308
+ },
1309
+ {
1310
+ "const": "pill"
1311
+ }
1312
+ ]
1313
+ },
1314
+ "borderWidth": {
1315
+ "type": "number",
1316
+ "minimum": 0,
1317
+ "maximum": 4
1318
+ },
1319
+ "borderStyle": {
1320
+ "enum": [
1321
+ "none",
1322
+ "solid",
1323
+ "dashed",
1324
+ "dotted",
1325
+ "double",
1326
+ "bevel-out",
1327
+ "bevel-in"
1328
+ ]
1329
+ },
1330
+ "borderColor": {
1331
+ "$ref": "#/$defs/role"
1332
+ },
1333
+ "fill": {
1334
+ "$ref": "#/$defs/fill"
1335
+ },
1336
+ "text": {
1337
+ "$ref": "#/$defs/role"
1338
+ },
1339
+ "padX": {
1340
+ "type": "number",
1341
+ "minimum": 0,
1342
+ "maximum": 32
1343
+ },
1344
+ "padY": {
1345
+ "type": "number",
1346
+ "minimum": 0,
1347
+ "maximum": 32
1348
+ },
1349
+ "gap": {
1350
+ "type": "number",
1351
+ "minimum": 0,
1352
+ "maximum": 24
1353
+ },
1354
+ "shadow": {
1355
+ "$ref": "#/$defs/shadow"
1356
+ },
1357
+ "hover": {
1358
+ "$ref": "#/$defs/state"
1359
+ },
1360
+ "active": {
1361
+ "$ref": "#/$defs/state"
1362
+ },
1363
+ "focus": {
1364
+ "$ref": "#/$defs/state"
1365
+ },
1366
+ "fontSize": {
1367
+ "type": "number",
1368
+ "minimum": 13,
1369
+ "maximum": 24
1370
+ },
1371
+ "font": {
1372
+ "$ref": "#/$defs/fontRoleName"
1373
+ },
1374
+ "weight": {
1375
+ "type": "number",
1376
+ "minimum": 100,
1377
+ "maximum": 900
1378
+ },
1379
+ "tracking": {
1380
+ "type": "number",
1381
+ "minimum": -0.05,
1382
+ "maximum": 0.2
1383
+ },
1384
+ "leading": {
1385
+ "type": "number",
1386
+ "minimum": 1.1,
1387
+ "maximum": 2
1388
+ }
1389
+ }
1390
+ },
1391
+ "meta": {
1392
+ "type": "object",
1393
+ "additionalProperties": false,
1394
+ "properties": {
1395
+ "radius": {
1396
+ "oneOf": [
1397
+ {
1398
+ "type": "number",
1399
+ "minimum": 0,
1400
+ "maximum": 32
1401
+ },
1402
+ {
1403
+ "const": "pill"
1404
+ }
1405
+ ]
1406
+ },
1407
+ "borderWidth": {
1408
+ "type": "number",
1409
+ "minimum": 0,
1410
+ "maximum": 4
1411
+ },
1412
+ "borderStyle": {
1413
+ "enum": [
1414
+ "none",
1415
+ "solid",
1416
+ "dashed",
1417
+ "dotted",
1418
+ "double",
1419
+ "bevel-out",
1420
+ "bevel-in"
1421
+ ]
1422
+ },
1423
+ "borderColor": {
1424
+ "$ref": "#/$defs/role"
1425
+ },
1426
+ "fill": {
1427
+ "$ref": "#/$defs/fill"
1428
+ },
1429
+ "text": {
1430
+ "$ref": "#/$defs/role"
1431
+ },
1432
+ "padX": {
1433
+ "type": "number",
1434
+ "minimum": 0,
1435
+ "maximum": 32
1436
+ },
1437
+ "padY": {
1438
+ "type": "number",
1439
+ "minimum": 0,
1440
+ "maximum": 32
1441
+ },
1442
+ "gap": {
1443
+ "type": "number",
1444
+ "minimum": 0,
1445
+ "maximum": 24
1446
+ },
1447
+ "shadow": {
1448
+ "$ref": "#/$defs/shadow"
1449
+ },
1450
+ "hover": {
1451
+ "$ref": "#/$defs/state"
1452
+ },
1453
+ "active": {
1454
+ "$ref": "#/$defs/state"
1455
+ },
1456
+ "focus": {
1457
+ "$ref": "#/$defs/state"
1458
+ },
1459
+ "fontSize": {
1460
+ "type": "number",
1461
+ "minimum": 11,
1462
+ "maximum": 18
1463
+ },
1464
+ "font": {
1465
+ "$ref": "#/$defs/fontRoleName"
1466
+ },
1467
+ "weight": {
1468
+ "type": "number",
1469
+ "minimum": 100,
1470
+ "maximum": 900
1471
+ },
1472
+ "case": {
1473
+ "enum": [
1474
+ "none",
1475
+ "upper",
1476
+ "lower",
1477
+ "capitalize",
1478
+ "small-caps"
1479
+ ]
1480
+ },
1481
+ "tracking": {
1482
+ "type": "number",
1483
+ "minimum": -0.05,
1484
+ "maximum": 0.2
1485
+ },
1486
+ "leading": {
1487
+ "type": "number",
1488
+ "minimum": 1.1,
1489
+ "maximum": 2
1490
+ }
1491
+ }
1492
+ },
1493
+ "actionBar": {
1494
+ "type": "object",
1495
+ "additionalProperties": false,
1496
+ "properties": {
1497
+ "radius": {
1498
+ "oneOf": [
1499
+ {
1500
+ "type": "number",
1501
+ "minimum": 0,
1502
+ "maximum": 32
1503
+ },
1504
+ {
1505
+ "const": "pill"
1506
+ }
1507
+ ]
1508
+ },
1509
+ "borderWidth": {
1510
+ "type": "number",
1511
+ "minimum": 0,
1512
+ "maximum": 4
1513
+ },
1514
+ "borderStyle": {
1515
+ "enum": [
1516
+ "none",
1517
+ "solid",
1518
+ "dashed",
1519
+ "dotted",
1520
+ "double",
1521
+ "bevel-out",
1522
+ "bevel-in"
1523
+ ]
1524
+ },
1525
+ "borderColor": {
1526
+ "$ref": "#/$defs/role"
1527
+ },
1528
+ "fill": {
1529
+ "$ref": "#/$defs/fill"
1530
+ },
1531
+ "text": {
1532
+ "$ref": "#/$defs/role"
1533
+ },
1534
+ "padX": {
1535
+ "type": "number",
1536
+ "minimum": 0,
1537
+ "maximum": 32
1538
+ },
1539
+ "padY": {
1540
+ "type": "number",
1541
+ "minimum": 0,
1542
+ "maximum": 32
1543
+ },
1544
+ "gap": {
1545
+ "type": "number",
1546
+ "minimum": 0,
1547
+ "maximum": 24
1548
+ },
1549
+ "shadow": {
1550
+ "$ref": "#/$defs/shadow"
1551
+ },
1552
+ "hover": {
1553
+ "$ref": "#/$defs/state"
1554
+ },
1555
+ "active": {
1556
+ "$ref": "#/$defs/state"
1557
+ },
1558
+ "focus": {
1559
+ "$ref": "#/$defs/state"
1560
+ }
1561
+ }
1562
+ },
1563
+ "action": {
1564
+ "type": "object",
1565
+ "additionalProperties": false,
1566
+ "properties": {
1567
+ "radius": {
1568
+ "oneOf": [
1569
+ {
1570
+ "type": "number",
1571
+ "minimum": 0,
1572
+ "maximum": 32
1573
+ },
1574
+ {
1575
+ "const": "pill"
1576
+ }
1577
+ ]
1578
+ },
1579
+ "borderWidth": {
1580
+ "type": "number",
1581
+ "minimum": 0,
1582
+ "maximum": 4
1583
+ },
1584
+ "borderStyle": {
1585
+ "enum": [
1586
+ "none",
1587
+ "solid",
1588
+ "dashed",
1589
+ "dotted",
1590
+ "double",
1591
+ "bevel-out",
1592
+ "bevel-in"
1593
+ ]
1594
+ },
1595
+ "borderColor": {
1596
+ "$ref": "#/$defs/role"
1597
+ },
1598
+ "fill": {
1599
+ "$ref": "#/$defs/fill"
1600
+ },
1601
+ "text": {
1602
+ "$ref": "#/$defs/role"
1603
+ },
1604
+ "padX": {
1605
+ "type": "number",
1606
+ "minimum": 0,
1607
+ "maximum": 32
1608
+ },
1609
+ "padY": {
1610
+ "type": "number",
1611
+ "minimum": 0,
1612
+ "maximum": 32
1613
+ },
1614
+ "gap": {
1615
+ "type": "number",
1616
+ "minimum": 0,
1617
+ "maximum": 24
1618
+ },
1619
+ "shadow": {
1620
+ "$ref": "#/$defs/shadow"
1621
+ },
1622
+ "hover": {
1623
+ "$ref": "#/$defs/state"
1624
+ },
1625
+ "active": {
1626
+ "$ref": "#/$defs/state"
1627
+ },
1628
+ "focus": {
1629
+ "$ref": "#/$defs/state"
1630
+ },
1631
+ "size": {
1632
+ "type": "number",
1633
+ "minimum": 28,
1634
+ "maximum": 44
1635
+ }
1636
+ }
1637
+ },
1638
+ "count": {
1639
+ "type": "object",
1640
+ "additionalProperties": false,
1641
+ "properties": {
1642
+ "radius": {
1643
+ "oneOf": [
1644
+ {
1645
+ "type": "number",
1646
+ "minimum": 0,
1647
+ "maximum": 32
1648
+ },
1649
+ {
1650
+ "const": "pill"
1651
+ }
1652
+ ]
1653
+ },
1654
+ "borderWidth": {
1655
+ "type": "number",
1656
+ "minimum": 0,
1657
+ "maximum": 4
1658
+ },
1659
+ "borderStyle": {
1660
+ "enum": [
1661
+ "none",
1662
+ "solid",
1663
+ "dashed",
1664
+ "dotted",
1665
+ "double",
1666
+ "bevel-out",
1667
+ "bevel-in"
1668
+ ]
1669
+ },
1670
+ "borderColor": {
1671
+ "$ref": "#/$defs/role"
1672
+ },
1673
+ "fill": {
1674
+ "$ref": "#/$defs/fill"
1675
+ },
1676
+ "text": {
1677
+ "$ref": "#/$defs/role"
1678
+ },
1679
+ "padX": {
1680
+ "type": "number",
1681
+ "minimum": 0,
1682
+ "maximum": 32
1683
+ },
1684
+ "padY": {
1685
+ "type": "number",
1686
+ "minimum": 0,
1687
+ "maximum": 32
1688
+ },
1689
+ "gap": {
1690
+ "type": "number",
1691
+ "minimum": 0,
1692
+ "maximum": 24
1693
+ },
1694
+ "shadow": {
1695
+ "$ref": "#/$defs/shadow"
1696
+ },
1697
+ "hover": {
1698
+ "$ref": "#/$defs/state"
1699
+ },
1700
+ "active": {
1701
+ "$ref": "#/$defs/state"
1702
+ },
1703
+ "focus": {
1704
+ "$ref": "#/$defs/state"
1705
+ },
1706
+ "fontSize": {
1707
+ "type": "number",
1708
+ "minimum": 11,
1709
+ "maximum": 18
1710
+ },
1711
+ "font": {
1712
+ "$ref": "#/$defs/fontRoleName"
1713
+ },
1714
+ "weight": {
1715
+ "type": "number",
1716
+ "minimum": 100,
1717
+ "maximum": 900
1718
+ },
1719
+ "case": {
1720
+ "enum": [
1721
+ "none",
1722
+ "upper",
1723
+ "lower",
1724
+ "capitalize",
1725
+ "small-caps"
1726
+ ]
1727
+ },
1728
+ "tracking": {
1729
+ "type": "number",
1730
+ "minimum": -0.05,
1731
+ "maximum": 0.2
1732
+ },
1733
+ "leading": {
1734
+ "type": "number",
1735
+ "minimum": 1.1,
1736
+ "maximum": 2
1737
+ },
1738
+ "visible": {
1739
+ "type": "boolean"
1740
+ }
1741
+ }
1742
+ },
1743
+ "media": {
1744
+ "type": "object",
1745
+ "additionalProperties": false,
1746
+ "properties": {
1747
+ "radius": {
1748
+ "oneOf": [
1749
+ {
1750
+ "type": "number",
1751
+ "minimum": 0,
1752
+ "maximum": 32
1753
+ },
1754
+ {
1755
+ "const": "pill"
1756
+ }
1757
+ ]
1758
+ },
1759
+ "borderWidth": {
1760
+ "type": "number",
1761
+ "minimum": 0,
1762
+ "maximum": 4
1763
+ },
1764
+ "borderStyle": {
1765
+ "enum": [
1766
+ "none",
1767
+ "solid",
1768
+ "dashed",
1769
+ "dotted",
1770
+ "double",
1771
+ "bevel-out",
1772
+ "bevel-in"
1773
+ ]
1774
+ },
1775
+ "borderColor": {
1776
+ "$ref": "#/$defs/role"
1777
+ },
1778
+ "fill": {
1779
+ "$ref": "#/$defs/fill"
1780
+ },
1781
+ "text": {
1782
+ "$ref": "#/$defs/role"
1783
+ },
1784
+ "padX": {
1785
+ "type": "number",
1786
+ "minimum": 0,
1787
+ "maximum": 32
1788
+ },
1789
+ "padY": {
1790
+ "type": "number",
1791
+ "minimum": 0,
1792
+ "maximum": 32
1793
+ },
1794
+ "gap": {
1795
+ "type": "number",
1796
+ "minimum": 0,
1797
+ "maximum": 24
1798
+ },
1799
+ "shadow": {
1800
+ "$ref": "#/$defs/shadow"
1801
+ },
1802
+ "hover": {
1803
+ "$ref": "#/$defs/state"
1804
+ },
1805
+ "active": {
1806
+ "$ref": "#/$defs/state"
1807
+ },
1808
+ "focus": {
1809
+ "$ref": "#/$defs/state"
1810
+ },
1811
+ "maxHeight": {
1812
+ "type": "number",
1813
+ "minimum": 200,
1814
+ "maximum": 700
1815
+ },
1816
+ "corner": {
1817
+ "enum": [
1818
+ "round",
1819
+ "cut"
1820
+ ]
1821
+ }
1822
+ }
1823
+ },
1824
+ "linkCard": {
1825
+ "type": "object",
1826
+ "additionalProperties": false,
1827
+ "properties": {
1828
+ "radius": {
1829
+ "oneOf": [
1830
+ {
1831
+ "type": "number",
1832
+ "minimum": 0,
1833
+ "maximum": 32
1834
+ },
1835
+ {
1836
+ "const": "pill"
1837
+ }
1838
+ ]
1839
+ },
1840
+ "borderWidth": {
1841
+ "type": "number",
1842
+ "minimum": 0,
1843
+ "maximum": 4
1844
+ },
1845
+ "borderStyle": {
1846
+ "enum": [
1847
+ "none",
1848
+ "solid",
1849
+ "dashed",
1850
+ "dotted",
1851
+ "double",
1852
+ "bevel-out",
1853
+ "bevel-in"
1854
+ ]
1855
+ },
1856
+ "borderColor": {
1857
+ "$ref": "#/$defs/role"
1858
+ },
1859
+ "fill": {
1860
+ "$ref": "#/$defs/fill"
1861
+ },
1862
+ "text": {
1863
+ "$ref": "#/$defs/role"
1864
+ },
1865
+ "padX": {
1866
+ "type": "number",
1867
+ "minimum": 0,
1868
+ "maximum": 32
1869
+ },
1870
+ "padY": {
1871
+ "type": "number",
1872
+ "minimum": 0,
1873
+ "maximum": 32
1874
+ },
1875
+ "gap": {
1876
+ "type": "number",
1877
+ "minimum": 0,
1878
+ "maximum": 24
1879
+ },
1880
+ "shadow": {
1881
+ "$ref": "#/$defs/shadow"
1882
+ },
1883
+ "hover": {
1884
+ "$ref": "#/$defs/state"
1885
+ },
1886
+ "active": {
1887
+ "$ref": "#/$defs/state"
1888
+ },
1889
+ "focus": {
1890
+ "$ref": "#/$defs/state"
1891
+ },
1892
+ "corner": {
1893
+ "enum": [
1894
+ "round",
1895
+ "cut"
1896
+ ]
1897
+ }
1898
+ }
1899
+ },
1900
+ "quote": {
1901
+ "type": "object",
1902
+ "additionalProperties": false,
1903
+ "properties": {
1904
+ "radius": {
1905
+ "oneOf": [
1906
+ {
1907
+ "type": "number",
1908
+ "minimum": 0,
1909
+ "maximum": 32
1910
+ },
1911
+ {
1912
+ "const": "pill"
1913
+ }
1914
+ ]
1915
+ },
1916
+ "borderWidth": {
1917
+ "type": "number",
1918
+ "minimum": 0,
1919
+ "maximum": 4
1920
+ },
1921
+ "borderStyle": {
1922
+ "enum": [
1923
+ "none",
1924
+ "solid",
1925
+ "dashed",
1926
+ "dotted",
1927
+ "double",
1928
+ "bevel-out",
1929
+ "bevel-in"
1930
+ ]
1931
+ },
1932
+ "borderColor": {
1933
+ "$ref": "#/$defs/role"
1934
+ },
1935
+ "fill": {
1936
+ "$ref": "#/$defs/fill"
1937
+ },
1938
+ "text": {
1939
+ "$ref": "#/$defs/role"
1940
+ },
1941
+ "padX": {
1942
+ "type": "number",
1943
+ "minimum": 0,
1944
+ "maximum": 32
1945
+ },
1946
+ "padY": {
1947
+ "type": "number",
1948
+ "minimum": 0,
1949
+ "maximum": 32
1950
+ },
1951
+ "gap": {
1952
+ "type": "number",
1953
+ "minimum": 0,
1954
+ "maximum": 24
1955
+ },
1956
+ "shadow": {
1957
+ "$ref": "#/$defs/shadow"
1958
+ },
1959
+ "hover": {
1960
+ "$ref": "#/$defs/state"
1961
+ },
1962
+ "active": {
1963
+ "$ref": "#/$defs/state"
1964
+ },
1965
+ "focus": {
1966
+ "$ref": "#/$defs/state"
1967
+ }
1968
+ }
1969
+ },
1970
+ "button": {
1971
+ "type": "object",
1972
+ "additionalProperties": false,
1973
+ "properties": {
1974
+ "radius": {
1975
+ "oneOf": [
1976
+ {
1977
+ "type": "number",
1978
+ "minimum": 0,
1979
+ "maximum": 32
1980
+ },
1981
+ {
1982
+ "const": "pill"
1983
+ }
1984
+ ]
1985
+ },
1986
+ "borderWidth": {
1987
+ "type": "number",
1988
+ "minimum": 0,
1989
+ "maximum": 4
1990
+ },
1991
+ "borderStyle": {
1992
+ "enum": [
1993
+ "none",
1994
+ "solid",
1995
+ "dashed",
1996
+ "dotted",
1997
+ "double",
1998
+ "bevel-out",
1999
+ "bevel-in"
2000
+ ]
2001
+ },
2002
+ "borderColor": {
2003
+ "$ref": "#/$defs/role"
2004
+ },
2005
+ "fill": {
2006
+ "$ref": "#/$defs/fillGradient"
2007
+ },
2008
+ "text": {
2009
+ "$ref": "#/$defs/role"
2010
+ },
2011
+ "padX": {
2012
+ "type": "number",
2013
+ "minimum": 0,
2014
+ "maximum": 32
2015
+ },
2016
+ "padY": {
2017
+ "type": "number",
2018
+ "minimum": 0,
2019
+ "maximum": 32
2020
+ },
2021
+ "gap": {
2022
+ "type": "number",
2023
+ "minimum": 0,
2024
+ "maximum": 24
2025
+ },
2026
+ "shadow": {
2027
+ "$ref": "#/$defs/shadow"
2028
+ },
2029
+ "hover": {
2030
+ "$ref": "#/$defs/stateGradient"
2031
+ },
2032
+ "active": {
2033
+ "$ref": "#/$defs/stateGradient"
2034
+ },
2035
+ "focus": {
2036
+ "$ref": "#/$defs/stateGradient"
2037
+ },
2038
+ "preset": {
2039
+ "enum": [
2040
+ "pill",
2041
+ "soft",
2042
+ "square",
2043
+ "outline",
2044
+ "bevel",
2045
+ "gloss",
2046
+ "flat-link"
2047
+ ]
2048
+ },
2049
+ "height": {
2050
+ "type": "number",
2051
+ "minimum": 24,
2052
+ "maximum": 56
2053
+ },
2054
+ "fontSize": {
2055
+ "type": "number",
2056
+ "minimum": 12,
2057
+ "maximum": 20
2058
+ },
2059
+ "font": {
2060
+ "$ref": "#/$defs/fontRoleName"
2061
+ },
2062
+ "weight": {
2063
+ "type": "number",
2064
+ "minimum": 100,
2065
+ "maximum": 900
2066
+ },
2067
+ "case": {
2068
+ "enum": [
2069
+ "none",
2070
+ "upper",
2071
+ "lower",
2072
+ "capitalize",
2073
+ "small-caps"
2074
+ ]
2075
+ },
2076
+ "tracking": {
2077
+ "type": "number",
2078
+ "minimum": -0.05,
2079
+ "maximum": 0.2
2080
+ },
2081
+ "leading": {
2082
+ "type": "number",
2083
+ "minimum": 1.1,
2084
+ "maximum": 2
2085
+ }
2086
+ }
2087
+ },
2088
+ "buttonPrimary": {
2089
+ "type": "object",
2090
+ "additionalProperties": false,
2091
+ "properties": {
2092
+ "radius": {
2093
+ "oneOf": [
2094
+ {
2095
+ "type": "number",
2096
+ "minimum": 0,
2097
+ "maximum": 32
2098
+ },
2099
+ {
2100
+ "const": "pill"
2101
+ }
2102
+ ]
2103
+ },
2104
+ "borderWidth": {
2105
+ "type": "number",
2106
+ "minimum": 0,
2107
+ "maximum": 4
2108
+ },
2109
+ "borderStyle": {
2110
+ "enum": [
2111
+ "none",
2112
+ "solid",
2113
+ "dashed",
2114
+ "dotted",
2115
+ "double",
2116
+ "bevel-out",
2117
+ "bevel-in"
2118
+ ]
2119
+ },
2120
+ "borderColor": {
2121
+ "$ref": "#/$defs/role"
2122
+ },
2123
+ "fill": {
2124
+ "$ref": "#/$defs/fillGradient"
2125
+ },
2126
+ "text": {
2127
+ "$ref": "#/$defs/role"
2128
+ },
2129
+ "padX": {
2130
+ "type": "number",
2131
+ "minimum": 0,
2132
+ "maximum": 32
2133
+ },
2134
+ "padY": {
2135
+ "type": "number",
2136
+ "minimum": 0,
2137
+ "maximum": 32
2138
+ },
2139
+ "gap": {
2140
+ "type": "number",
2141
+ "minimum": 0,
2142
+ "maximum": 24
2143
+ },
2144
+ "shadow": {
2145
+ "$ref": "#/$defs/shadow"
2146
+ },
2147
+ "hover": {
2148
+ "$ref": "#/$defs/stateGradient"
2149
+ },
2150
+ "active": {
2151
+ "$ref": "#/$defs/stateGradient"
2152
+ },
2153
+ "focus": {
2154
+ "$ref": "#/$defs/stateGradient"
2155
+ },
2156
+ "preset": {
2157
+ "enum": [
2158
+ "pill",
2159
+ "soft",
2160
+ "square",
2161
+ "outline",
2162
+ "bevel",
2163
+ "gloss",
2164
+ "flat-link"
2165
+ ]
2166
+ },
2167
+ "height": {
2168
+ "type": "number",
2169
+ "minimum": 24,
2170
+ "maximum": 56
2171
+ },
2172
+ "fontSize": {
2173
+ "type": "number",
2174
+ "minimum": 12,
2175
+ "maximum": 20
2176
+ },
2177
+ "font": {
2178
+ "$ref": "#/$defs/fontRoleName"
2179
+ },
2180
+ "weight": {
2181
+ "type": "number",
2182
+ "minimum": 100,
2183
+ "maximum": 900
2184
+ },
2185
+ "case": {
2186
+ "enum": [
2187
+ "none",
2188
+ "upper",
2189
+ "lower",
2190
+ "capitalize",
2191
+ "small-caps"
2192
+ ]
2193
+ },
2194
+ "tracking": {
2195
+ "type": "number",
2196
+ "minimum": -0.05,
2197
+ "maximum": 0.2
2198
+ },
2199
+ "leading": {
2200
+ "type": "number",
2201
+ "minimum": 1.1,
2202
+ "maximum": 2
2203
+ }
2204
+ }
2205
+ },
2206
+ "buttonSecondary": {
2207
+ "type": "object",
2208
+ "additionalProperties": false,
2209
+ "properties": {
2210
+ "radius": {
2211
+ "oneOf": [
2212
+ {
2213
+ "type": "number",
2214
+ "minimum": 0,
2215
+ "maximum": 32
2216
+ },
2217
+ {
2218
+ "const": "pill"
2219
+ }
2220
+ ]
2221
+ },
2222
+ "borderWidth": {
2223
+ "type": "number",
2224
+ "minimum": 0,
2225
+ "maximum": 4
2226
+ },
2227
+ "borderStyle": {
2228
+ "enum": [
2229
+ "none",
2230
+ "solid",
2231
+ "dashed",
2232
+ "dotted",
2233
+ "double",
2234
+ "bevel-out",
2235
+ "bevel-in"
2236
+ ]
2237
+ },
2238
+ "borderColor": {
2239
+ "$ref": "#/$defs/role"
2240
+ },
2241
+ "fill": {
2242
+ "$ref": "#/$defs/fillGradient"
2243
+ },
2244
+ "text": {
2245
+ "$ref": "#/$defs/role"
2246
+ },
2247
+ "padX": {
2248
+ "type": "number",
2249
+ "minimum": 0,
2250
+ "maximum": 32
2251
+ },
2252
+ "padY": {
2253
+ "type": "number",
2254
+ "minimum": 0,
2255
+ "maximum": 32
2256
+ },
2257
+ "gap": {
2258
+ "type": "number",
2259
+ "minimum": 0,
2260
+ "maximum": 24
2261
+ },
2262
+ "shadow": {
2263
+ "$ref": "#/$defs/shadow"
2264
+ },
2265
+ "hover": {
2266
+ "$ref": "#/$defs/stateGradient"
2267
+ },
2268
+ "active": {
2269
+ "$ref": "#/$defs/stateGradient"
2270
+ },
2271
+ "focus": {
2272
+ "$ref": "#/$defs/stateGradient"
2273
+ },
2274
+ "preset": {
2275
+ "enum": [
2276
+ "pill",
2277
+ "soft",
2278
+ "square",
2279
+ "outline",
2280
+ "bevel",
2281
+ "gloss",
2282
+ "flat-link"
2283
+ ]
2284
+ },
2285
+ "height": {
2286
+ "type": "number",
2287
+ "minimum": 24,
2288
+ "maximum": 56
2289
+ },
2290
+ "fontSize": {
2291
+ "type": "number",
2292
+ "minimum": 12,
2293
+ "maximum": 20
2294
+ },
2295
+ "font": {
2296
+ "$ref": "#/$defs/fontRoleName"
2297
+ },
2298
+ "weight": {
2299
+ "type": "number",
2300
+ "minimum": 100,
2301
+ "maximum": 900
2302
+ },
2303
+ "case": {
2304
+ "enum": [
2305
+ "none",
2306
+ "upper",
2307
+ "lower",
2308
+ "capitalize",
2309
+ "small-caps"
2310
+ ]
2311
+ },
2312
+ "tracking": {
2313
+ "type": "number",
2314
+ "minimum": -0.05,
2315
+ "maximum": 0.2
2316
+ },
2317
+ "leading": {
2318
+ "type": "number",
2319
+ "minimum": 1.1,
2320
+ "maximum": 2
2321
+ }
2322
+ }
2323
+ },
2324
+ "buttonGhost": {
2325
+ "type": "object",
2326
+ "additionalProperties": false,
2327
+ "properties": {
2328
+ "radius": {
2329
+ "oneOf": [
2330
+ {
2331
+ "type": "number",
2332
+ "minimum": 0,
2333
+ "maximum": 32
2334
+ },
2335
+ {
2336
+ "const": "pill"
2337
+ }
2338
+ ]
2339
+ },
2340
+ "borderWidth": {
2341
+ "type": "number",
2342
+ "minimum": 0,
2343
+ "maximum": 4
2344
+ },
2345
+ "borderStyle": {
2346
+ "enum": [
2347
+ "none",
2348
+ "solid",
2349
+ "dashed",
2350
+ "dotted",
2351
+ "double",
2352
+ "bevel-out",
2353
+ "bevel-in"
2354
+ ]
2355
+ },
2356
+ "borderColor": {
2357
+ "$ref": "#/$defs/role"
2358
+ },
2359
+ "fill": {
2360
+ "$ref": "#/$defs/fillGradient"
2361
+ },
2362
+ "text": {
2363
+ "$ref": "#/$defs/role"
2364
+ },
2365
+ "padX": {
2366
+ "type": "number",
2367
+ "minimum": 0,
2368
+ "maximum": 32
2369
+ },
2370
+ "padY": {
2371
+ "type": "number",
2372
+ "minimum": 0,
2373
+ "maximum": 32
2374
+ },
2375
+ "gap": {
2376
+ "type": "number",
2377
+ "minimum": 0,
2378
+ "maximum": 24
2379
+ },
2380
+ "shadow": {
2381
+ "$ref": "#/$defs/shadow"
2382
+ },
2383
+ "hover": {
2384
+ "$ref": "#/$defs/stateGradient"
2385
+ },
2386
+ "active": {
2387
+ "$ref": "#/$defs/stateGradient"
2388
+ },
2389
+ "focus": {
2390
+ "$ref": "#/$defs/stateGradient"
2391
+ },
2392
+ "preset": {
2393
+ "enum": [
2394
+ "pill",
2395
+ "soft",
2396
+ "square",
2397
+ "outline",
2398
+ "bevel",
2399
+ "gloss",
2400
+ "flat-link"
2401
+ ]
2402
+ },
2403
+ "height": {
2404
+ "type": "number",
2405
+ "minimum": 24,
2406
+ "maximum": 56
2407
+ },
2408
+ "fontSize": {
2409
+ "type": "number",
2410
+ "minimum": 12,
2411
+ "maximum": 20
2412
+ },
2413
+ "font": {
2414
+ "$ref": "#/$defs/fontRoleName"
2415
+ },
2416
+ "weight": {
2417
+ "type": "number",
2418
+ "minimum": 100,
2419
+ "maximum": 900
2420
+ },
2421
+ "case": {
2422
+ "enum": [
2423
+ "none",
2424
+ "upper",
2425
+ "lower",
2426
+ "capitalize",
2427
+ "small-caps"
2428
+ ]
2429
+ },
2430
+ "tracking": {
2431
+ "type": "number",
2432
+ "minimum": -0.05,
2433
+ "maximum": 0.2
2434
+ },
2435
+ "leading": {
2436
+ "type": "number",
2437
+ "minimum": 1.1,
2438
+ "maximum": 2
2439
+ }
2440
+ }
2441
+ },
2442
+ "input": {
2443
+ "type": "object",
2444
+ "additionalProperties": false,
2445
+ "properties": {
2446
+ "radius": {
2447
+ "oneOf": [
2448
+ {
2449
+ "type": "number",
2450
+ "minimum": 0,
2451
+ "maximum": 32
2452
+ },
2453
+ {
2454
+ "const": "pill"
2455
+ }
2456
+ ]
2457
+ },
2458
+ "borderWidth": {
2459
+ "type": "number",
2460
+ "minimum": 0,
2461
+ "maximum": 4
2462
+ },
2463
+ "borderStyle": {
2464
+ "enum": [
2465
+ "none",
2466
+ "solid",
2467
+ "dashed",
2468
+ "dotted",
2469
+ "double",
2470
+ "bevel-out",
2471
+ "bevel-in"
2472
+ ]
2473
+ },
2474
+ "borderColor": {
2475
+ "$ref": "#/$defs/role"
2476
+ },
2477
+ "fill": {
2478
+ "$ref": "#/$defs/fill"
2479
+ },
2480
+ "text": {
2481
+ "$ref": "#/$defs/role"
2482
+ },
2483
+ "padX": {
2484
+ "type": "number",
2485
+ "minimum": 0,
2486
+ "maximum": 32
2487
+ },
2488
+ "padY": {
2489
+ "type": "number",
2490
+ "minimum": 0,
2491
+ "maximum": 32
2492
+ },
2493
+ "gap": {
2494
+ "type": "number",
2495
+ "minimum": 0,
2496
+ "maximum": 24
2497
+ },
2498
+ "shadow": {
2499
+ "$ref": "#/$defs/shadow"
2500
+ },
2501
+ "hover": {
2502
+ "$ref": "#/$defs/state"
2503
+ },
2504
+ "active": {
2505
+ "$ref": "#/$defs/state"
2506
+ },
2507
+ "focus": {
2508
+ "$ref": "#/$defs/state"
2509
+ },
2510
+ "preset": {
2511
+ "enum": [
2512
+ "pill",
2513
+ "underline",
2514
+ "sunken",
2515
+ "boxed"
2516
+ ]
2517
+ },
2518
+ "height": {
2519
+ "type": "number",
2520
+ "minimum": 32,
2521
+ "maximum": 56
2522
+ },
2523
+ "fontSize": {
2524
+ "type": "number",
2525
+ "minimum": 12,
2526
+ "maximum": 20
2527
+ },
2528
+ "font": {
2529
+ "$ref": "#/$defs/fontRoleName"
2530
+ },
2531
+ "weight": {
2532
+ "type": "number",
2533
+ "minimum": 100,
2534
+ "maximum": 900
2535
+ },
2536
+ "case": {
2537
+ "enum": [
2538
+ "none",
2539
+ "upper",
2540
+ "lower",
2541
+ "capitalize",
2542
+ "small-caps"
2543
+ ]
2544
+ },
2545
+ "tracking": {
2546
+ "type": "number",
2547
+ "minimum": -0.05,
2548
+ "maximum": 0.2
2549
+ },
2550
+ "leading": {
2551
+ "type": "number",
2552
+ "minimum": 1.1,
2553
+ "maximum": 2
2554
+ }
2555
+ }
2556
+ },
2557
+ "search": {
2558
+ "type": "object",
2559
+ "additionalProperties": false,
2560
+ "properties": {
2561
+ "radius": {
2562
+ "oneOf": [
2563
+ {
2564
+ "type": "number",
2565
+ "minimum": 0,
2566
+ "maximum": 32
2567
+ },
2568
+ {
2569
+ "const": "pill"
2570
+ }
2571
+ ]
2572
+ },
2573
+ "borderWidth": {
2574
+ "type": "number",
2575
+ "minimum": 0,
2576
+ "maximum": 4
2577
+ },
2578
+ "borderStyle": {
2579
+ "enum": [
2580
+ "none",
2581
+ "solid",
2582
+ "dashed",
2583
+ "dotted",
2584
+ "double",
2585
+ "bevel-out",
2586
+ "bevel-in"
2587
+ ]
2588
+ },
2589
+ "borderColor": {
2590
+ "$ref": "#/$defs/role"
2591
+ },
2592
+ "fill": {
2593
+ "$ref": "#/$defs/fill"
2594
+ },
2595
+ "text": {
2596
+ "$ref": "#/$defs/role"
2597
+ },
2598
+ "padX": {
2599
+ "type": "number",
2600
+ "minimum": 0,
2601
+ "maximum": 32
2602
+ },
2603
+ "padY": {
2604
+ "type": "number",
2605
+ "minimum": 0,
2606
+ "maximum": 32
2607
+ },
2608
+ "gap": {
2609
+ "type": "number",
2610
+ "minimum": 0,
2611
+ "maximum": 24
2612
+ },
2613
+ "shadow": {
2614
+ "$ref": "#/$defs/shadow"
2615
+ },
2616
+ "hover": {
2617
+ "$ref": "#/$defs/state"
2618
+ },
2619
+ "active": {
2620
+ "$ref": "#/$defs/state"
2621
+ },
2622
+ "focus": {
2623
+ "$ref": "#/$defs/state"
2624
+ },
2625
+ "preset": {
2626
+ "enum": [
2627
+ "pill",
2628
+ "underline",
2629
+ "sunken",
2630
+ "boxed"
2631
+ ]
2632
+ },
2633
+ "height": {
2634
+ "type": "number",
2635
+ "minimum": 32,
2636
+ "maximum": 56
2637
+ },
2638
+ "fontSize": {
2639
+ "type": "number",
2640
+ "minimum": 12,
2641
+ "maximum": 20
2642
+ },
2643
+ "font": {
2644
+ "$ref": "#/$defs/fontRoleName"
2645
+ },
2646
+ "weight": {
2647
+ "type": "number",
2648
+ "minimum": 100,
2649
+ "maximum": 900
2650
+ },
2651
+ "case": {
2652
+ "enum": [
2653
+ "none",
2654
+ "upper",
2655
+ "lower",
2656
+ "capitalize",
2657
+ "small-caps"
2658
+ ]
2659
+ },
2660
+ "tracking": {
2661
+ "type": "number",
2662
+ "minimum": -0.05,
2663
+ "maximum": 0.2
2664
+ },
2665
+ "leading": {
2666
+ "type": "number",
2667
+ "minimum": 1.1,
2668
+ "maximum": 2
2669
+ }
2670
+ }
2671
+ },
2672
+ "composer": {
2673
+ "type": "object",
2674
+ "additionalProperties": false,
2675
+ "properties": {
2676
+ "radius": {
2677
+ "oneOf": [
2678
+ {
2679
+ "type": "number",
2680
+ "minimum": 0,
2681
+ "maximum": 32
2682
+ },
2683
+ {
2684
+ "const": "pill"
2685
+ }
2686
+ ]
2687
+ },
2688
+ "borderWidth": {
2689
+ "type": "number",
2690
+ "minimum": 0,
2691
+ "maximum": 4
2692
+ },
2693
+ "borderStyle": {
2694
+ "enum": [
2695
+ "none",
2696
+ "solid",
2697
+ "dashed",
2698
+ "dotted",
2699
+ "double",
2700
+ "bevel-out",
2701
+ "bevel-in"
2702
+ ]
2703
+ },
2704
+ "borderColor": {
2705
+ "$ref": "#/$defs/role"
2706
+ },
2707
+ "fill": {
2708
+ "$ref": "#/$defs/fill"
2709
+ },
2710
+ "text": {
2711
+ "$ref": "#/$defs/role"
2712
+ },
2713
+ "padX": {
2714
+ "type": "number",
2715
+ "minimum": 0,
2716
+ "maximum": 32
2717
+ },
2718
+ "padY": {
2719
+ "type": "number",
2720
+ "minimum": 0,
2721
+ "maximum": 32
2722
+ },
2723
+ "gap": {
2724
+ "type": "number",
2725
+ "minimum": 0,
2726
+ "maximum": 24
2727
+ },
2728
+ "shadow": {
2729
+ "$ref": "#/$defs/shadow"
2730
+ },
2731
+ "hover": {
2732
+ "$ref": "#/$defs/state"
2733
+ },
2734
+ "active": {
2735
+ "$ref": "#/$defs/state"
2736
+ },
2737
+ "focus": {
2738
+ "$ref": "#/$defs/state"
2739
+ },
2740
+ "fontSize": {
2741
+ "type": "number",
2742
+ "minimum": 13,
2743
+ "maximum": 24
2744
+ },
2745
+ "font": {
2746
+ "$ref": "#/$defs/fontRoleName"
2747
+ },
2748
+ "weight": {
2749
+ "type": "number",
2750
+ "minimum": 100,
2751
+ "maximum": 900
2752
+ },
2753
+ "case": {
2754
+ "enum": [
2755
+ "none",
2756
+ "upper",
2757
+ "lower",
2758
+ "capitalize",
2759
+ "small-caps"
2760
+ ]
2761
+ },
2762
+ "tracking": {
2763
+ "type": "number",
2764
+ "minimum": -0.05,
2765
+ "maximum": 0.2
2766
+ },
2767
+ "leading": {
2768
+ "type": "number",
2769
+ "minimum": 1.1,
2770
+ "maximum": 2
2771
+ }
2772
+ }
2773
+ },
2774
+ "composerTool": {
2775
+ "type": "object",
2776
+ "additionalProperties": false,
2777
+ "properties": {
2778
+ "radius": {
2779
+ "oneOf": [
2780
+ {
2781
+ "type": "number",
2782
+ "minimum": 0,
2783
+ "maximum": 32
2784
+ },
2785
+ {
2786
+ "const": "pill"
2787
+ }
2788
+ ]
2789
+ },
2790
+ "borderWidth": {
2791
+ "type": "number",
2792
+ "minimum": 0,
2793
+ "maximum": 4
2794
+ },
2795
+ "borderStyle": {
2796
+ "enum": [
2797
+ "none",
2798
+ "solid",
2799
+ "dashed",
2800
+ "dotted",
2801
+ "double",
2802
+ "bevel-out",
2803
+ "bevel-in"
2804
+ ]
2805
+ },
2806
+ "borderColor": {
2807
+ "$ref": "#/$defs/role"
2808
+ },
2809
+ "fill": {
2810
+ "$ref": "#/$defs/fill"
2811
+ },
2812
+ "text": {
2813
+ "$ref": "#/$defs/role"
2814
+ },
2815
+ "padX": {
2816
+ "type": "number",
2817
+ "minimum": 0,
2818
+ "maximum": 32
2819
+ },
2820
+ "padY": {
2821
+ "type": "number",
2822
+ "minimum": 0,
2823
+ "maximum": 32
2824
+ },
2825
+ "gap": {
2826
+ "type": "number",
2827
+ "minimum": 0,
2828
+ "maximum": 24
2829
+ },
2830
+ "shadow": {
2831
+ "$ref": "#/$defs/shadow"
2832
+ },
2833
+ "hover": {
2834
+ "$ref": "#/$defs/state"
2835
+ },
2836
+ "active": {
2837
+ "$ref": "#/$defs/state"
2838
+ },
2839
+ "focus": {
2840
+ "$ref": "#/$defs/state"
2841
+ },
2842
+ "size": {
2843
+ "type": "number",
2844
+ "minimum": 28,
2845
+ "maximum": 44
2846
+ }
2847
+ }
2848
+ },
2849
+ "panel": {
2850
+ "type": "object",
2851
+ "additionalProperties": false,
2852
+ "properties": {
2853
+ "radius": {
2854
+ "oneOf": [
2855
+ {
2856
+ "type": "number",
2857
+ "minimum": 0,
2858
+ "maximum": 32
2859
+ },
2860
+ {
2861
+ "const": "pill"
2862
+ }
2863
+ ]
2864
+ },
2865
+ "borderWidth": {
2866
+ "type": "number",
2867
+ "minimum": 0,
2868
+ "maximum": 4
2869
+ },
2870
+ "borderStyle": {
2871
+ "enum": [
2872
+ "none",
2873
+ "solid",
2874
+ "dashed",
2875
+ "dotted",
2876
+ "double",
2877
+ "bevel-out",
2878
+ "bevel-in"
2879
+ ]
2880
+ },
2881
+ "borderColor": {
2882
+ "$ref": "#/$defs/role"
2883
+ },
2884
+ "fill": {
2885
+ "$ref": "#/$defs/fillGlass"
2886
+ },
2887
+ "text": {
2888
+ "$ref": "#/$defs/role"
2889
+ },
2890
+ "padX": {
2891
+ "type": "number",
2892
+ "minimum": 0,
2893
+ "maximum": 32
2894
+ },
2895
+ "padY": {
2896
+ "type": "number",
2897
+ "minimum": 0,
2898
+ "maximum": 32
2899
+ },
2900
+ "gap": {
2901
+ "type": "number",
2902
+ "minimum": 0,
2903
+ "maximum": 24
2904
+ },
2905
+ "shadow": {
2906
+ "$ref": "#/$defs/shadow"
2907
+ },
2908
+ "hover": {
2909
+ "$ref": "#/$defs/stateGlass"
2910
+ },
2911
+ "active": {
2912
+ "$ref": "#/$defs/stateGlass"
2913
+ },
2914
+ "focus": {
2915
+ "$ref": "#/$defs/stateGlass"
2916
+ },
2917
+ "preset": {
2918
+ "enum": [
2919
+ "sheet",
2920
+ "window",
2921
+ "glass"
2922
+ ]
2923
+ }
2924
+ }
2925
+ },
2926
+ "menu": {
2927
+ "type": "object",
2928
+ "additionalProperties": false,
2929
+ "properties": {
2930
+ "radius": {
2931
+ "oneOf": [
2932
+ {
2933
+ "type": "number",
2934
+ "minimum": 0,
2935
+ "maximum": 32
2936
+ },
2937
+ {
2938
+ "const": "pill"
2939
+ }
2940
+ ]
2941
+ },
2942
+ "borderWidth": {
2943
+ "type": "number",
2944
+ "minimum": 0,
2945
+ "maximum": 4
2946
+ },
2947
+ "borderStyle": {
2948
+ "enum": [
2949
+ "none",
2950
+ "solid",
2951
+ "dashed",
2952
+ "dotted",
2953
+ "double",
2954
+ "bevel-out",
2955
+ "bevel-in"
2956
+ ]
2957
+ },
2958
+ "borderColor": {
2959
+ "$ref": "#/$defs/role"
2960
+ },
2961
+ "fill": {
2962
+ "$ref": "#/$defs/fillGlass"
2963
+ },
2964
+ "text": {
2965
+ "$ref": "#/$defs/role"
2966
+ },
2967
+ "padX": {
2968
+ "type": "number",
2969
+ "minimum": 0,
2970
+ "maximum": 32
2971
+ },
2972
+ "padY": {
2973
+ "type": "number",
2974
+ "minimum": 0,
2975
+ "maximum": 32
2976
+ },
2977
+ "gap": {
2978
+ "type": "number",
2979
+ "minimum": 0,
2980
+ "maximum": 24
2981
+ },
2982
+ "shadow": {
2983
+ "$ref": "#/$defs/shadow"
2984
+ },
2985
+ "hover": {
2986
+ "$ref": "#/$defs/stateGlass"
2987
+ },
2988
+ "active": {
2989
+ "$ref": "#/$defs/stateGlass"
2990
+ },
2991
+ "focus": {
2992
+ "$ref": "#/$defs/stateGlass"
2993
+ },
2994
+ "preset": {
2995
+ "enum": [
2996
+ "sheet",
2997
+ "window",
2998
+ "glass"
2999
+ ]
3000
+ }
3001
+ }
3002
+ },
3003
+ "dialog": {
3004
+ "type": "object",
3005
+ "additionalProperties": false,
3006
+ "properties": {
3007
+ "radius": {
3008
+ "oneOf": [
3009
+ {
3010
+ "type": "number",
3011
+ "minimum": 0,
3012
+ "maximum": 32
3013
+ },
3014
+ {
3015
+ "const": "pill"
3016
+ }
3017
+ ]
3018
+ },
3019
+ "borderWidth": {
3020
+ "type": "number",
3021
+ "minimum": 0,
3022
+ "maximum": 4
3023
+ },
3024
+ "borderStyle": {
3025
+ "enum": [
3026
+ "none",
3027
+ "solid",
3028
+ "dashed",
3029
+ "dotted",
3030
+ "double",
3031
+ "bevel-out",
3032
+ "bevel-in"
3033
+ ]
3034
+ },
3035
+ "borderColor": {
3036
+ "$ref": "#/$defs/role"
3037
+ },
3038
+ "fill": {
3039
+ "$ref": "#/$defs/fillGlass"
3040
+ },
3041
+ "text": {
3042
+ "$ref": "#/$defs/role"
3043
+ },
3044
+ "padX": {
3045
+ "type": "number",
3046
+ "minimum": 0,
3047
+ "maximum": 32
3048
+ },
3049
+ "padY": {
3050
+ "type": "number",
3051
+ "minimum": 0,
3052
+ "maximum": 32
3053
+ },
3054
+ "gap": {
3055
+ "type": "number",
3056
+ "minimum": 0,
3057
+ "maximum": 24
3058
+ },
3059
+ "shadow": {
3060
+ "$ref": "#/$defs/shadow"
3061
+ },
3062
+ "hover": {
3063
+ "$ref": "#/$defs/stateGlass"
3064
+ },
3065
+ "active": {
3066
+ "$ref": "#/$defs/stateGlass"
3067
+ },
3068
+ "focus": {
3069
+ "$ref": "#/$defs/stateGlass"
3070
+ },
3071
+ "preset": {
3072
+ "enum": [
3073
+ "sheet",
3074
+ "window",
3075
+ "glass"
3076
+ ]
3077
+ }
3078
+ }
3079
+ },
3080
+ "toast": {
3081
+ "type": "object",
3082
+ "additionalProperties": false,
3083
+ "properties": {
3084
+ "radius": {
3085
+ "oneOf": [
3086
+ {
3087
+ "type": "number",
3088
+ "minimum": 0,
3089
+ "maximum": 32
3090
+ },
3091
+ {
3092
+ "const": "pill"
3093
+ }
3094
+ ]
3095
+ },
3096
+ "borderWidth": {
3097
+ "type": "number",
3098
+ "minimum": 0,
3099
+ "maximum": 4
3100
+ },
3101
+ "borderStyle": {
3102
+ "enum": [
3103
+ "none",
3104
+ "solid",
3105
+ "dashed",
3106
+ "dotted",
3107
+ "double",
3108
+ "bevel-out",
3109
+ "bevel-in"
3110
+ ]
3111
+ },
3112
+ "borderColor": {
3113
+ "$ref": "#/$defs/role"
3114
+ },
3115
+ "fill": {
3116
+ "$ref": "#/$defs/fillGlass"
3117
+ },
3118
+ "text": {
3119
+ "$ref": "#/$defs/role"
3120
+ },
3121
+ "padX": {
3122
+ "type": "number",
3123
+ "minimum": 0,
3124
+ "maximum": 32
3125
+ },
3126
+ "padY": {
3127
+ "type": "number",
3128
+ "minimum": 0,
3129
+ "maximum": 32
3130
+ },
3131
+ "gap": {
3132
+ "type": "number",
3133
+ "minimum": 0,
3134
+ "maximum": 24
3135
+ },
3136
+ "shadow": {
3137
+ "$ref": "#/$defs/shadow"
3138
+ },
3139
+ "hover": {
3140
+ "$ref": "#/$defs/stateGlass"
3141
+ },
3142
+ "active": {
3143
+ "$ref": "#/$defs/stateGlass"
3144
+ },
3145
+ "focus": {
3146
+ "$ref": "#/$defs/stateGlass"
3147
+ },
3148
+ "preset": {
3149
+ "enum": [
3150
+ "sheet",
3151
+ "window",
3152
+ "glass"
3153
+ ]
3154
+ }
3155
+ }
3156
+ },
3157
+ "hoverCard": {
3158
+ "type": "object",
3159
+ "additionalProperties": false,
3160
+ "properties": {
3161
+ "radius": {
3162
+ "oneOf": [
3163
+ {
3164
+ "type": "number",
3165
+ "minimum": 0,
3166
+ "maximum": 32
3167
+ },
3168
+ {
3169
+ "const": "pill"
3170
+ }
3171
+ ]
3172
+ },
3173
+ "borderWidth": {
3174
+ "type": "number",
3175
+ "minimum": 0,
3176
+ "maximum": 4
3177
+ },
3178
+ "borderStyle": {
3179
+ "enum": [
3180
+ "none",
3181
+ "solid",
3182
+ "dashed",
3183
+ "dotted",
3184
+ "double",
3185
+ "bevel-out",
3186
+ "bevel-in"
3187
+ ]
3188
+ },
3189
+ "borderColor": {
3190
+ "$ref": "#/$defs/role"
3191
+ },
3192
+ "fill": {
3193
+ "$ref": "#/$defs/fillGlass"
3194
+ },
3195
+ "text": {
3196
+ "$ref": "#/$defs/role"
3197
+ },
3198
+ "padX": {
3199
+ "type": "number",
3200
+ "minimum": 0,
3201
+ "maximum": 32
3202
+ },
3203
+ "padY": {
3204
+ "type": "number",
3205
+ "minimum": 0,
3206
+ "maximum": 32
3207
+ },
3208
+ "gap": {
3209
+ "type": "number",
3210
+ "minimum": 0,
3211
+ "maximum": 24
3212
+ },
3213
+ "shadow": {
3214
+ "$ref": "#/$defs/shadow"
3215
+ },
3216
+ "hover": {
3217
+ "$ref": "#/$defs/stateGlass"
3218
+ },
3219
+ "active": {
3220
+ "$ref": "#/$defs/stateGlass"
3221
+ },
3222
+ "focus": {
3223
+ "$ref": "#/$defs/stateGlass"
3224
+ },
3225
+ "preset": {
3226
+ "enum": [
3227
+ "sheet",
3228
+ "window",
3229
+ "glass"
3230
+ ]
3231
+ }
3232
+ }
3233
+ },
3234
+ "sidebarCard": {
3235
+ "type": "object",
3236
+ "additionalProperties": false,
3237
+ "properties": {
3238
+ "radius": {
3239
+ "oneOf": [
3240
+ {
3241
+ "type": "number",
3242
+ "minimum": 0,
3243
+ "maximum": 32
3244
+ },
3245
+ {
3246
+ "const": "pill"
3247
+ }
3248
+ ]
3249
+ },
3250
+ "borderWidth": {
3251
+ "type": "number",
3252
+ "minimum": 0,
3253
+ "maximum": 4
3254
+ },
3255
+ "borderStyle": {
3256
+ "enum": [
3257
+ "none",
3258
+ "solid",
3259
+ "dashed",
3260
+ "dotted",
3261
+ "double",
3262
+ "bevel-out",
3263
+ "bevel-in"
3264
+ ]
3265
+ },
3266
+ "borderColor": {
3267
+ "$ref": "#/$defs/role"
3268
+ },
3269
+ "fill": {
3270
+ "$ref": "#/$defs/fillGlass"
3271
+ },
3272
+ "text": {
3273
+ "$ref": "#/$defs/role"
3274
+ },
3275
+ "padX": {
3276
+ "type": "number",
3277
+ "minimum": 0,
3278
+ "maximum": 32
3279
+ },
3280
+ "padY": {
3281
+ "type": "number",
3282
+ "minimum": 0,
3283
+ "maximum": 32
3284
+ },
3285
+ "gap": {
3286
+ "type": "number",
3287
+ "minimum": 0,
3288
+ "maximum": 24
3289
+ },
3290
+ "shadow": {
3291
+ "$ref": "#/$defs/shadow"
3292
+ },
3293
+ "hover": {
3294
+ "$ref": "#/$defs/stateGlass"
3295
+ },
3296
+ "active": {
3297
+ "$ref": "#/$defs/stateGlass"
3298
+ },
3299
+ "focus": {
3300
+ "$ref": "#/$defs/stateGlass"
3301
+ },
3302
+ "preset": {
3303
+ "enum": [
3304
+ "sheet",
3305
+ "window",
3306
+ "glass"
3307
+ ]
3308
+ },
3309
+ "corner": {
3310
+ "enum": [
3311
+ "round",
3312
+ "cut"
3313
+ ]
3314
+ }
3315
+ }
3316
+ },
3317
+ "badge": {
3318
+ "type": "object",
3319
+ "additionalProperties": false,
3320
+ "properties": {
3321
+ "radius": {
3322
+ "oneOf": [
3323
+ {
3324
+ "type": "number",
3325
+ "minimum": 0,
3326
+ "maximum": 32
3327
+ },
3328
+ {
3329
+ "const": "pill"
3330
+ }
3331
+ ]
3332
+ },
3333
+ "borderWidth": {
3334
+ "type": "number",
3335
+ "minimum": 0,
3336
+ "maximum": 4
3337
+ },
3338
+ "borderStyle": {
3339
+ "enum": [
3340
+ "none",
3341
+ "solid",
3342
+ "dashed",
3343
+ "dotted",
3344
+ "double",
3345
+ "bevel-out",
3346
+ "bevel-in"
3347
+ ]
3348
+ },
3349
+ "borderColor": {
3350
+ "$ref": "#/$defs/role"
3351
+ },
3352
+ "fill": {
3353
+ "$ref": "#/$defs/fill"
3354
+ },
3355
+ "text": {
3356
+ "$ref": "#/$defs/role"
3357
+ },
3358
+ "padX": {
3359
+ "type": "number",
3360
+ "minimum": 0,
3361
+ "maximum": 32
3362
+ },
3363
+ "padY": {
3364
+ "type": "number",
3365
+ "minimum": 0,
3366
+ "maximum": 32
3367
+ },
3368
+ "gap": {
3369
+ "type": "number",
3370
+ "minimum": 0,
3371
+ "maximum": 24
3372
+ },
3373
+ "shadow": {
3374
+ "$ref": "#/$defs/shadow"
3375
+ },
3376
+ "hover": {
3377
+ "$ref": "#/$defs/state"
3378
+ },
3379
+ "active": {
3380
+ "$ref": "#/$defs/state"
3381
+ },
3382
+ "focus": {
3383
+ "$ref": "#/$defs/state"
3384
+ },
3385
+ "size": {
3386
+ "type": "number",
3387
+ "minimum": 14,
3388
+ "maximum": 24
3389
+ },
3390
+ "fontSize": {
3391
+ "type": "number",
3392
+ "minimum": 11,
3393
+ "maximum": 18
3394
+ },
3395
+ "font": {
3396
+ "$ref": "#/$defs/fontRoleName"
3397
+ },
3398
+ "weight": {
3399
+ "type": "number",
3400
+ "minimum": 100,
3401
+ "maximum": 900
3402
+ },
3403
+ "case": {
3404
+ "enum": [
3405
+ "none",
3406
+ "upper",
3407
+ "lower",
3408
+ "capitalize",
3409
+ "small-caps"
3410
+ ]
3411
+ },
3412
+ "tracking": {
3413
+ "type": "number",
3414
+ "minimum": -0.05,
3415
+ "maximum": 0.2
3416
+ },
3417
+ "leading": {
3418
+ "type": "number",
3419
+ "minimum": 1.1,
3420
+ "maximum": 2
3421
+ },
3422
+ "corner": {
3423
+ "enum": [
3424
+ "round",
3425
+ "cut"
3426
+ ]
3427
+ }
3428
+ }
3429
+ },
3430
+ "pill": {
3431
+ "type": "object",
3432
+ "additionalProperties": false,
3433
+ "properties": {
3434
+ "radius": {
3435
+ "oneOf": [
3436
+ {
3437
+ "type": "number",
3438
+ "minimum": 0,
3439
+ "maximum": 32
3440
+ },
3441
+ {
3442
+ "const": "pill"
3443
+ }
3444
+ ]
3445
+ },
3446
+ "borderWidth": {
3447
+ "type": "number",
3448
+ "minimum": 0,
3449
+ "maximum": 4
3450
+ },
3451
+ "borderStyle": {
3452
+ "enum": [
3453
+ "none",
3454
+ "solid",
3455
+ "dashed",
3456
+ "dotted",
3457
+ "double",
3458
+ "bevel-out",
3459
+ "bevel-in"
3460
+ ]
3461
+ },
3462
+ "borderColor": {
3463
+ "$ref": "#/$defs/role"
3464
+ },
3465
+ "fill": {
3466
+ "$ref": "#/$defs/fill"
3467
+ },
3468
+ "text": {
3469
+ "$ref": "#/$defs/role"
3470
+ },
3471
+ "padX": {
3472
+ "type": "number",
3473
+ "minimum": 0,
3474
+ "maximum": 32
3475
+ },
3476
+ "padY": {
3477
+ "type": "number",
3478
+ "minimum": 0,
3479
+ "maximum": 32
3480
+ },
3481
+ "gap": {
3482
+ "type": "number",
3483
+ "minimum": 0,
3484
+ "maximum": 24
3485
+ },
3486
+ "shadow": {
3487
+ "$ref": "#/$defs/shadow"
3488
+ },
3489
+ "hover": {
3490
+ "$ref": "#/$defs/state"
3491
+ },
3492
+ "active": {
3493
+ "$ref": "#/$defs/state"
3494
+ },
3495
+ "focus": {
3496
+ "$ref": "#/$defs/state"
3497
+ },
3498
+ "fontSize": {
3499
+ "type": "number",
3500
+ "minimum": 11,
3501
+ "maximum": 18
3502
+ },
3503
+ "font": {
3504
+ "$ref": "#/$defs/fontRoleName"
3505
+ },
3506
+ "weight": {
3507
+ "type": "number",
3508
+ "minimum": 100,
3509
+ "maximum": 900
3510
+ },
3511
+ "case": {
3512
+ "enum": [
3513
+ "none",
3514
+ "upper",
3515
+ "lower",
3516
+ "capitalize",
3517
+ "small-caps"
3518
+ ]
3519
+ },
3520
+ "tracking": {
3521
+ "type": "number",
3522
+ "minimum": -0.05,
3523
+ "maximum": 0.2
3524
+ },
3525
+ "leading": {
3526
+ "type": "number",
3527
+ "minimum": 1.1,
3528
+ "maximum": 2
3529
+ }
3530
+ }
3531
+ },
3532
+ "divider": {
3533
+ "type": "object",
3534
+ "additionalProperties": false,
3535
+ "properties": {
3536
+ "radius": {
3537
+ "oneOf": [
3538
+ {
3539
+ "type": "number",
3540
+ "minimum": 0,
3541
+ "maximum": 32
3542
+ },
3543
+ {
3544
+ "const": "pill"
3545
+ }
3546
+ ]
3547
+ },
3548
+ "borderWidth": {
3549
+ "type": "number",
3550
+ "minimum": 0,
3551
+ "maximum": 4
3552
+ },
3553
+ "borderStyle": {
3554
+ "enum": [
3555
+ "none",
3556
+ "solid",
3557
+ "dashed",
3558
+ "dotted",
3559
+ "double",
3560
+ "bevel-out",
3561
+ "bevel-in"
3562
+ ]
3563
+ },
3564
+ "borderColor": {
3565
+ "$ref": "#/$defs/role"
3566
+ },
3567
+ "fill": {
3568
+ "$ref": "#/$defs/fill"
3569
+ },
3570
+ "text": {
3571
+ "$ref": "#/$defs/role"
3572
+ },
3573
+ "padX": {
3574
+ "type": "number",
3575
+ "minimum": 0,
3576
+ "maximum": 32
3577
+ },
3578
+ "padY": {
3579
+ "type": "number",
3580
+ "minimum": 0,
3581
+ "maximum": 32
3582
+ },
3583
+ "gap": {
3584
+ "type": "number",
3585
+ "minimum": 0,
3586
+ "maximum": 24
3587
+ },
3588
+ "shadow": {
3589
+ "$ref": "#/$defs/shadow"
3590
+ },
3591
+ "hover": {
3592
+ "$ref": "#/$defs/state"
3593
+ },
3594
+ "active": {
3595
+ "$ref": "#/$defs/state"
3596
+ },
3597
+ "focus": {
3598
+ "$ref": "#/$defs/state"
3599
+ }
3600
+ }
3601
+ },
3602
+ "scrollbar": {
3603
+ "type": "object",
3604
+ "additionalProperties": false,
3605
+ "properties": {
3606
+ "radius": {
3607
+ "oneOf": [
3608
+ {
3609
+ "type": "number",
3610
+ "minimum": 0,
3611
+ "maximum": 32
3612
+ },
3613
+ {
3614
+ "const": "pill"
3615
+ }
3616
+ ]
3617
+ },
3618
+ "borderWidth": {
3619
+ "type": "number",
3620
+ "minimum": 0,
3621
+ "maximum": 4
3622
+ },
3623
+ "borderStyle": {
3624
+ "enum": [
3625
+ "none",
3626
+ "solid",
3627
+ "dashed",
3628
+ "dotted",
3629
+ "double",
3630
+ "bevel-out",
3631
+ "bevel-in"
3632
+ ]
3633
+ },
3634
+ "borderColor": {
3635
+ "$ref": "#/$defs/role"
3636
+ },
3637
+ "fill": {
3638
+ "$ref": "#/$defs/fill"
3639
+ },
3640
+ "text": {
3641
+ "$ref": "#/$defs/role"
3642
+ },
3643
+ "padX": {
3644
+ "type": "number",
3645
+ "minimum": 0,
3646
+ "maximum": 32
3647
+ },
3648
+ "padY": {
3649
+ "type": "number",
3650
+ "minimum": 0,
3651
+ "maximum": 32
3652
+ },
3653
+ "gap": {
3654
+ "type": "number",
3655
+ "minimum": 0,
3656
+ "maximum": 24
3657
+ },
3658
+ "shadow": {
3659
+ "$ref": "#/$defs/shadow"
3660
+ },
3661
+ "hover": {
3662
+ "$ref": "#/$defs/state"
3663
+ },
3664
+ "active": {
3665
+ "$ref": "#/$defs/state"
3666
+ },
3667
+ "focus": {
3668
+ "$ref": "#/$defs/state"
3669
+ }
3670
+ }
3671
+ },
3672
+ "profileHeader": {
3673
+ "type": "object",
3674
+ "additionalProperties": false,
3675
+ "properties": {
3676
+ "radius": {
3677
+ "oneOf": [
3678
+ {
3679
+ "type": "number",
3680
+ "minimum": 0,
3681
+ "maximum": 32
3682
+ },
3683
+ {
3684
+ "const": "pill"
3685
+ }
3686
+ ]
3687
+ },
3688
+ "borderWidth": {
3689
+ "type": "number",
3690
+ "minimum": 0,
3691
+ "maximum": 4
3692
+ },
3693
+ "borderStyle": {
3694
+ "enum": [
3695
+ "none",
3696
+ "solid",
3697
+ "dashed",
3698
+ "dotted",
3699
+ "double",
3700
+ "bevel-out",
3701
+ "bevel-in"
3702
+ ]
3703
+ },
3704
+ "borderColor": {
3705
+ "$ref": "#/$defs/role"
3706
+ },
3707
+ "fill": {
3708
+ "$ref": "#/$defs/fill"
3709
+ },
3710
+ "text": {
3711
+ "$ref": "#/$defs/role"
3712
+ },
3713
+ "padX": {
3714
+ "type": "number",
3715
+ "minimum": 0,
3716
+ "maximum": 32
3717
+ },
3718
+ "padY": {
3719
+ "type": "number",
3720
+ "minimum": 0,
3721
+ "maximum": 32
3722
+ },
3723
+ "gap": {
3724
+ "type": "number",
3725
+ "minimum": 0,
3726
+ "maximum": 24
3727
+ },
3728
+ "shadow": {
3729
+ "$ref": "#/$defs/shadow"
3730
+ },
3731
+ "hover": {
3732
+ "$ref": "#/$defs/state"
3733
+ },
3734
+ "active": {
3735
+ "$ref": "#/$defs/state"
3736
+ },
3737
+ "focus": {
3738
+ "$ref": "#/$defs/state"
3739
+ }
3740
+ }
3741
+ }
3742
+ }
3743
+ },
3744
+ "variants": {
3745
+ "description": "Structural choices. The first option of each axis is the site's own layout.",
3746
+ "type": "object",
3747
+ "additionalProperties": false,
3748
+ "properties": {
3749
+ "nav": {
3750
+ "enum": [
3751
+ "labels",
3752
+ "icons",
3753
+ "top",
3754
+ "bottom"
3755
+ ]
3756
+ },
3757
+ "post": {
3758
+ "enum": [
3759
+ "default",
3760
+ "cards",
3761
+ "bubbles",
3762
+ "compact",
3763
+ "broadsheet"
3764
+ ]
3765
+ },
3766
+ "actions": {
3767
+ "enum": [
3768
+ "icons",
3769
+ "labels",
3770
+ "quiet"
3771
+ ]
3772
+ },
3773
+ "header": {
3774
+ "enum": [
3775
+ "default",
3776
+ "solid",
3777
+ "bar"
3778
+ ]
3779
+ },
3780
+ "sidebar": {
3781
+ "enum": [
3782
+ "default",
3783
+ "narrow",
3784
+ "hidden"
3785
+ ]
3786
+ },
3787
+ "width": {
3788
+ "enum": [
3789
+ "default",
3790
+ "full"
3791
+ ]
3792
+ }
3793
+ }
3794
+ },
3795
+ "decor": {
3796
+ "description": "Lines, bars, focus ring, selection, scrollbars, link underlines, motion.",
3797
+ "type": "object",
3798
+ "additionalProperties": false,
3799
+ "properties": {
3800
+ "dividers": {
3801
+ "type": "object",
3802
+ "additionalProperties": false,
3803
+ "properties": {
3804
+ "style": {
3805
+ "enum": [
3806
+ "none",
3807
+ "hairline",
3808
+ "solid",
3809
+ "dashed",
3810
+ "dotted",
3811
+ "double"
3812
+ ]
3813
+ },
3814
+ "color": {
3815
+ "$ref": "#/$defs/role"
3816
+ },
3817
+ "width": {
3818
+ "type": "number",
3819
+ "minimum": 0,
3820
+ "maximum": 3
3821
+ }
3822
+ },
3823
+ "required": [
3824
+ "style"
3825
+ ]
3826
+ },
3827
+ "chrome": {
3828
+ "type": "object",
3829
+ "additionalProperties": false,
3830
+ "properties": {
3831
+ "kind": {
3832
+ "enum": [
3833
+ "none",
3834
+ "titlebar",
3835
+ "masthead",
3836
+ "prompt"
3837
+ ]
3838
+ },
3839
+ "title": {
3840
+ "type": "string",
3841
+ "maxLength": 24
3842
+ }
3843
+ },
3844
+ "required": [
3845
+ "kind"
3846
+ ]
3847
+ },
3848
+ "focusRing": {
3849
+ "type": "object",
3850
+ "additionalProperties": false,
3851
+ "properties": {
3852
+ "width": {
3853
+ "type": "number",
3854
+ "minimum": 2,
3855
+ "maximum": 4
3856
+ },
3857
+ "style": {
3858
+ "enum": [
3859
+ "solid",
3860
+ "dashed",
3861
+ "dotted",
3862
+ "double"
3863
+ ]
3864
+ },
3865
+ "color": {
3866
+ "$ref": "#/$defs/role"
3867
+ },
3868
+ "offset": {
3869
+ "type": "number",
3870
+ "minimum": 0,
3871
+ "maximum": 4
3872
+ }
3873
+ }
3874
+ },
3875
+ "selection": {
3876
+ "type": "object",
3877
+ "additionalProperties": false,
3878
+ "properties": {
3879
+ "fill": {
3880
+ "$ref": "#/$defs/role"
3881
+ },
3882
+ "text": {
3883
+ "$ref": "#/$defs/role"
3884
+ }
3885
+ },
3886
+ "required": [
3887
+ "fill",
3888
+ "text"
3889
+ ]
3890
+ },
3891
+ "scrollbar": {
3892
+ "type": "object",
3893
+ "additionalProperties": false,
3894
+ "properties": {
3895
+ "width": {
3896
+ "enum": [
3897
+ "auto",
3898
+ "thin"
3899
+ ]
3900
+ },
3901
+ "thumb": {
3902
+ "$ref": "#/$defs/role"
3903
+ },
3904
+ "track": {
3905
+ "$ref": "#/$defs/role"
3906
+ },
3907
+ "style": {
3908
+ "enum": [
3909
+ "flat",
3910
+ "classic"
3911
+ ]
3912
+ }
3913
+ }
3914
+ },
3915
+ "links": {
3916
+ "type": "object",
3917
+ "additionalProperties": false,
3918
+ "properties": {
3919
+ "underline": {
3920
+ "enum": [
3921
+ "always",
3922
+ "hover",
3923
+ "never"
3924
+ ]
3925
+ }
3926
+ },
3927
+ "required": [
3928
+ "underline"
3929
+ ]
3930
+ },
3931
+ "motion": {
3932
+ "type": "object",
3933
+ "additionalProperties": false,
3934
+ "properties": {
3935
+ "duration": {
3936
+ "type": "number",
3937
+ "minimum": 0,
3938
+ "maximum": 400
3939
+ },
3940
+ "curve": {
3941
+ "enum": [
3942
+ "standard",
3943
+ "snappy",
3944
+ "spring",
3945
+ "linear",
3946
+ "steps"
3947
+ ]
3948
+ },
3949
+ "press": {
3950
+ "type": "number",
3951
+ "minimum": 0.96,
3952
+ "maximum": 1
3953
+ }
3954
+ }
3955
+ }
3956
+ }
3957
+ },
3958
+ "icons": {
3959
+ "description": "The icon pack this theme suggests (by id), with small adjustments. A whole pack is its own document (icons.schema.json).",
3960
+ "type": "object",
3961
+ "additionalProperties": false,
3962
+ "properties": {
3963
+ "pack": {
3964
+ "type": "string",
3965
+ "pattern": "^[a-z0-9-]{1,40}$"
3966
+ },
3967
+ "style": {
3968
+ "type": "object",
3969
+ "additionalProperties": false,
3970
+ "properties": {
3971
+ "stroke": {
3972
+ "type": "number",
3973
+ "minimum": 1,
3974
+ "maximum": 2.5
3975
+ },
3976
+ "cap": {
3977
+ "enum": [
3978
+ "round",
3979
+ "square",
3980
+ "butt"
3981
+ ]
3982
+ },
3983
+ "join": {
3984
+ "enum": [
3985
+ "round",
3986
+ "miter",
3987
+ "bevel"
3988
+ ]
3989
+ },
3990
+ "scale": {
3991
+ "type": "number",
3992
+ "minimum": 0.8,
3993
+ "maximum": 1.25
3994
+ }
3995
+ }
3996
+ },
3997
+ "overrides": {
3998
+ "type": "object",
3999
+ "additionalProperties": false,
4000
+ "properties": {
4001
+ "home": {
4002
+ "$ref": "#/$defs/glyph"
4003
+ },
4004
+ "home.active": {
4005
+ "$ref": "#/$defs/glyph"
4006
+ },
4007
+ "explore": {
4008
+ "$ref": "#/$defs/glyph"
4009
+ },
4010
+ "explore.active": {
4011
+ "$ref": "#/$defs/glyph"
4012
+ },
4013
+ "notifications": {
4014
+ "$ref": "#/$defs/glyph"
4015
+ },
4016
+ "notifications.active": {
4017
+ "$ref": "#/$defs/glyph"
4018
+ },
4019
+ "messages": {
4020
+ "$ref": "#/$defs/glyph"
4021
+ },
4022
+ "messages.active": {
4023
+ "$ref": "#/$defs/glyph"
4024
+ },
4025
+ "grok": {
4026
+ "$ref": "#/$defs/glyph"
4027
+ },
4028
+ "bookmarks": {
4029
+ "$ref": "#/$defs/glyph"
4030
+ },
4031
+ "bookmarks.active": {
4032
+ "$ref": "#/$defs/glyph"
4033
+ },
4034
+ "lists": {
4035
+ "$ref": "#/$defs/glyph"
4036
+ },
4037
+ "communities": {
4038
+ "$ref": "#/$defs/glyph"
4039
+ },
4040
+ "premium": {
4041
+ "$ref": "#/$defs/glyph"
4042
+ },
4043
+ "profile": {
4044
+ "$ref": "#/$defs/glyph"
4045
+ },
4046
+ "profile.active": {
4047
+ "$ref": "#/$defs/glyph"
4048
+ },
4049
+ "more": {
4050
+ "$ref": "#/$defs/glyph"
4051
+ },
4052
+ "compose": {
4053
+ "$ref": "#/$defs/glyph"
4054
+ },
4055
+ "reply": {
4056
+ "$ref": "#/$defs/glyph"
4057
+ },
4058
+ "repost": {
4059
+ "$ref": "#/$defs/glyph"
4060
+ },
4061
+ "repost.on": {
4062
+ "$ref": "#/$defs/glyph"
4063
+ },
4064
+ "like": {
4065
+ "$ref": "#/$defs/glyph"
4066
+ },
4067
+ "like.on": {
4068
+ "$ref": "#/$defs/glyph"
4069
+ },
4070
+ "views": {
4071
+ "$ref": "#/$defs/glyph"
4072
+ },
4073
+ "bookmark": {
4074
+ "$ref": "#/$defs/glyph"
4075
+ },
4076
+ "bookmark.on": {
4077
+ "$ref": "#/$defs/glyph"
4078
+ },
4079
+ "share": {
4080
+ "$ref": "#/$defs/glyph"
4081
+ },
4082
+ "verified": {
4083
+ "$ref": "#/$defs/glyph"
4084
+ },
4085
+ "logo": {
4086
+ "$ref": "#/$defs/glyph"
4087
+ },
4088
+ "caret": {
4089
+ "$ref": "#/$defs/glyph"
4090
+ },
4091
+ "back": {
4092
+ "$ref": "#/$defs/glyph"
4093
+ },
4094
+ "close": {
4095
+ "$ref": "#/$defs/glyph"
4096
+ },
4097
+ "search": {
4098
+ "$ref": "#/$defs/glyph"
4099
+ },
4100
+ "settings": {
4101
+ "$ref": "#/$defs/glyph"
4102
+ },
4103
+ "media": {
4104
+ "$ref": "#/$defs/glyph"
4105
+ },
4106
+ "gif": {
4107
+ "$ref": "#/$defs/glyph"
4108
+ },
4109
+ "poll": {
4110
+ "$ref": "#/$defs/glyph"
4111
+ },
4112
+ "emoji": {
4113
+ "$ref": "#/$defs/glyph"
4114
+ },
4115
+ "schedule": {
4116
+ "$ref": "#/$defs/glyph"
4117
+ },
4118
+ "location": {
4119
+ "$ref": "#/$defs/glyph"
4120
+ },
4121
+ "pinned": {
4122
+ "$ref": "#/$defs/glyph"
4123
+ },
4124
+ "repostContext": {
4125
+ "$ref": "#/$defs/glyph"
4126
+ },
4127
+ "lock": {
4128
+ "$ref": "#/$defs/glyph"
4129
+ },
4130
+ "history": {
4131
+ "$ref": "#/$defs/glyph"
4132
+ },
4133
+ "studio": {
4134
+ "$ref": "#/$defs/glyph"
4135
+ },
4136
+ "articles": {
4137
+ "$ref": "#/$defs/glyph"
4138
+ }
4139
+ },
4140
+ "maxProperties": 8
4141
+ },
4142
+ "symbols": {
4143
+ "type": "object",
4144
+ "additionalProperties": false,
4145
+ "properties": {
4146
+ "like": {
4147
+ "enum": [
4148
+ "heart",
4149
+ "star",
4150
+ "custom"
4151
+ ]
4152
+ },
4153
+ "separator": {
4154
+ "enum": [
4155
+ "dot",
4156
+ "bullet",
4157
+ "slash",
4158
+ "dash",
4159
+ "pipe",
4160
+ "none"
4161
+ ]
4162
+ }
4163
+ }
4164
+ },
4165
+ "labels": {
4166
+ "type": "object",
4167
+ "additionalProperties": false,
4168
+ "properties": {
4169
+ "reply": {
4170
+ "type": "string",
4171
+ "minLength": 1,
4172
+ "maxLength": 12,
4173
+ "pattern": "^[^\\u0000-\\u001f\"\\\\<>&{};'`]+$"
4174
+ },
4175
+ "repost": {
4176
+ "type": "string",
4177
+ "minLength": 1,
4178
+ "maxLength": 12,
4179
+ "pattern": "^[^\\u0000-\\u001f\"\\\\<>&{};'`]+$"
4180
+ },
4181
+ "like": {
4182
+ "type": "string",
4183
+ "minLength": 1,
4184
+ "maxLength": 12,
4185
+ "pattern": "^[^\\u0000-\\u001f\"\\\\<>&{};'`]+$"
4186
+ },
4187
+ "views": {
4188
+ "type": "string",
4189
+ "minLength": 1,
4190
+ "maxLength": 12,
4191
+ "pattern": "^[^\\u0000-\\u001f\"\\\\<>&{};'`]+$"
4192
+ },
4193
+ "bookmark": {
4194
+ "type": "string",
4195
+ "minLength": 1,
4196
+ "maxLength": 12,
4197
+ "pattern": "^[^\\u0000-\\u001f\"\\\\<>&{};'`]+$"
4198
+ },
4199
+ "share": {
4200
+ "type": "string",
4201
+ "minLength": 1,
4202
+ "maxLength": 12,
4203
+ "pattern": "^[^\\u0000-\\u001f\"\\\\<>&{};'`]+$"
4204
+ }
4205
+ }
4206
+ }
4207
+ }
4208
+ }
4209
+ },
4210
+ "$defs": {
4211
+ "hex": {
4212
+ "type": "string",
4213
+ "pattern": "^#[0-9a-fA-F]{6}$"
4214
+ },
4215
+ "source": {
4216
+ "const": "google",
4217
+ "description": "The first family is a Google Fonts family: apps download it (asking first for an imported theme) and load it from bytes."
4218
+ },
4219
+ "interfaceRole": {
4220
+ "oneOf": [
4221
+ {
4222
+ "const": "inherit"
4223
+ },
4224
+ {
4225
+ "type": "object",
4226
+ "required": [
4227
+ "family"
4228
+ ],
4229
+ "additionalProperties": false,
4230
+ "properties": {
4231
+ "family": {
4232
+ "$ref": "#/$defs/fontStack"
4233
+ },
4234
+ "source": {
4235
+ "$ref": "#/$defs/source"
4236
+ }
4237
+ }
4238
+ }
4239
+ ]
4240
+ },
4241
+ "fontRole": {
4242
+ "oneOf": [
4243
+ {
4244
+ "const": "inherit"
4245
+ },
4246
+ {
4247
+ "type": "object",
4248
+ "required": [
4249
+ "family"
4250
+ ],
4251
+ "additionalProperties": false,
4252
+ "properties": {
4253
+ "family": {
4254
+ "$ref": "#/$defs/fontStack",
4255
+ "description": "Empty keeps the inherited family and changes only the settings below."
4256
+ },
4257
+ "source": {
4258
+ "$ref": "#/$defs/source"
4259
+ },
4260
+ "weight": {
4261
+ "type": "integer",
4262
+ "minimum": 100,
4263
+ "maximum": 900
4264
+ },
4265
+ "size": {
4266
+ "type": "number",
4267
+ "minimum": 0.75,
4268
+ "maximum": 1.5,
4269
+ "description": "Relative to the site's size."
4270
+ },
4271
+ "tracking": {
4272
+ "type": "number",
4273
+ "minimum": -0.05,
4274
+ "maximum": 0.1,
4275
+ "description": "Letter spacing in em."
4276
+ },
4277
+ "tabular": {
4278
+ "type": "boolean",
4279
+ "description": "Tabular (fixed-width) figures."
4280
+ }
4281
+ }
4282
+ }
4283
+ ]
4284
+ },
4285
+ "fontStack": {
4286
+ "type": "array",
4287
+ "maxItems": 8,
4288
+ "items": {
4289
+ "anyOf": [
4290
+ {
4291
+ "enum": [
4292
+ "system-ui",
4293
+ "sans-serif",
4294
+ "serif",
4295
+ "monospace",
4296
+ "cursive",
4297
+ "ui-sans-serif",
4298
+ "ui-serif",
4299
+ "ui-monospace",
4300
+ "ui-rounded",
4301
+ "-apple-system",
4302
+ "BlinkMacSystemFont"
4303
+ ]
4304
+ },
4305
+ {
4306
+ "type": "string",
4307
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9 .\\-]{0,47}$"
4308
+ }
4309
+ ]
4310
+ }
4311
+ },
4312
+ "role": {
4313
+ "description": "A color role of the theme. Components never carry a color literal.",
4314
+ "enum": [
4315
+ "bg",
4316
+ "surface",
4317
+ "elevated",
4318
+ "page",
4319
+ "border",
4320
+ "text",
4321
+ "muted",
4322
+ "accent",
4323
+ "onAccent",
4324
+ "inverse",
4325
+ "onInverse"
4326
+ ]
4327
+ },
4328
+ "fontRoleName": {
4329
+ "enum": [
4330
+ "interface",
4331
+ "post",
4332
+ "heading",
4333
+ "numbers",
4334
+ "mono",
4335
+ "chrome",
4336
+ "dialog"
4337
+ ]
4338
+ },
4339
+ "pathData": {
4340
+ "type": "string",
4341
+ "minLength": 1,
4342
+ "maxLength": 4000,
4343
+ "pattern": "^[MmLlHhVvCcSsQqTtAaZz0-9eE\\s,.+-]+$"
4344
+ },
4345
+ "glyph": {
4346
+ "oneOf": [
4347
+ {
4348
+ "type": "object",
4349
+ "additionalProperties": false,
4350
+ "properties": {
4351
+ "d": {
4352
+ "$ref": "#/$defs/pathData"
4353
+ },
4354
+ "rule": {
4355
+ "const": "evenodd"
4356
+ },
4357
+ "stroke": {
4358
+ "type": "boolean"
4359
+ }
4360
+ },
4361
+ "required": [
4362
+ "d"
4363
+ ]
4364
+ },
4365
+ {
4366
+ "type": "object",
4367
+ "additionalProperties": false,
4368
+ "properties": {
4369
+ "layers": {
4370
+ "type": "array",
4371
+ "minItems": 1,
4372
+ "maxItems": 6,
4373
+ "items": {
4374
+ "type": "object",
4375
+ "additionalProperties": false,
4376
+ "properties": {
4377
+ "d": {
4378
+ "$ref": "#/$defs/pathData"
4379
+ },
4380
+ "fill": {
4381
+ "oneOf": [
4382
+ {
4383
+ "$ref": "#/$defs/role"
4384
+ },
4385
+ {
4386
+ "$ref": "#/$defs/hex"
4387
+ },
4388
+ {
4389
+ "type": "object",
4390
+ "additionalProperties": false,
4391
+ "properties": {
4392
+ "from": {
4393
+ "$ref": "#/$defs/hex"
4394
+ },
4395
+ "to": {
4396
+ "$ref": "#/$defs/hex"
4397
+ }
4398
+ },
4399
+ "required": [
4400
+ "from",
4401
+ "to"
4402
+ ]
4403
+ }
4404
+ ]
4405
+ },
4406
+ "opacity": {
4407
+ "type": "number",
4408
+ "minimum": 0,
4409
+ "maximum": 1
4410
+ },
4411
+ "rule": {
4412
+ "const": "evenodd"
4413
+ }
4414
+ },
4415
+ "required": [
4416
+ "d",
4417
+ "fill"
4418
+ ]
4419
+ }
4420
+ }
4421
+ },
4422
+ "required": [
4423
+ "layers"
4424
+ ]
4425
+ },
4426
+ {
4427
+ "type": "object",
4428
+ "additionalProperties": false,
4429
+ "properties": {
4430
+ "png": {
4431
+ "type": "string",
4432
+ "maxLength": 6022,
4433
+ "pattern": "^data:image/png;base64,[A-Za-z0-9+/]+={0,2}$"
4434
+ },
4435
+ "pixel": {
4436
+ "type": "boolean"
4437
+ }
4438
+ },
4439
+ "required": [
4440
+ "png"
4441
+ ]
4442
+ }
4443
+ ]
4444
+ },
4445
+ "shadow": {
4446
+ "enum": [
4447
+ "none",
4448
+ "soft",
4449
+ "deep",
4450
+ "hard",
4451
+ "inset",
4452
+ "glow"
4453
+ ]
4454
+ },
4455
+ "fill": {
4456
+ "oneOf": [
4457
+ {
4458
+ "$ref": "#/$defs/role"
4459
+ },
4460
+ {
4461
+ "const": "transparent"
4462
+ }
4463
+ ]
4464
+ },
4465
+ "state": {
4466
+ "type": "object",
4467
+ "additionalProperties": false,
4468
+ "properties": {
4469
+ "fill": {
4470
+ "$ref": "#/$defs/fill"
4471
+ },
4472
+ "text": {
4473
+ "$ref": "#/$defs/role"
4474
+ },
4475
+ "borderColor": {
4476
+ "$ref": "#/$defs/role"
4477
+ },
4478
+ "shadow": {
4479
+ "$ref": "#/$defs/shadow"
4480
+ },
4481
+ "lift": {
4482
+ "type": "number",
4483
+ "minimum": 0,
4484
+ "maximum": 4
4485
+ },
4486
+ "scale": {
4487
+ "type": "number",
4488
+ "minimum": 0.96,
4489
+ "maximum": 1.04
4490
+ },
4491
+ "underline": {
4492
+ "type": "boolean"
4493
+ }
4494
+ }
4495
+ },
4496
+ "fillGlass": {
4497
+ "oneOf": [
4498
+ {
4499
+ "$ref": "#/$defs/role"
4500
+ },
4501
+ {
4502
+ "const": "transparent"
4503
+ },
4504
+ {
4505
+ "const": "glass"
4506
+ }
4507
+ ]
4508
+ },
4509
+ "stateGlass": {
4510
+ "type": "object",
4511
+ "additionalProperties": false,
4512
+ "properties": {
4513
+ "fill": {
4514
+ "$ref": "#/$defs/fillGlass"
4515
+ },
4516
+ "text": {
4517
+ "$ref": "#/$defs/role"
4518
+ },
4519
+ "borderColor": {
4520
+ "$ref": "#/$defs/role"
4521
+ },
4522
+ "shadow": {
4523
+ "$ref": "#/$defs/shadow"
4524
+ },
4525
+ "lift": {
4526
+ "type": "number",
4527
+ "minimum": 0,
4528
+ "maximum": 4
4529
+ },
4530
+ "scale": {
4531
+ "type": "number",
4532
+ "minimum": 0.96,
4533
+ "maximum": 1.04
4534
+ },
4535
+ "underline": {
4536
+ "type": "boolean"
4537
+ }
4538
+ }
4539
+ },
4540
+ "fillGradient": {
4541
+ "oneOf": [
4542
+ {
4543
+ "$ref": "#/$defs/role"
4544
+ },
4545
+ {
4546
+ "const": "transparent"
4547
+ },
4548
+ {
4549
+ "type": "object",
4550
+ "additionalProperties": false,
4551
+ "properties": {
4552
+ "from": {
4553
+ "$ref": "#/$defs/role"
4554
+ },
4555
+ "to": {
4556
+ "$ref": "#/$defs/role"
4557
+ },
4558
+ "angle": {
4559
+ "type": "number",
4560
+ "minimum": 0,
4561
+ "maximum": 360
4562
+ }
4563
+ },
4564
+ "required": [
4565
+ "from",
4566
+ "to"
4567
+ ]
4568
+ }
4569
+ ]
4570
+ },
4571
+ "stateGradient": {
4572
+ "type": "object",
4573
+ "additionalProperties": false,
4574
+ "properties": {
4575
+ "fill": {
4576
+ "$ref": "#/$defs/fillGradient"
4577
+ },
4578
+ "text": {
4579
+ "$ref": "#/$defs/role"
4580
+ },
4581
+ "borderColor": {
4582
+ "$ref": "#/$defs/role"
4583
+ },
4584
+ "shadow": {
4585
+ "$ref": "#/$defs/shadow"
4586
+ },
4587
+ "lift": {
4588
+ "type": "number",
4589
+ "minimum": 0,
4590
+ "maximum": 4
4591
+ },
4592
+ "scale": {
4593
+ "type": "number",
4594
+ "minimum": 0.96,
4595
+ "maximum": 1.04
4596
+ },
4597
+ "underline": {
4598
+ "type": "boolean"
4599
+ }
4600
+ }
4601
+ },
4602
+ "fillGlassGradient": {
4603
+ "oneOf": [
4604
+ {
4605
+ "$ref": "#/$defs/role"
4606
+ },
4607
+ {
4608
+ "const": "transparent"
4609
+ },
4610
+ {
4611
+ "const": "glass"
4612
+ },
4613
+ {
4614
+ "type": "object",
4615
+ "additionalProperties": false,
4616
+ "properties": {
4617
+ "from": {
4618
+ "$ref": "#/$defs/role"
4619
+ },
4620
+ "to": {
4621
+ "$ref": "#/$defs/role"
4622
+ },
4623
+ "angle": {
4624
+ "type": "number",
4625
+ "minimum": 0,
4626
+ "maximum": 360
4627
+ }
4628
+ },
4629
+ "required": [
4630
+ "from",
4631
+ "to"
4632
+ ]
4633
+ }
4634
+ ]
4635
+ },
4636
+ "stateGlassGradient": {
4637
+ "type": "object",
4638
+ "additionalProperties": false,
4639
+ "properties": {
4640
+ "fill": {
4641
+ "$ref": "#/$defs/fillGlassGradient"
4642
+ },
4643
+ "text": {
4644
+ "$ref": "#/$defs/role"
4645
+ },
4646
+ "borderColor": {
4647
+ "$ref": "#/$defs/role"
4648
+ },
4649
+ "shadow": {
4650
+ "$ref": "#/$defs/shadow"
4651
+ },
4652
+ "lift": {
4653
+ "type": "number",
4654
+ "minimum": 0,
4655
+ "maximum": 4
4656
+ },
4657
+ "scale": {
4658
+ "type": "number",
4659
+ "minimum": 0.96,
4660
+ "maximum": 1.04
4661
+ },
4662
+ "underline": {
4663
+ "type": "boolean"
4664
+ }
4665
+ }
4666
+ }
4667
+ }
4668
+ }