@opensumi/ide-theme 2.12.1-next-079c1930

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 (326) hide show
  1. package/lib/browser/default-theme.d.ts +72 -0
  2. package/lib/browser/default-theme.d.ts.map +1 -0
  3. package/lib/browser/default-theme.js +556 -0
  4. package/lib/browser/default-theme.js.map +1 -0
  5. package/lib/browser/icon-theme-data.d.ts +12 -0
  6. package/lib/browser/icon-theme-data.d.ts.map +1 -0
  7. package/lib/browser/icon-theme-data.js +207 -0
  8. package/lib/browser/icon-theme-data.js.map +1 -0
  9. package/lib/browser/icon-theme-store.d.ts +11 -0
  10. package/lib/browser/icon-theme-store.d.ts.map +1 -0
  11. package/lib/browser/icon-theme-store.js +42 -0
  12. package/lib/browser/icon-theme-store.js.map +1 -0
  13. package/lib/browser/icon.less +15 -0
  14. package/lib/browser/icon.service.d.ts +41 -0
  15. package/lib/browser/icon.service.d.ts.map +1 -0
  16. package/lib/browser/icon.service.js +274 -0
  17. package/lib/browser/icon.service.js.map +1 -0
  18. package/lib/browser/index.d.ts +11 -0
  19. package/lib/browser/index.d.ts.map +1 -0
  20. package/lib/browser/index.js +49 -0
  21. package/lib/browser/index.js.map +1 -0
  22. package/lib/browser/semantic-tokens-registry.d.ts +18 -0
  23. package/lib/browser/semantic-tokens-registry.d.ts.map +1 -0
  24. package/lib/browser/semantic-tokens-registry.js +174 -0
  25. package/lib/browser/semantic-tokens-registry.js.map +1 -0
  26. package/lib/browser/style.service.d.ts +10 -0
  27. package/lib/browser/style.service.d.ts.map +1 -0
  28. package/lib/browser/style.service.js +46 -0
  29. package/lib/browser/style.service.js.map +1 -0
  30. package/lib/browser/theme-data.d.ts +57 -0
  31. package/lib/browser/theme-data.d.ts.map +1 -0
  32. package/lib/browser/theme-data.js +594 -0
  33. package/lib/browser/theme-data.js.map +1 -0
  34. package/lib/browser/theme-store.d.ts +13 -0
  35. package/lib/browser/theme-store.d.ts.map +1 -0
  36. package/lib/browser/theme-store.js +64 -0
  37. package/lib/browser/theme-store.js.map +1 -0
  38. package/lib/browser/theme.contribution.d.ts +28 -0
  39. package/lib/browser/theme.contribution.d.ts.map +1 -0
  40. package/lib/browser/theme.contribution.js +225 -0
  41. package/lib/browser/theme.contribution.js.map +1 -0
  42. package/lib/browser/workbench.theme.service.d.ts +76 -0
  43. package/lib/browser/workbench.theme.service.d.ts.map +1 -0
  44. package/lib/browser/workbench.theme.service.js +517 -0
  45. package/lib/browser/workbench.theme.service.js.map +1 -0
  46. package/lib/common/color-registry.d.ts +38 -0
  47. package/lib/common/color-registry.d.ts.map +1 -0
  48. package/lib/common/color-registry.js +162 -0
  49. package/lib/common/color-registry.js.map +1 -0
  50. package/lib/common/color-tokens/activity-bar.d.ts +9 -0
  51. package/lib/common/color-tokens/activity-bar.d.ts.map +1 -0
  52. package/lib/common/color-tokens/activity-bar.js +50 -0
  53. package/lib/common/color-tokens/activity-bar.js.map +1 -0
  54. package/lib/common/color-tokens/badge.d.ts +3 -0
  55. package/lib/common/color-tokens/badge.d.ts.map +1 -0
  56. package/lib/common/color-tokens/badge.js +9 -0
  57. package/lib/common/color-tokens/badge.js.map +1 -0
  58. package/lib/common/color-tokens/base.d.ts +11 -0
  59. package/lib/common/color-tokens/base.d.ts.map +1 -0
  60. package/lib/common/color-tokens/base.js +18 -0
  61. package/lib/common/color-tokens/base.js.map +1 -0
  62. package/lib/common/color-tokens/basic-color.d.ts +7 -0
  63. package/lib/common/color-tokens/basic-color.d.ts.map +1 -0
  64. package/lib/common/color-tokens/basic-color.js +11 -0
  65. package/lib/common/color-tokens/basic-color.js.map +1 -0
  66. package/lib/common/color-tokens/breadcrumb.d.ts +9 -0
  67. package/lib/common/color-tokens/breadcrumb.d.ts.map +1 -0
  68. package/lib/common/color-tokens/breadcrumb.js +16 -0
  69. package/lib/common/color-tokens/breadcrumb.js.map +1 -0
  70. package/lib/common/color-tokens/button.d.ts +5 -0
  71. package/lib/common/color-tokens/button.d.ts.map +1 -0
  72. package/lib/common/color-tokens/button.js +11 -0
  73. package/lib/common/color-tokens/button.js.map +1 -0
  74. package/lib/common/color-tokens/charts.d.ts +9 -0
  75. package/lib/common/color-tokens/charts.d.ts.map +1 -0
  76. package/lib/common/color-tokens/charts.js +17 -0
  77. package/lib/common/color-tokens/charts.js.map +1 -0
  78. package/lib/common/color-tokens/checkbox.d.ts +3 -0
  79. package/lib/common/color-tokens/checkbox.d.ts.map +1 -0
  80. package/lib/common/color-tokens/checkbox.js +8 -0
  81. package/lib/common/color-tokens/checkbox.js.map +1 -0
  82. package/lib/common/color-tokens/custom/actionbar.d.ts +6 -0
  83. package/lib/common/color-tokens/custom/actionbar.d.ts.map +1 -0
  84. package/lib/common/color-tokens/custom/actionbar.js +18 -0
  85. package/lib/common/color-tokens/custom/actionbar.js.map +1 -0
  86. package/lib/common/color-tokens/custom/activity-bar.d.ts +2 -0
  87. package/lib/common/color-tokens/custom/activity-bar.d.ts.map +1 -0
  88. package/lib/common/color-tokens/custom/activity-bar.js +13 -0
  89. package/lib/common/color-tokens/custom/activity-bar.js.map +1 -0
  90. package/lib/common/color-tokens/custom/badge.d.ts +3 -0
  91. package/lib/common/color-tokens/custom/badge.d.ts.map +1 -0
  92. package/lib/common/color-tokens/custom/badge.js +17 -0
  93. package/lib/common/color-tokens/custom/badge.js.map +1 -0
  94. package/lib/common/color-tokens/custom/base.d.ts +20 -0
  95. package/lib/common/color-tokens/custom/base.d.ts.map +1 -0
  96. package/lib/common/color-tokens/custom/base.js +29 -0
  97. package/lib/common/color-tokens/custom/base.js.map +1 -0
  98. package/lib/common/color-tokens/custom/button.d.ts +50 -0
  99. package/lib/common/color-tokens/custom/button.d.ts.map +1 -0
  100. package/lib/common/color-tokens/custom/button.js +74 -0
  101. package/lib/common/color-tokens/custom/button.js.map +1 -0
  102. package/lib/common/color-tokens/custom/checkbox.d.ts +7 -0
  103. package/lib/common/color-tokens/custom/checkbox.d.ts.map +1 -0
  104. package/lib/common/color-tokens/custom/checkbox.js +12 -0
  105. package/lib/common/color-tokens/custom/checkbox.js.map +1 -0
  106. package/lib/common/color-tokens/custom/decoration.d.ts +7 -0
  107. package/lib/common/color-tokens/custom/decoration.d.ts.map +1 -0
  108. package/lib/common/color-tokens/custom/decoration.js +38 -0
  109. package/lib/common/color-tokens/custom/decoration.js.map +1 -0
  110. package/lib/common/color-tokens/custom/editor.d.ts +3 -0
  111. package/lib/common/color-tokens/custom/editor.d.ts.map +1 -0
  112. package/lib/common/color-tokens/custom/editor.js +18 -0
  113. package/lib/common/color-tokens/custom/editor.js.map +1 -0
  114. package/lib/common/color-tokens/custom/extension.d.ts +2 -0
  115. package/lib/common/color-tokens/custom/extension.d.ts.map +1 -0
  116. package/lib/common/color-tokens/custom/extension.js +7 -0
  117. package/lib/common/color-tokens/custom/extension.js.map +1 -0
  118. package/lib/common/color-tokens/custom/icon.d.ts +6 -0
  119. package/lib/common/color-tokens/custom/icon.d.ts.map +1 -0
  120. package/lib/common/color-tokens/custom/icon.js +11 -0
  121. package/lib/common/color-tokens/custom/icon.js.map +1 -0
  122. package/lib/common/color-tokens/custom/index.d.ts +23 -0
  123. package/lib/common/color-tokens/custom/index.d.ts.map +1 -0
  124. package/lib/common/color-tokens/custom/index.js +28 -0
  125. package/lib/common/color-tokens/custom/index.js.map +1 -0
  126. package/lib/common/color-tokens/custom/input.d.ts +8 -0
  127. package/lib/common/color-tokens/custom/input.d.ts.map +1 -0
  128. package/lib/common/color-tokens/custom/input.js +18 -0
  129. package/lib/common/color-tokens/custom/input.js.map +1 -0
  130. package/lib/common/color-tokens/custom/menu.d.ts +8 -0
  131. package/lib/common/color-tokens/custom/menu.d.ts.map +1 -0
  132. package/lib/common/color-tokens/custom/menu.js +23 -0
  133. package/lib/common/color-tokens/custom/menu.js.map +1 -0
  134. package/lib/common/color-tokens/custom/modal.d.ts +8 -0
  135. package/lib/common/color-tokens/custom/modal.d.ts.map +1 -0
  136. package/lib/common/color-tokens/custom/modal.js +14 -0
  137. package/lib/common/color-tokens/custom/modal.js.map +1 -0
  138. package/lib/common/color-tokens/custom/notification.d.ts +2 -0
  139. package/lib/common/color-tokens/custom/notification.d.ts.map +1 -0
  140. package/lib/common/color-tokens/custom/notification.js +9 -0
  141. package/lib/common/color-tokens/custom/notification.js.map +1 -0
  142. package/lib/common/color-tokens/custom/panel.d.ts +10 -0
  143. package/lib/common/color-tokens/custom/panel.d.ts.map +1 -0
  144. package/lib/common/color-tokens/custom/panel.js +58 -0
  145. package/lib/common/color-tokens/custom/panel.js.map +1 -0
  146. package/lib/common/color-tokens/custom/popover.d.ts +5 -0
  147. package/lib/common/color-tokens/custom/popover.d.ts.map +1 -0
  148. package/lib/common/color-tokens/custom/popover.js +11 -0
  149. package/lib/common/color-tokens/custom/popover.js.map +1 -0
  150. package/lib/common/color-tokens/custom/select.d.ts +14 -0
  151. package/lib/common/color-tokens/custom/select.d.ts.map +1 -0
  152. package/lib/common/color-tokens/custom/select.js +23 -0
  153. package/lib/common/color-tokens/custom/select.js.map +1 -0
  154. package/lib/common/color-tokens/custom/settings.d.ts +3 -0
  155. package/lib/common/color-tokens/custom/settings.d.ts.map +1 -0
  156. package/lib/common/color-tokens/custom/settings.js +9 -0
  157. package/lib/common/color-tokens/custom/settings.js.map +1 -0
  158. package/lib/common/color-tokens/custom/statusbar.d.ts +2 -0
  159. package/lib/common/color-tokens/custom/statusbar.d.ts.map +1 -0
  160. package/lib/common/color-tokens/custom/statusbar.js +13 -0
  161. package/lib/common/color-tokens/custom/statusbar.js.map +1 -0
  162. package/lib/common/color-tokens/custom/tab.d.ts +5 -0
  163. package/lib/common/color-tokens/custom/tab.d.ts.map +1 -0
  164. package/lib/common/color-tokens/custom/tab.js +12 -0
  165. package/lib/common/color-tokens/custom/tab.js.map +1 -0
  166. package/lib/common/color-tokens/custom/tooltip.d.ts +5 -0
  167. package/lib/common/color-tokens/custom/tooltip.d.ts.map +1 -0
  168. package/lib/common/color-tokens/custom/tooltip.js +28 -0
  169. package/lib/common/color-tokens/custom/tooltip.js.map +1 -0
  170. package/lib/common/color-tokens/custom/tree.d.ts +10 -0
  171. package/lib/common/color-tokens/custom/tree.d.ts.map +1 -0
  172. package/lib/common/color-tokens/custom/tree.js +16 -0
  173. package/lib/common/color-tokens/custom/tree.js.map +1 -0
  174. package/lib/common/color-tokens/debug.d.ts +17 -0
  175. package/lib/common/color-tokens/debug.d.ts.map +1 -0
  176. package/lib/common/color-tokens/debug.js +23 -0
  177. package/lib/common/color-tokens/debug.js.map +1 -0
  178. package/lib/common/color-tokens/debugToolbar.d.ts +13 -0
  179. package/lib/common/color-tokens/debugToolbar.d.ts.map +1 -0
  180. package/lib/common/color-tokens/debugToolbar.js +66 -0
  181. package/lib/common/color-tokens/debugToolbar.js.map +1 -0
  182. package/lib/common/color-tokens/dropdown.d.ts +5 -0
  183. package/lib/common/color-tokens/dropdown.d.ts.map +1 -0
  184. package/lib/common/color-tokens/dropdown.js +12 -0
  185. package/lib/common/color-tokens/dropdown.js.map +1 -0
  186. package/lib/common/color-tokens/editor.d.ts +108 -0
  187. package/lib/common/color-tokens/editor.d.ts.map +1 -0
  188. package/lib/common/color-tokens/editor.js +154 -0
  189. package/lib/common/color-tokens/editor.js.map +1 -0
  190. package/lib/common/color-tokens/global.d.ts +2 -0
  191. package/lib/common/color-tokens/global.d.ts.map +1 -0
  192. package/lib/common/color-tokens/global.js +8 -0
  193. package/lib/common/color-tokens/global.js.map +1 -0
  194. package/lib/common/color-tokens/index.d.ts +35 -0
  195. package/lib/common/color-tokens/index.d.ts.map +1 -0
  196. package/lib/common/color-tokens/index.js +38 -0
  197. package/lib/common/color-tokens/index.js.map +1 -0
  198. package/lib/common/color-tokens/input.d.ts +16 -0
  199. package/lib/common/color-tokens/input.d.ts.map +1 -0
  200. package/lib/common/color-tokens/input.js +24 -0
  201. package/lib/common/color-tokens/input.js.map +1 -0
  202. package/lib/common/color-tokens/list-tree.d.ts +20 -0
  203. package/lib/common/color-tokens/list-tree.d.ts.map +1 -0
  204. package/lib/common/color-tokens/list-tree.js +27 -0
  205. package/lib/common/color-tokens/list-tree.js.map +1 -0
  206. package/lib/common/color-tokens/menu-bar.d.ts +4 -0
  207. package/lib/common/color-tokens/menu-bar.d.ts.map +1 -0
  208. package/lib/common/color-tokens/menu-bar.js +25 -0
  209. package/lib/common/color-tokens/menu-bar.js.map +1 -0
  210. package/lib/common/color-tokens/menu.d.ts +8 -0
  211. package/lib/common/color-tokens/menu.d.ts.map +1 -0
  212. package/lib/common/color-tokens/menu.js +16 -0
  213. package/lib/common/color-tokens/menu.js.map +1 -0
  214. package/lib/common/color-tokens/merge-conflict.d.ts +13 -0
  215. package/lib/common/color-tokens/merge-conflict.d.ts.map +1 -0
  216. package/lib/common/color-tokens/merge-conflict.js +28 -0
  217. package/lib/common/color-tokens/merge-conflict.js.map +1 -0
  218. package/lib/common/color-tokens/minimap.d.ts +6 -0
  219. package/lib/common/color-tokens/minimap.d.ts.map +1 -0
  220. package/lib/common/color-tokens/minimap.js +13 -0
  221. package/lib/common/color-tokens/minimap.js.map +1 -0
  222. package/lib/common/color-tokens/notification.d.ts +12 -0
  223. package/lib/common/color-tokens/notification.d.ts.map +1 -0
  224. package/lib/common/color-tokens/notification.js +65 -0
  225. package/lib/common/color-tokens/notification.js.map +1 -0
  226. package/lib/common/color-tokens/panel.d.ts +8 -0
  227. package/lib/common/color-tokens/panel.d.ts.map +1 -0
  228. package/lib/common/color-tokens/panel.js +46 -0
  229. package/lib/common/color-tokens/panel.js.map +1 -0
  230. package/lib/common/color-tokens/pick-view.d.ts +15 -0
  231. package/lib/common/color-tokens/pick-view.d.ts.map +1 -0
  232. package/lib/common/color-tokens/pick-view.js +22 -0
  233. package/lib/common/color-tokens/pick-view.js.map +1 -0
  234. package/lib/common/color-tokens/picker.d.ts +3 -0
  235. package/lib/common/color-tokens/picker.d.ts.map +1 -0
  236. package/lib/common/color-tokens/picker.js +9 -0
  237. package/lib/common/color-tokens/picker.js.map +1 -0
  238. package/lib/common/color-tokens/progress-bar.d.ts +2 -0
  239. package/lib/common/color-tokens/progress-bar.d.ts.map +1 -0
  240. package/lib/common/color-tokens/progress-bar.js +9 -0
  241. package/lib/common/color-tokens/progress-bar.js.map +1 -0
  242. package/lib/common/color-tokens/quick-input.d.ts +5 -0
  243. package/lib/common/color-tokens/quick-input.d.ts.map +1 -0
  244. package/lib/common/color-tokens/quick-input.js +16 -0
  245. package/lib/common/color-tokens/quick-input.js.map +1 -0
  246. package/lib/common/color-tokens/scrollbar.d.ts +5 -0
  247. package/lib/common/color-tokens/scrollbar.d.ts.map +1 -0
  248. package/lib/common/color-tokens/scrollbar.js +12 -0
  249. package/lib/common/color-tokens/scrollbar.js.map +1 -0
  250. package/lib/common/color-tokens/settings.d.ts +16 -0
  251. package/lib/common/color-tokens/settings.d.ts.map +1 -0
  252. package/lib/common/color-tokens/settings.js +33 -0
  253. package/lib/common/color-tokens/settings.js.map +1 -0
  254. package/lib/common/color-tokens/sidebar.d.ts +9 -0
  255. package/lib/common/color-tokens/sidebar.d.ts.map +1 -0
  256. package/lib/common/color-tokens/sidebar.js +49 -0
  257. package/lib/common/color-tokens/sidebar.js.map +1 -0
  258. package/lib/common/color-tokens/snippet.d.ts +8 -0
  259. package/lib/common/color-tokens/snippet.d.ts.map +1 -0
  260. package/lib/common/color-tokens/snippet.js +14 -0
  261. package/lib/common/color-tokens/snippet.js.map +1 -0
  262. package/lib/common/color-tokens/status-bar.d.ts +23 -0
  263. package/lib/common/color-tokens/status-bar.d.ts.map +1 -0
  264. package/lib/common/color-tokens/status-bar.js +122 -0
  265. package/lib/common/color-tokens/status-bar.js.map +1 -0
  266. package/lib/common/color-tokens/tab.d.ts +22 -0
  267. package/lib/common/color-tokens/tab.d.ts.map +1 -0
  268. package/lib/common/color-tokens/tab.js +116 -0
  269. package/lib/common/color-tokens/tab.js.map +1 -0
  270. package/lib/common/color-tokens/text.d.ts +8 -0
  271. package/lib/common/color-tokens/text.d.ts.map +1 -0
  272. package/lib/common/color-tokens/text.js +15 -0
  273. package/lib/common/color-tokens/text.js.map +1 -0
  274. package/lib/common/color-tokens/title-bar.d.ts +6 -0
  275. package/lib/common/color-tokens/title-bar.d.ts.map +1 -0
  276. package/lib/common/color-tokens/title-bar.js +33 -0
  277. package/lib/common/color-tokens/title-bar.js.map +1 -0
  278. package/lib/common/color-tokens/welcome-page.d.ts +5 -0
  279. package/lib/common/color-tokens/welcome-page.d.ts.map +1 -0
  280. package/lib/common/color-tokens/welcome-page.js +10 -0
  281. package/lib/common/color-tokens/welcome-page.js.map +1 -0
  282. package/lib/common/color.d.ts +163 -0
  283. package/lib/common/color.d.ts.map +1 -0
  284. package/lib/common/color.js +497 -0
  285. package/lib/common/color.js.map +1 -0
  286. package/lib/common/default-themes.d.ts +5 -0
  287. package/lib/common/default-themes.d.ts.map +1 -0
  288. package/lib/common/default-themes.js +184 -0
  289. package/lib/common/default-themes.js.map +1 -0
  290. package/lib/common/event.d.ts +8 -0
  291. package/lib/common/event.d.ts.map +1 -0
  292. package/lib/common/event.js +8 -0
  293. package/lib/common/event.js.map +1 -0
  294. package/lib/common/index.d.ts +9 -0
  295. package/lib/common/index.d.ts.map +1 -0
  296. package/lib/common/index.js +12 -0
  297. package/lib/common/index.js.map +1 -0
  298. package/lib/common/mocks/theme.service.d.ts +19 -0
  299. package/lib/common/mocks/theme.service.d.ts.map +1 -0
  300. package/lib/common/mocks/theme.service.js +49 -0
  301. package/lib/common/mocks/theme.service.js.map +1 -0
  302. package/lib/common/plistParser.d.ts +6 -0
  303. package/lib/common/plistParser.d.ts.map +1 -0
  304. package/lib/common/plistParser.js +458 -0
  305. package/lib/common/plistParser.js.map +1 -0
  306. package/lib/common/semantic-tokens-registry.d.ts +139 -0
  307. package/lib/common/semantic-tokens-registry.d.ts.map +1 -0
  308. package/lib/common/semantic-tokens-registry.js +296 -0
  309. package/lib/common/semantic-tokens-registry.js.map +1 -0
  310. package/lib/common/style.d.ts +7 -0
  311. package/lib/common/style.d.ts.map +1 -0
  312. package/lib/common/style.js +5 -0
  313. package/lib/common/style.js.map +1 -0
  314. package/lib/common/theme.service.d.ts +216 -0
  315. package/lib/common/theme.service.d.ts.map +1 -0
  316. package/lib/common/theme.service.js +109 -0
  317. package/lib/common/theme.service.js.map +1 -0
  318. package/lib/common/themeCompatibility.d.ts +3 -0
  319. package/lib/common/themeCompatibility.d.ts.map +1 -0
  320. package/lib/common/themeCompatibility.js +75 -0
  321. package/lib/common/themeCompatibility.js.map +1 -0
  322. package/lib/index.d.ts +2 -0
  323. package/lib/index.d.ts.map +1 -0
  324. package/lib/index.js +5 -0
  325. package/lib/index.js.map +1 -0
  326. package/package.json +29 -0
@@ -0,0 +1,517 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Themable = exports.WorkbenchThemeService = exports.COLOR_THEME_SETTING = exports.CUSTOM_EDITOR_COLORS_SETTING = exports.CUSTOM_WORKBENCH_COLORS_SETTING = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const theme_service_1 = require("../common/theme.service");
6
+ const ide_core_common_1 = require("@opensumi/ide-core-common");
7
+ const di_1 = require("@opensumi/di");
8
+ const color_registry_1 = require("../common/color-registry");
9
+ const color_1 = require("../common/color");
10
+ const event_1 = require("../common/event");
11
+ const theme_store_1 = require("./theme-store");
12
+ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
13
+ const common_1 = require("../common");
14
+ exports.CUSTOM_WORKBENCH_COLORS_SETTING = 'workbench.colorCustomizations';
15
+ exports.CUSTOM_EDITOR_COLORS_SETTING = 'editor.tokenColorCustomizations';
16
+ exports.COLOR_THEME_SETTING = 'general.theme';
17
+ const tokenGroupToScopesMap = {
18
+ comments: ['comment', 'punctuation.definition.comment'],
19
+ strings: ['string', 'meta.embedded.assembly'],
20
+ keywords: ['keyword - keyword.operator', 'keyword.control', 'storage', 'storage.type'],
21
+ numbers: ['constant.numeric'],
22
+ types: ['entity.name.type', 'entity.name.class', 'support.type', 'support.class'],
23
+ functions: ['entity.name.function', 'support.function'],
24
+ variables: ['variable', 'entity.name.variable'],
25
+ };
26
+ let WorkbenchThemeService = class WorkbenchThemeService extends ide_core_common_1.WithEventBus {
27
+ constructor() {
28
+ super();
29
+ this.colorRegistry = (0, color_registry_1.getColorRegistry)();
30
+ this.colorClassNameMap = new Map();
31
+ this.themes = new Map();
32
+ this.themeContributionRegistry = new Map();
33
+ this.themeChangeEmitter = new ide_core_common_1.Emitter();
34
+ this.onThemeChange = this.themeChangeEmitter.event;
35
+ this.parseColorValue = (s, name) => {
36
+ if (s.length > 0) {
37
+ if (s[0] === '#') {
38
+ return color_1.Color.Format.CSS.parseHex(s);
39
+ }
40
+ else {
41
+ return s;
42
+ }
43
+ }
44
+ this.logger.error((0, ide_core_common_1.localize)('invalid.default.colorType', '{0} must be either a color value in hex (#RRGGBB[AA] or #RGB[A]) or the identifier of a themable color which provides the default.', name));
45
+ return color_1.Color.red;
46
+ };
47
+ this.listen();
48
+ this.applyPlatformClass();
49
+ }
50
+ registerThemes(themeContributions, extPath) {
51
+ const disposables = new ide_core_common_1.DisposableCollection();
52
+ disposables.push({
53
+ dispose: () => this.doSetPreferenceSchema(),
54
+ });
55
+ themeContributions.forEach((contribution) => {
56
+ const themeExtContribution = { basePath: extPath, contribution };
57
+ const themeId = (0, theme_service_1.getThemeId)(contribution);
58
+ this.themeContributionRegistry.set(themeId, themeExtContribution);
59
+ disposables.push({
60
+ dispose: () => {
61
+ this.themeContributionRegistry.delete(themeId);
62
+ },
63
+ });
64
+ disposables.push({
65
+ dispose: () => {
66
+ if (this.currentThemeId === themeId) {
67
+ this.applyTheme(theme_service_1.DEFAULT_THEME_ID);
68
+ }
69
+ },
70
+ });
71
+ });
72
+ this.doSetPreferenceSchema();
73
+ return disposables;
74
+ }
75
+ async applyTheme(themeId) {
76
+ if (this.currentThemeId === themeId) {
77
+ return;
78
+ }
79
+ const prevThemeType = this.currentTheme ? this.currentTheme.type : 'dark';
80
+ this.currentThemeId = themeId;
81
+ const theme = await this.getTheme(themeId);
82
+ const themeType = (0, theme_service_1.getThemeType)(theme.base);
83
+ this.currentTheme = new Theme(themeType, theme);
84
+ this.currentTheme.setCustomColors(this.colorCustomizations);
85
+ this.currentTheme.setCustomTokenColors(this.tokenColorCustomizations);
86
+ const currentThemeType = this.currentTheme.type;
87
+ this.toggleBaseThemeClass(prevThemeType, currentThemeType);
88
+ this.doApplyTheme(this.currentTheme);
89
+ }
90
+ registerColor(contribution) {
91
+ if (!this.checkColorContribution(contribution)) {
92
+ return;
93
+ }
94
+ const { defaults } = contribution;
95
+ this.colorRegistry.registerColor(contribution.id, {
96
+ light: this.parseColorValue(defaults.light, 'configuration.colors.defaults.light'),
97
+ dark: this.parseColorValue(defaults.dark, 'configuration.colors.defaults.dark'),
98
+ hc: this.parseColorValue(defaults.highContrast, 'configuration.colors.defaults.highContrast'),
99
+ }, contribution.description);
100
+ }
101
+ // @deprecated 请直接使用sync方法,主题加载由时序保障
102
+ async getCurrentTheme() {
103
+ if (this.currentTheme) {
104
+ return this.currentTheme;
105
+ }
106
+ else {
107
+ const themeData = await this.getTheme(this.currentThemeId);
108
+ return new Theme((0, theme_service_1.getThemeType)(themeData.base), themeData);
109
+ }
110
+ }
111
+ getCurrentThemeSync() {
112
+ if (this.currentTheme) {
113
+ return this.currentTheme;
114
+ }
115
+ else {
116
+ const themeData = this.themeStore.loadDefaultTheme();
117
+ return new Theme((0, theme_service_1.getThemeType)(themeData.base), themeData);
118
+ }
119
+ }
120
+ getColor(colorId) {
121
+ var _a;
122
+ if (!colorId) {
123
+ return undefined;
124
+ }
125
+ if (typeof colorId === 'string') {
126
+ return colorId;
127
+ }
128
+ const color = (_a = this.currentTheme) === null || _a === void 0 ? void 0 : _a.getColor(colorId.id);
129
+ return color ? color_1.Color.Format.CSS.formatHexA(color) : '';
130
+ }
131
+ // 将 colorId 转换成 css 变量
132
+ getColorVar(colorId) {
133
+ if (!colorId) {
134
+ return undefined;
135
+ }
136
+ if (typeof colorId === 'string') {
137
+ return colorId;
138
+ }
139
+ const colorKey = colorId.id;
140
+ return colorKey ? `var(--${colorKey.replace(/\./g, '-')})` : undefined;
141
+ }
142
+ getColorClassNameByColorToken(colorId) {
143
+ if (!colorId) {
144
+ return undefined;
145
+ }
146
+ const id = typeof colorId === 'string' ? colorId : colorId.id;
147
+ if (this.colorClassNameMap.has(id)) {
148
+ return this.colorClassNameMap.get(id);
149
+ }
150
+ const className = `color-token-${(0, ide_core_common_1.uuid)()}`;
151
+ this.styleService.addClass(className, {
152
+ color: this.getColorVar({ id }),
153
+ });
154
+ this.colorClassNameMap.set(id, className);
155
+ return className;
156
+ }
157
+ getAvailableThemeInfos() {
158
+ const themeInfos = [];
159
+ for (const { contribution } of this.themeContributionRegistry.values()) {
160
+ const { label, uiTheme, } = contribution;
161
+ themeInfos.push({
162
+ themeId: (0, theme_service_1.getThemeId)(contribution),
163
+ name: label,
164
+ base: uiTheme || 'vs',
165
+ });
166
+ }
167
+ return themeInfos;
168
+ }
169
+ doSetPreferenceSchema() {
170
+ this.preferenceSchemaProvider.setSchema({
171
+ properties: {
172
+ [exports.COLOR_THEME_SETTING]: {
173
+ type: 'string',
174
+ default: 'Default Dark+',
175
+ enum: this.getAvailableThemeInfos().map((info) => info.themeId),
176
+ },
177
+ },
178
+ }, true);
179
+ const themeMap = this.getAvailableThemeInfos().reduce((pre, cur) => {
180
+ if (!pre.has(cur.themeId)) {
181
+ pre.set(cur.themeId, cur.name);
182
+ }
183
+ return pre;
184
+ }, new Map());
185
+ const themeId = this.preferenceService.get(exports.COLOR_THEME_SETTING);
186
+ if (themeId && themeId !== theme_service_1.DEFAULT_THEME_ID && themeMap.has(themeId)) {
187
+ this.applyTheme(themeId);
188
+ }
189
+ else {
190
+ this.applyTheme(theme_service_1.DEFAULT_THEME_ID);
191
+ }
192
+ this.preferenceSettings.setEnumLabels(exports.COLOR_THEME_SETTING, Object.fromEntries(themeMap.entries()));
193
+ }
194
+ get colorCustomizations() {
195
+ return this.preferenceService.get(exports.CUSTOM_WORKBENCH_COLORS_SETTING) || {};
196
+ }
197
+ get tokenColorCustomizations() {
198
+ return this.preferenceService.get(exports.CUSTOM_EDITOR_COLORS_SETTING) || {};
199
+ }
200
+ listen() {
201
+ this.addDispose(this.eventBus.on(event_1.ThemeChangedEvent, (e) => {
202
+ this.themeChangeEmitter.fire(e.payload.theme);
203
+ }));
204
+ this.addDispose(ide_core_common_1.Event.debounce(this.preferenceService.onPreferenceChanged, (_, e) => e, 50)(async (e) => {
205
+ if (e.preferenceName === exports.COLOR_THEME_SETTING) {
206
+ await this.applyTheme(e.newValue);
207
+ }
208
+ if (this.currentTheme) {
209
+ switch (e.preferenceName) {
210
+ case exports.CUSTOM_WORKBENCH_COLORS_SETTING: {
211
+ this.currentTheme.setCustomColors(e.newValue);
212
+ this.doApplyTheme(this.currentTheme);
213
+ break;
214
+ }
215
+ case exports.CUSTOM_EDITOR_COLORS_SETTING: {
216
+ this.currentTheme.setCustomTokenColors(e.newValue);
217
+ this.eventBus.fire(new event_1.ThemeChangedEvent({
218
+ theme: this.currentTheme,
219
+ }));
220
+ break;
221
+ }
222
+ default: break;
223
+ }
224
+ }
225
+ }));
226
+ this.addDispose(this.colorRegistry.onDidColorChangedEvent((e) => {
227
+ if (this.currentTheme) {
228
+ this.doApplyTheme.apply(this, [this.currentTheme]);
229
+ }
230
+ }));
231
+ }
232
+ checkColorContribution(contribution) {
233
+ if (typeof contribution.id !== 'string' || contribution.id.length === 0) {
234
+ this.logger.error((0, ide_core_common_1.localize)('invalid.id', "'configuration.colors.id' must be defined and can not be empty"));
235
+ return false;
236
+ }
237
+ if (!contribution.id.match(theme_service_1.colorIdPattern)) {
238
+ this.logger.error((0, ide_core_common_1.localize)('invalid.id.format', "'configuration.colors.id' must follow the word[.word]*"));
239
+ return false;
240
+ }
241
+ if (typeof contribution.description !== 'string' || contribution.id.length === 0) {
242
+ this.logger.error((0, ide_core_common_1.localize)('invalid.description', "'configuration.colors.description' must be defined and can not be empty"));
243
+ return false;
244
+ }
245
+ const defaults = contribution.defaults;
246
+ if (!defaults || typeof defaults !== 'object' || typeof defaults.light !== 'string' || typeof defaults.dark !== 'string' || typeof defaults.highContrast !== 'string') {
247
+ this.logger.error((0, ide_core_common_1.localize)('invalid.defaults', "'configuration.colors.defaults' must be defined and must contain 'light', 'dark' and 'highContrast'"));
248
+ return false;
249
+ }
250
+ return true;
251
+ }
252
+ async getTheme(id) {
253
+ const theme = this.themes.get(id);
254
+ if (theme) {
255
+ return theme;
256
+ }
257
+ const themeInfo = this.themeContributionRegistry.get(id);
258
+ if (themeInfo) {
259
+ const { contribution, basePath } = themeInfo;
260
+ return await this.themeStore.getThemeData(contribution, basePath);
261
+ }
262
+ return await this.themeStore.getThemeData();
263
+ }
264
+ doApplyTheme(theme) {
265
+ const colorContributions = this.colorRegistry.getColors();
266
+ const colors = {};
267
+ colorContributions.forEach((contribution) => {
268
+ const colorId = contribution.id;
269
+ const color = theme.getColor(colorId);
270
+ colors[colorId] = color ? color.toString() : '';
271
+ });
272
+ // 添加一些额外计算出的颜色
273
+ const foreground = theme.getColor('foreground');
274
+ if (foreground) {
275
+ colors['foreground.secondary'] = foreground.darken(0.2).toString();
276
+ }
277
+ if (theme.getColor('menu.foreground')) {
278
+ colors['menu.foreground.disabled'] = theme.getColor('menu.foreground').darken(0.4).toString();
279
+ }
280
+ let cssVariables = ':root{';
281
+ for (const colorKey of Object.keys(colors)) {
282
+ const targetColor = colors[colorKey] || theme.getColor(colorKey);
283
+ if (targetColor) {
284
+ const hexRule = `--${colorKey.replace(/\./g, '-')}: ${targetColor.toString()};\n`;
285
+ cssVariables += hexRule;
286
+ }
287
+ }
288
+ let styleNode = document.getElementById('theme-style');
289
+ if (styleNode) {
290
+ styleNode.innerHTML = cssVariables + '}';
291
+ }
292
+ else {
293
+ styleNode = document.createElement('style');
294
+ styleNode.id = 'theme-style';
295
+ styleNode.innerHTML = cssVariables + '}';
296
+ document.getElementsByTagName('head')[0].appendChild(styleNode);
297
+ }
298
+ if (this.currentTheme) {
299
+ this.eventBus.fire(new event_1.ThemeChangedEvent({
300
+ theme: this.currentTheme,
301
+ }));
302
+ }
303
+ }
304
+ toggleBaseThemeClass(prevThemeType, themeType) {
305
+ const htmlNode = document.getElementsByTagName('html')[0];
306
+ htmlNode.classList.remove((0, theme_service_1.getThemeTypeSelector)(prevThemeType));
307
+ htmlNode.classList.add((0, theme_service_1.getThemeTypeSelector)(themeType));
308
+ }
309
+ applyPlatformClass() {
310
+ const platformClass = ide_core_common_1.isWindows ? 'windows' : ide_core_common_1.isLinux ? 'linux' : 'mac';
311
+ const rootNode = document.getElementsByTagName('body')[0];
312
+ rootNode.classList.add(platformClass);
313
+ }
314
+ };
315
+ (0, tslib_1.__decorate)([
316
+ (0, di_1.Autowired)(),
317
+ (0, tslib_1.__metadata)("design:type", theme_store_1.ThemeStore)
318
+ ], WorkbenchThemeService.prototype, "themeStore", void 0);
319
+ (0, tslib_1.__decorate)([
320
+ (0, di_1.Autowired)(),
321
+ (0, tslib_1.__metadata)("design:type", ide_core_browser_1.Logger)
322
+ ], WorkbenchThemeService.prototype, "logger", void 0);
323
+ (0, tslib_1.__decorate)([
324
+ (0, di_1.Autowired)(ide_core_browser_1.PreferenceService),
325
+ (0, tslib_1.__metadata)("design:type", Object)
326
+ ], WorkbenchThemeService.prototype, "preferenceService", void 0);
327
+ (0, tslib_1.__decorate)([
328
+ (0, di_1.Autowired)(ide_core_browser_1.PreferenceSchemaProvider),
329
+ (0, tslib_1.__metadata)("design:type", ide_core_browser_1.PreferenceSchemaProvider)
330
+ ], WorkbenchThemeService.prototype, "preferenceSchemaProvider", void 0);
331
+ (0, tslib_1.__decorate)([
332
+ (0, di_1.Autowired)(ide_core_browser_1.IPreferenceSettingsService),
333
+ (0, tslib_1.__metadata)("design:type", Object)
334
+ ], WorkbenchThemeService.prototype, "preferenceSettings", void 0);
335
+ (0, tslib_1.__decorate)([
336
+ (0, di_1.Autowired)(common_1.ICSSStyleService),
337
+ (0, tslib_1.__metadata)("design:type", Object)
338
+ ], WorkbenchThemeService.prototype, "styleService", void 0);
339
+ WorkbenchThemeService = (0, tslib_1.__decorate)([
340
+ (0, di_1.Injectable)(),
341
+ (0, tslib_1.__metadata)("design:paramtypes", [])
342
+ ], WorkbenchThemeService);
343
+ exports.WorkbenchThemeService = WorkbenchThemeService;
344
+ class Themable extends ide_core_common_1.WithEventBus {
345
+ constructor() {
346
+ super();
347
+ this.listenThemeChange();
348
+ }
349
+ get currentTheme() {
350
+ return this.theme;
351
+ }
352
+ // 传入色值ID,主题色未定义时,若useDefault为false则返回undefined
353
+ async getColor(id, useDefault) {
354
+ if (!this.theme) {
355
+ this.theme = await this.themeService.getCurrentTheme();
356
+ }
357
+ return this.theme.getColor(id, useDefault);
358
+ }
359
+ getColorSync(id, useDefault) {
360
+ if (!this.theme) {
361
+ this.theme = this.themeService.getCurrentThemeSync();
362
+ }
363
+ return this.theme.getColor(id, useDefault);
364
+ }
365
+ listenThemeChange() {
366
+ this.themeService.onThemeChange((theme) => {
367
+ this.theme = theme;
368
+ this.style();
369
+ });
370
+ }
371
+ // themeChange时自动调用,首次调用时机需要模块自己判断
372
+ async style() {
373
+ // use theme
374
+ }
375
+ }
376
+ (0, tslib_1.__decorate)([
377
+ (0, di_1.Autowired)(theme_service_1.IThemeService),
378
+ (0, tslib_1.__metadata)("design:type", WorkbenchThemeService)
379
+ ], Themable.prototype, "themeService", void 0);
380
+ exports.Themable = Themable;
381
+ class Theme {
382
+ constructor(type, themeData) {
383
+ this.colorRegistry = (0, color_registry_1.getColorRegistry)();
384
+ this.defaultColors = Object.create(null);
385
+ this.customColorMap = {};
386
+ this.customTokenColors = [];
387
+ this.type = type;
388
+ this.themeData = themeData;
389
+ this.patchColors();
390
+ this.patchTokenColors();
391
+ this.themeData.loadCustomTokens(this.customTokenColors);
392
+ }
393
+ getColor(colorId, useDefault) {
394
+ const color = this.customColorMap[colorId] || this.getColors()[colorId];
395
+ if (color) {
396
+ return color;
397
+ }
398
+ if (useDefault !== false) {
399
+ return this.getDefault(colorId);
400
+ }
401
+ return undefined;
402
+ }
403
+ defines(color) {
404
+ if (this.customColorMap[color] || this.themeData.colors[color]) {
405
+ return true;
406
+ }
407
+ return false;
408
+ }
409
+ setCustomColors(colors) {
410
+ this.customColorMap = {};
411
+ this.overwriteCustomColors(colors);
412
+ const themeSpecificColors = colors[`[${this.themeData.name}]`];
413
+ if ((0, ide_core_common_1.isObject)(themeSpecificColors)) {
414
+ this.overwriteCustomColors(themeSpecificColors);
415
+ }
416
+ }
417
+ setCustomTokenColors(customTokenColors) {
418
+ this.customTokenColors = [];
419
+ // first add the non-theme specific settings
420
+ this.addCustomTokenColors(customTokenColors);
421
+ // append theme specific settings. Last rules will win.
422
+ const themeSpecificTokenColors = customTokenColors[`[${this.themeData.name}]`];
423
+ if ((0, ide_core_common_1.isObject)(themeSpecificTokenColors)) {
424
+ this.addCustomTokenColors(themeSpecificTokenColors);
425
+ }
426
+ this.themeData.loadCustomTokens(this.customTokenColors);
427
+ }
428
+ addCustomTokenColors(customTokenColors) {
429
+ // Put the general customizations such as comments, strings, etc. first so that
430
+ // they can be overridden by specific customizations like "string.interpolated"
431
+ // tslint:disable-next-line: forin
432
+ for (const tokenGroup in tokenGroupToScopesMap) {
433
+ const group = tokenGroup; // TS doesn't type 'tokenGroup' properly
434
+ const value = customTokenColors[group];
435
+ if (value) {
436
+ const settings = typeof value === 'string' ? { foreground: value } : value;
437
+ const scopes = tokenGroupToScopesMap[group];
438
+ for (const scope of scopes) {
439
+ this.customTokenColors.push({ scope, settings });
440
+ }
441
+ }
442
+ }
443
+ // specific customizations
444
+ if (Array.isArray(customTokenColors.textMateRules)) {
445
+ for (const rule of customTokenColors.textMateRules) {
446
+ if (rule.scope && rule.settings) {
447
+ this.customTokenColors.push(rule);
448
+ }
449
+ }
450
+ }
451
+ }
452
+ overwriteCustomColors(colors) {
453
+ // tslint:disable-next-line: forin
454
+ for (const id in colors) {
455
+ const colorVal = colors[id];
456
+ if (typeof colorVal === 'string') {
457
+ this.customColorMap[id] = color_1.Color.fromHex(colorVal);
458
+ }
459
+ }
460
+ }
461
+ patchColors() {
462
+ const colorContributions = this.colorRegistry.getColors();
463
+ for (const colorContribution of colorContributions) {
464
+ const id = colorContribution.id;
465
+ const colorMap = this.themeData.colorMap;
466
+ if (!colorMap[id]) {
467
+ const color = this.colorRegistry.resolveDefaultColor(id, this);
468
+ if (color) {
469
+ colorMap[id] = color;
470
+ this.themeData.colors[id] = color_1.Color.Format.CSS.formatHexA(color);
471
+ }
472
+ }
473
+ }
474
+ }
475
+ // 将encodedTokensColors转为monaco可用的形式
476
+ patchTokenColors() {
477
+ // 当默认颜色不在settings当中时,此处不能使用之前那种直接给encodedTokenColors赋值的做法,会导致monaco使用时颜色错位(theia的bug
478
+ if (this.themeData.themeSettings.filter((setting) => !setting.scope).length === 0) {
479
+ this.themeData.themeSettings.unshift({
480
+ settings: {
481
+ foreground: this.themeData.colors['editor.foreground'] ? this.themeData.colors['editor.foreground'].substr(0, 7) : color_1.Color.Format.CSS.formatHexA(this.colorRegistry.resolveDefaultColor('editor.foreground', this)),
482
+ background: this.themeData.colors['editor.background'] ? this.themeData.colors['editor.background'].substr(0, 7) : color_1.Color.Format.CSS.formatHexA(this.colorRegistry.resolveDefaultColor('editor.background', this)),
483
+ },
484
+ });
485
+ }
486
+ }
487
+ // 返回主题内的颜色值
488
+ getColors() {
489
+ if (!this.colorMap) {
490
+ const colorMap = Object.create(null);
491
+ // tslint:disable-next-line
492
+ for (let id in this.themeData.colorMap) {
493
+ colorMap[id] = this.themeData.colorMap[id];
494
+ }
495
+ if (this.themeData.inherit) {
496
+ const baseData = (0, theme_service_1.getBuiltinRules)(this.themeData.base);
497
+ for (const id in baseData.colors) {
498
+ if (!colorMap[id]) {
499
+ colorMap[id] = color_1.Color.fromHex(baseData.colors[id]);
500
+ }
501
+ }
502
+ }
503
+ this.colorMap = colorMap;
504
+ }
505
+ return this.colorMap;
506
+ }
507
+ getDefault(colorId) {
508
+ let color = this.defaultColors[colorId];
509
+ if (color) {
510
+ return color;
511
+ }
512
+ color = this.colorRegistry.resolveDefaultColor(colorId, this);
513
+ this.defaultColors[colorId] = color;
514
+ return color;
515
+ }
516
+ }
517
+ //# sourceMappingURL=workbench.theme.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workbench.theme.service.js","sourceRoot":"","sources":["../../src/browser/workbench.theme.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { Event } from '@opensumi/ide-core-common';
2
+ import { Color } from '../common/color';
3
+ import { ITheme, ColorIdentifier, ColorDefaults, ColorContribution, ColorValue, ColorFunction } from '../common/theme.service';
4
+ export declare const Extensions: {
5
+ ColorContribution: string;
6
+ };
7
+ export interface IColorRegistry {
8
+ /**
9
+ * Register a color to the registry.
10
+ * @param id The color id as used in theme description files
11
+ * @param defaults The default values
12
+ * @description the description
13
+ */
14
+ registerColor(id: string, defaults: ColorDefaults, description: string): ColorIdentifier;
15
+ /**
16
+ * Register a color to the registry.
17
+ */
18
+ deregisterColor(id: string): void;
19
+ /**
20
+ * Get all color contributions
21
+ */
22
+ getColors(): ColorContribution[];
23
+ /**
24
+ * Gets the default color of the given id
25
+ */
26
+ resolveDefaultColor(id: ColorIdentifier, theme: ITheme): Color | undefined;
27
+ onDidColorChangedEvent: Event<void>;
28
+ }
29
+ export declare function registerColor(id: string, defaults: ColorDefaults | null, description: string, needsTransparency?: boolean, deprecationMessage?: string): ColorIdentifier;
30
+ export declare function getColorRegistry(): IColorRegistry;
31
+ export declare function WORKBENCH_BACKGROUND(theme: ITheme): Color;
32
+ export declare function darken(colorValue: ColorValue, factor: number): ColorFunction;
33
+ export declare function lighten(colorValue: ColorValue, factor: number): ColorFunction;
34
+ export declare function transparent(colorValue: ColorValue, factor: number): ColorFunction;
35
+ export declare function oneOf(...colorValues: ColorValue[]): ColorFunction;
36
+ export declare function lessProminent(colorValue: ColorValue, backgroundColorValue: ColorValue, factor: number, transparency: number): ColorFunction;
37
+ export * from './color-tokens';
38
+ //# sourceMappingURL=color-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-registry.d.ts","sourceRoot":"","sources":["../../src/common/color-registry.ts"],"names":[],"mappings":"AAKA,OAAO,EAAW,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAK/H,eAAO,MAAM,UAAU;;CAEtB,CAAC;AAEF,MAAM,WAAW,cAAc;IAE7B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,CAAC;IAEzF;;OAEG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC;;OAEG;IACH,SAAS,IAAI,iBAAiB,EAAE,CAAC;IAEjC;;OAEG;IACH,mBAAmB,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IAE3E,sBAAsB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CACrC;AAuDD,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,eAAe,CAExK;AAED,wBAAgB,gBAAgB,IAAI,cAAc,CAEjD;AAID,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CASzD;AAID,wBAAgB,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAQ5E;AAED,wBAAgB,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAQ7E;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAQjF;AAED,wBAAgB,KAAK,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,aAAa,CAUjE;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa,CAe3I;AA0BD,cAAc,gBAAgB,CAAC"}