@furystack/shades-common-components 12.7.0 → 13.0.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 (584) hide show
  1. package/CHANGELOG.md +152 -0
  2. package/README.md +218 -4
  3. package/esm/components/accordion/accordion-item.d.ts +1 -1
  4. package/esm/components/accordion/accordion-item.d.ts.map +1 -1
  5. package/esm/components/accordion/accordion-item.js +6 -11
  6. package/esm/components/accordion/accordion-item.js.map +1 -1
  7. package/esm/components/accordion/accordion.d.ts.map +1 -1
  8. package/esm/components/accordion/accordion.js +1 -0
  9. package/esm/components/accordion/accordion.js.map +1 -1
  10. package/esm/components/app-bar-link.d.ts.map +1 -1
  11. package/esm/components/app-bar-link.js +1 -0
  12. package/esm/components/app-bar-link.js.map +1 -1
  13. package/esm/components/app-bar.d.ts.map +1 -1
  14. package/esm/components/app-bar.js +2 -0
  15. package/esm/components/app-bar.js.map +1 -1
  16. package/esm/components/app-bar.spec.js +3 -3
  17. package/esm/components/app-bar.spec.js.map +1 -1
  18. package/esm/components/avatar.d.ts.map +1 -1
  19. package/esm/components/avatar.js +1 -0
  20. package/esm/components/avatar.js.map +1 -1
  21. package/esm/components/badge.d.ts.map +1 -1
  22. package/esm/components/badge.js +2 -1
  23. package/esm/components/badge.js.map +1 -1
  24. package/esm/components/breadcrumb.d.ts.map +1 -1
  25. package/esm/components/breadcrumb.js +1 -0
  26. package/esm/components/breadcrumb.js.map +1 -1
  27. package/esm/components/button-group.d.ts.map +1 -1
  28. package/esm/components/button-group.js +57 -60
  29. package/esm/components/button-group.js.map +1 -1
  30. package/esm/components/button-group.spec.js +7 -6
  31. package/esm/components/button-group.spec.js.map +1 -1
  32. package/esm/components/button.d.ts.map +1 -1
  33. package/esm/components/button.js +1 -0
  34. package/esm/components/button.js.map +1 -1
  35. package/esm/components/cache-view.d.ts.map +1 -1
  36. package/esm/components/cache-view.js +4 -0
  37. package/esm/components/cache-view.js.map +1 -1
  38. package/esm/components/cache-view.spec.js +4 -1
  39. package/esm/components/cache-view.spec.js.map +1 -1
  40. package/esm/components/card.d.ts.map +1 -1
  41. package/esm/components/card.js +3 -1
  42. package/esm/components/card.js.map +1 -1
  43. package/esm/components/circular-progress.d.ts.map +1 -1
  44. package/esm/components/circular-progress.js +1 -0
  45. package/esm/components/circular-progress.js.map +1 -1
  46. package/esm/components/command-palette/command-palette-input.d.ts.map +1 -1
  47. package/esm/components/command-palette/command-palette-input.js +1 -0
  48. package/esm/components/command-palette/command-palette-input.js.map +1 -1
  49. package/esm/components/command-palette/command-palette-suggestion-list.d.ts.map +1 -1
  50. package/esm/components/command-palette/command-palette-suggestion-list.js +3 -1
  51. package/esm/components/command-palette/command-palette-suggestion-list.js.map +1 -1
  52. package/esm/components/command-palette/index.d.ts.map +1 -1
  53. package/esm/components/command-palette/index.js +2 -0
  54. package/esm/components/command-palette/index.js.map +1 -1
  55. package/esm/components/context-menu/context-menu-item.d.ts.map +1 -1
  56. package/esm/components/context-menu/context-menu-item.js +1 -0
  57. package/esm/components/context-menu/context-menu-item.js.map +1 -1
  58. package/esm/components/context-menu/context-menu.d.ts.map +1 -1
  59. package/esm/components/context-menu/context-menu.js +1 -0
  60. package/esm/components/context-menu/context-menu.js.map +1 -1
  61. package/esm/components/data-grid/body.d.ts.map +1 -1
  62. package/esm/components/data-grid/body.js +2 -0
  63. package/esm/components/data-grid/body.js.map +1 -1
  64. package/esm/components/data-grid/data-grid-row.d.ts.map +1 -1
  65. package/esm/components/data-grid/data-grid-row.js +1 -0
  66. package/esm/components/data-grid/data-grid-row.js.map +1 -1
  67. package/esm/components/data-grid/data-grid.d.ts.map +1 -1
  68. package/esm/components/data-grid/data-grid.js +1 -0
  69. package/esm/components/data-grid/data-grid.js.map +1 -1
  70. package/esm/components/data-grid/filters/boolean-filter.d.ts.map +1 -1
  71. package/esm/components/data-grid/filters/boolean-filter.js +2 -0
  72. package/esm/components/data-grid/filters/boolean-filter.js.map +1 -1
  73. package/esm/components/data-grid/filters/date-filter.d.ts.map +1 -1
  74. package/esm/components/data-grid/filters/date-filter.js +2 -0
  75. package/esm/components/data-grid/filters/date-filter.js.map +1 -1
  76. package/esm/components/data-grid/filters/enum-filter.d.ts.map +1 -1
  77. package/esm/components/data-grid/filters/enum-filter.js +2 -0
  78. package/esm/components/data-grid/filters/enum-filter.js.map +1 -1
  79. package/esm/components/data-grid/filters/filter-dropdown.d.ts.map +1 -1
  80. package/esm/components/data-grid/filters/filter-dropdown.js +1 -0
  81. package/esm/components/data-grid/filters/filter-dropdown.js.map +1 -1
  82. package/esm/components/data-grid/filters/number-filter.d.ts.map +1 -1
  83. package/esm/components/data-grid/filters/number-filter.js +2 -0
  84. package/esm/components/data-grid/filters/number-filter.js.map +1 -1
  85. package/esm/components/data-grid/filters/string-filter.d.ts.map +1 -1
  86. package/esm/components/data-grid/filters/string-filter.js +2 -0
  87. package/esm/components/data-grid/filters/string-filter.js.map +1 -1
  88. package/esm/components/data-grid/footer.d.ts.map +1 -1
  89. package/esm/components/data-grid/footer.js +1 -0
  90. package/esm/components/data-grid/footer.js.map +1 -1
  91. package/esm/components/data-grid/header.d.ts.map +1 -1
  92. package/esm/components/data-grid/header.js +2 -0
  93. package/esm/components/data-grid/header.js.map +1 -1
  94. package/esm/components/data-grid/selection-cell.d.ts.map +1 -1
  95. package/esm/components/data-grid/selection-cell.js +1 -0
  96. package/esm/components/data-grid/selection-cell.js.map +1 -1
  97. package/esm/components/dialog.d.ts.map +1 -1
  98. package/esm/components/dialog.js +8 -12
  99. package/esm/components/dialog.js.map +1 -1
  100. package/esm/components/divider.d.ts.map +1 -1
  101. package/esm/components/divider.js +1 -0
  102. package/esm/components/divider.js.map +1 -1
  103. package/esm/components/drawer/drawer-toggle-button.d.ts +1 -1
  104. package/esm/components/drawer/drawer-toggle-button.d.ts.map +1 -1
  105. package/esm/components/drawer/drawer-toggle-button.js +2 -1
  106. package/esm/components/drawer/drawer-toggle-button.js.map +1 -1
  107. package/esm/components/drawer/index.d.ts.map +1 -1
  108. package/esm/components/drawer/index.js +1 -0
  109. package/esm/components/drawer/index.js.map +1 -1
  110. package/esm/components/dropdown.d.ts.map +1 -1
  111. package/esm/components/dropdown.js +1 -0
  112. package/esm/components/dropdown.js.map +1 -1
  113. package/esm/components/fab.d.ts.map +1 -1
  114. package/esm/components/fab.js +1 -0
  115. package/esm/components/fab.js.map +1 -1
  116. package/esm/components/form.d.ts.map +1 -1
  117. package/esm/components/form.js +2 -0
  118. package/esm/components/form.js.map +1 -1
  119. package/esm/components/grid.d.ts.map +1 -1
  120. package/esm/components/grid.js +3 -1
  121. package/esm/components/grid.js.map +1 -1
  122. package/esm/components/icons/icon.d.ts.map +1 -1
  123. package/esm/components/icons/icon.js +2 -0
  124. package/esm/components/icons/icon.js.map +1 -1
  125. package/esm/components/image.d.ts.map +1 -1
  126. package/esm/components/image.js +1 -0
  127. package/esm/components/image.js.map +1 -1
  128. package/esm/components/inputs/autocomplete.d.ts.map +1 -1
  129. package/esm/components/inputs/autocomplete.js +2 -0
  130. package/esm/components/inputs/autocomplete.js.map +1 -1
  131. package/esm/components/inputs/checkbox.d.ts.map +1 -1
  132. package/esm/components/inputs/checkbox.js +2 -1
  133. package/esm/components/inputs/checkbox.js.map +1 -1
  134. package/esm/components/inputs/input-number.d.ts.map +1 -1
  135. package/esm/components/inputs/input-number.js +1 -0
  136. package/esm/components/inputs/input-number.js.map +1 -1
  137. package/esm/components/inputs/input.d.ts.map +1 -1
  138. package/esm/components/inputs/input.js +1 -0
  139. package/esm/components/inputs/input.js.map +1 -1
  140. package/esm/components/inputs/radio-group.d.ts.map +1 -1
  141. package/esm/components/inputs/radio-group.js +1 -0
  142. package/esm/components/inputs/radio-group.js.map +1 -1
  143. package/esm/components/inputs/radio.d.ts.map +1 -1
  144. package/esm/components/inputs/radio.js +1 -0
  145. package/esm/components/inputs/radio.js.map +1 -1
  146. package/esm/components/inputs/select.d.ts.map +1 -1
  147. package/esm/components/inputs/select.js +14 -16
  148. package/esm/components/inputs/select.js.map +1 -1
  149. package/esm/components/inputs/select.spec.js +3 -6
  150. package/esm/components/inputs/select.spec.js.map +1 -1
  151. package/esm/components/inputs/slider.d.ts.map +1 -1
  152. package/esm/components/inputs/slider.js +5 -31
  153. package/esm/components/inputs/slider.js.map +1 -1
  154. package/esm/components/inputs/switch.d.ts.map +1 -1
  155. package/esm/components/inputs/switch.js +2 -1
  156. package/esm/components/inputs/switch.js.map +1 -1
  157. package/esm/components/inputs/text-area.d.ts.map +1 -1
  158. package/esm/components/inputs/text-area.js +1 -0
  159. package/esm/components/inputs/text-area.js.map +1 -1
  160. package/esm/components/linear-progress.d.ts.map +1 -1
  161. package/esm/components/linear-progress.js +1 -0
  162. package/esm/components/linear-progress.js.map +1 -1
  163. package/esm/components/list/list-item.d.ts.map +1 -1
  164. package/esm/components/list/list-item.js +1 -0
  165. package/esm/components/list/list-item.js.map +1 -1
  166. package/esm/components/list/list.d.ts.map +1 -1
  167. package/esm/components/list/list.js +2 -0
  168. package/esm/components/list/list.js.map +1 -1
  169. package/esm/components/loader.d.ts.map +1 -1
  170. package/esm/components/loader.js +1 -0
  171. package/esm/components/loader.js.map +1 -1
  172. package/esm/components/markdown/markdown-display.js +1 -1
  173. package/esm/components/markdown/markdown-display.js.map +1 -1
  174. package/esm/components/markdown/markdown-display.spec.js +2 -2
  175. package/esm/components/markdown/markdown-display.spec.js.map +1 -1
  176. package/esm/components/markdown/markdown-editor.d.ts.map +1 -1
  177. package/esm/components/markdown/markdown-editor.js +1 -0
  178. package/esm/components/markdown/markdown-editor.js.map +1 -1
  179. package/esm/components/markdown/markdown-editor.spec.js +1 -1
  180. package/esm/components/markdown/markdown-editor.spec.js.map +1 -1
  181. package/esm/components/markdown/markdown-input.d.ts.map +1 -1
  182. package/esm/components/markdown/markdown-input.js +1 -0
  183. package/esm/components/markdown/markdown-input.js.map +1 -1
  184. package/esm/components/modal.d.ts.map +1 -1
  185. package/esm/components/modal.js +2 -0
  186. package/esm/components/modal.js.map +1 -1
  187. package/esm/components/noty-list.d.ts.map +1 -1
  188. package/esm/components/noty-list.js +4 -2
  189. package/esm/components/noty-list.js.map +1 -1
  190. package/esm/components/noty-list.spec.js +1 -1
  191. package/esm/components/noty-list.spec.js.map +1 -1
  192. package/esm/components/page-container/index.d.ts +1 -1
  193. package/esm/components/page-container/index.d.ts.map +1 -1
  194. package/esm/components/page-container/index.js +2 -1
  195. package/esm/components/page-container/index.js.map +1 -1
  196. package/esm/components/page-container/page-header.d.ts.map +1 -1
  197. package/esm/components/page-container/page-header.js +10 -12
  198. package/esm/components/page-container/page-header.js.map +1 -1
  199. package/esm/components/page-container/page-header.spec.js +6 -4
  200. package/esm/components/page-container/page-header.spec.js.map +1 -1
  201. package/esm/components/page-layout/index.d.ts.map +1 -1
  202. package/esm/components/page-layout/index.js +2 -0
  203. package/esm/components/page-layout/index.js.map +1 -1
  204. package/esm/components/paper.d.ts.map +1 -1
  205. package/esm/components/paper.js +6 -1
  206. package/esm/components/paper.js.map +1 -1
  207. package/esm/components/rating.d.ts.map +1 -1
  208. package/esm/components/rating.js +1 -0
  209. package/esm/components/rating.js.map +1 -1
  210. package/esm/components/result.d.ts.map +1 -1
  211. package/esm/components/result.js +3 -14
  212. package/esm/components/result.js.map +1 -1
  213. package/esm/components/result.spec.js +3 -3
  214. package/esm/components/result.spec.js.map +1 -1
  215. package/esm/components/suggest/index.d.ts.map +1 -1
  216. package/esm/components/suggest/index.js +2 -0
  217. package/esm/components/suggest/index.js.map +1 -1
  218. package/esm/components/suggest/suggest-input.d.ts.map +1 -1
  219. package/esm/components/suggest/suggest-input.js +1 -0
  220. package/esm/components/suggest/suggest-input.js.map +1 -1
  221. package/esm/components/suggest/suggestion-list.d.ts.map +1 -1
  222. package/esm/components/suggest/suggestion-list.js +3 -1
  223. package/esm/components/suggest/suggestion-list.js.map +1 -1
  224. package/esm/components/tabs.d.ts.map +1 -1
  225. package/esm/components/tabs.js +1 -0
  226. package/esm/components/tabs.js.map +1 -1
  227. package/esm/components/timeline.d.ts.map +1 -1
  228. package/esm/components/timeline.js +58 -51
  229. package/esm/components/timeline.js.map +1 -1
  230. package/esm/components/timeline.spec.js +0 -66
  231. package/esm/components/timeline.spec.js.map +1 -1
  232. package/esm/components/tooltip.d.ts.map +1 -1
  233. package/esm/components/tooltip.js +1 -0
  234. package/esm/components/tooltip.js.map +1 -1
  235. package/esm/components/tree/tree-item.d.ts.map +1 -1
  236. package/esm/components/tree/tree-item.js +1 -0
  237. package/esm/components/tree/tree-item.js.map +1 -1
  238. package/esm/components/tree/tree.d.ts.map +1 -1
  239. package/esm/components/tree/tree.js +2 -0
  240. package/esm/components/tree/tree.js.map +1 -1
  241. package/esm/components/typography.d.ts +2 -19
  242. package/esm/components/typography.d.ts.map +1 -1
  243. package/esm/components/typography.js +104 -94
  244. package/esm/components/typography.js.map +1 -1
  245. package/esm/components/typography.spec.js +16 -16
  246. package/esm/components/typography.spec.js.map +1 -1
  247. package/esm/components/wizard/index.d.ts.map +1 -1
  248. package/esm/components/wizard/index.js +1 -0
  249. package/esm/components/wizard/index.js.map +1 -1
  250. package/esm/services/css-variable-theme.d.ts +4 -0
  251. package/esm/services/css-variable-theme.d.ts.map +1 -1
  252. package/esm/services/css-variable-theme.js +29 -6
  253. package/esm/services/css-variable-theme.js.map +1 -1
  254. package/esm/services/css-variable-theme.spec.js +93 -1
  255. package/esm/services/css-variable-theme.spec.js.map +1 -1
  256. package/esm/services/get-rgb-from-color-string.d.ts +10 -0
  257. package/esm/services/get-rgb-from-color-string.d.ts.map +1 -0
  258. package/esm/services/get-rgb-from-color-string.js +86 -0
  259. package/esm/services/get-rgb-from-color-string.js.map +1 -0
  260. package/esm/services/get-rgb-from-color-string.spec.d.ts +2 -0
  261. package/esm/services/get-rgb-from-color-string.spec.d.ts.map +1 -0
  262. package/esm/services/get-rgb-from-color-string.spec.js +107 -0
  263. package/esm/services/get-rgb-from-color-string.spec.js.map +1 -0
  264. package/esm/services/get-text-color.d.ts +10 -0
  265. package/esm/services/get-text-color.d.ts.map +1 -0
  266. package/esm/services/get-text-color.js +15 -0
  267. package/esm/services/get-text-color.js.map +1 -0
  268. package/esm/services/get-text-color.spec.d.ts +2 -0
  269. package/esm/services/get-text-color.spec.d.ts.map +1 -0
  270. package/esm/services/get-text-color.spec.js +21 -0
  271. package/esm/services/get-text-color.spec.js.map +1 -0
  272. package/esm/services/index.d.ts +7 -4
  273. package/esm/services/index.d.ts.map +1 -1
  274. package/esm/services/index.js +7 -4
  275. package/esm/services/index.js.map +1 -1
  276. package/esm/services/rgb-color.d.ts +13 -0
  277. package/esm/services/rgb-color.d.ts.map +1 -0
  278. package/esm/services/rgb-color.js +23 -0
  279. package/esm/services/rgb-color.js.map +1 -0
  280. package/esm/services/rgb-color.spec.d.ts +2 -0
  281. package/esm/services/rgb-color.spec.d.ts.map +1 -0
  282. package/esm/services/rgb-color.spec.js +69 -0
  283. package/esm/services/rgb-color.spec.js.map +1 -0
  284. package/esm/services/theme-provider-service.d.ts +9 -23
  285. package/esm/services/theme-provider-service.d.ts.map +1 -1
  286. package/esm/services/theme-provider-service.js +1 -63
  287. package/esm/services/theme-provider-service.js.map +1 -1
  288. package/esm/services/theme-provider-service.spec.js +12 -159
  289. package/esm/services/theme-provider-service.spec.js.map +1 -1
  290. package/esm/themes/architect-palette.d.ts +8 -0
  291. package/esm/themes/architect-palette.d.ts.map +1 -0
  292. package/esm/themes/architect-palette.js +56 -0
  293. package/esm/themes/architect-palette.js.map +1 -0
  294. package/esm/themes/architect-theme.d.ts +120 -0
  295. package/esm/themes/architect-theme.d.ts.map +1 -0
  296. package/esm/themes/architect-theme.js +122 -0
  297. package/esm/themes/architect-theme.js.map +1 -0
  298. package/esm/themes/auditore-palette.d.ts +8 -0
  299. package/esm/themes/auditore-palette.d.ts.map +1 -0
  300. package/esm/themes/auditore-palette.js +56 -0
  301. package/esm/themes/auditore-palette.js.map +1 -0
  302. package/esm/themes/auditore-theme.d.ts +120 -0
  303. package/esm/themes/auditore-theme.d.ts.map +1 -0
  304. package/esm/themes/auditore-theme.js +122 -0
  305. package/esm/themes/auditore-theme.js.map +1 -0
  306. package/esm/themes/black-mesa-palette.d.ts +8 -0
  307. package/esm/themes/black-mesa-palette.d.ts.map +1 -0
  308. package/esm/themes/black-mesa-palette.js +56 -0
  309. package/esm/themes/black-mesa-palette.js.map +1 -0
  310. package/esm/themes/black-mesa-theme.d.ts +120 -0
  311. package/esm/themes/black-mesa-theme.d.ts.map +1 -0
  312. package/esm/themes/black-mesa-theme.js +122 -0
  313. package/esm/themes/black-mesa-theme.js.map +1 -0
  314. package/esm/themes/chieftain-palette.d.ts +8 -0
  315. package/esm/themes/chieftain-palette.d.ts.map +1 -0
  316. package/esm/themes/chieftain-palette.js +56 -0
  317. package/esm/themes/chieftain-palette.js.map +1 -0
  318. package/esm/themes/chieftain-theme.d.ts +121 -0
  319. package/esm/themes/chieftain-theme.d.ts.map +1 -0
  320. package/esm/themes/chieftain-theme.js +123 -0
  321. package/esm/themes/chieftain-theme.js.map +1 -0
  322. package/esm/themes/default-dark-palette.d.ts +8 -0
  323. package/esm/themes/default-dark-palette.d.ts.map +1 -0
  324. package/esm/{services → themes}/default-dark-palette.js +1 -1
  325. package/esm/themes/default-dark-palette.js.map +1 -0
  326. package/esm/{services → themes}/default-dark-theme.d.ts +7 -1
  327. package/esm/themes/default-dark-theme.d.ts.map +1 -0
  328. package/esm/{services → themes}/default-dark-theme.js +6 -0
  329. package/esm/themes/default-dark-theme.js.map +1 -0
  330. package/esm/{services → themes}/default-light-theme.d.ts +7 -1
  331. package/esm/themes/default-light-theme.d.ts.map +1 -0
  332. package/esm/{services → themes}/default-light-theme.js +6 -0
  333. package/esm/themes/default-light-theme.js.map +1 -0
  334. package/esm/{services → themes}/default-palette.d.ts +1 -1
  335. package/esm/themes/default-palette.d.ts.map +1 -0
  336. package/esm/themes/default-palette.js.map +1 -0
  337. package/esm/themes/dragonborn-palette.d.ts +8 -0
  338. package/esm/themes/dragonborn-palette.d.ts.map +1 -0
  339. package/esm/themes/dragonborn-palette.js +56 -0
  340. package/esm/themes/dragonborn-palette.js.map +1 -0
  341. package/esm/themes/dragonborn-theme.d.ts +120 -0
  342. package/esm/themes/dragonborn-theme.d.ts.map +1 -0
  343. package/esm/themes/dragonborn-theme.js +122 -0
  344. package/esm/themes/dragonborn-theme.js.map +1 -0
  345. package/esm/themes/hawkins-palette.d.ts +8 -0
  346. package/esm/themes/hawkins-palette.d.ts.map +1 -0
  347. package/esm/themes/hawkins-palette.js +56 -0
  348. package/esm/themes/hawkins-palette.js.map +1 -0
  349. package/esm/themes/hawkins-theme.d.ts +120 -0
  350. package/esm/themes/hawkins-theme.d.ts.map +1 -0
  351. package/esm/themes/hawkins-theme.js +122 -0
  352. package/esm/themes/hawkins-theme.js.map +1 -0
  353. package/esm/themes/jedi-palette.d.ts +8 -0
  354. package/esm/themes/jedi-palette.d.ts.map +1 -0
  355. package/esm/themes/jedi-palette.js +56 -0
  356. package/esm/themes/jedi-palette.js.map +1 -0
  357. package/esm/themes/jedi-theme.d.ts +120 -0
  358. package/esm/themes/jedi-theme.d.ts.map +1 -0
  359. package/esm/themes/jedi-theme.js +122 -0
  360. package/esm/themes/jedi-theme.js.map +1 -0
  361. package/esm/themes/neon-runner-palette.d.ts +8 -0
  362. package/esm/themes/neon-runner-palette.d.ts.map +1 -0
  363. package/esm/themes/neon-runner-palette.js +56 -0
  364. package/esm/themes/neon-runner-palette.js.map +1 -0
  365. package/esm/themes/neon-runner-theme.d.ts +119 -0
  366. package/esm/themes/neon-runner-theme.d.ts.map +1 -0
  367. package/esm/themes/neon-runner-theme.js +120 -0
  368. package/esm/themes/neon-runner-theme.js.map +1 -0
  369. package/esm/themes/paladin-palette.d.ts +8 -0
  370. package/esm/themes/paladin-palette.d.ts.map +1 -0
  371. package/esm/themes/paladin-palette.js +56 -0
  372. package/esm/themes/paladin-palette.js.map +1 -0
  373. package/esm/themes/paladin-theme.d.ts +121 -0
  374. package/esm/themes/paladin-theme.d.ts.map +1 -0
  375. package/esm/themes/paladin-theme.js +123 -0
  376. package/esm/themes/paladin-theme.js.map +1 -0
  377. package/esm/themes/plumber-palette.d.ts +8 -0
  378. package/esm/themes/plumber-palette.d.ts.map +1 -0
  379. package/esm/themes/plumber-palette.js +56 -0
  380. package/esm/themes/plumber-palette.js.map +1 -0
  381. package/esm/themes/plumber-theme.d.ts +120 -0
  382. package/esm/themes/plumber-theme.d.ts.map +1 -0
  383. package/esm/themes/plumber-theme.js +121 -0
  384. package/esm/themes/plumber-theme.js.map +1 -0
  385. package/esm/themes/replicant-palette.d.ts +8 -0
  386. package/esm/themes/replicant-palette.d.ts.map +1 -0
  387. package/esm/themes/replicant-palette.js +56 -0
  388. package/esm/themes/replicant-palette.js.map +1 -0
  389. package/esm/themes/replicant-theme.d.ts +120 -0
  390. package/esm/themes/replicant-theme.d.ts.map +1 -0
  391. package/esm/themes/replicant-theme.js +122 -0
  392. package/esm/themes/replicant-theme.js.map +1 -0
  393. package/esm/themes/sandworm-palette.d.ts +8 -0
  394. package/esm/themes/sandworm-palette.d.ts.map +1 -0
  395. package/esm/themes/sandworm-palette.js +56 -0
  396. package/esm/themes/sandworm-palette.js.map +1 -0
  397. package/esm/themes/sandworm-theme.d.ts +120 -0
  398. package/esm/themes/sandworm-theme.d.ts.map +1 -0
  399. package/esm/themes/sandworm-theme.js +122 -0
  400. package/esm/themes/sandworm-theme.js.map +1 -0
  401. package/esm/themes/shadow-broker-palette.d.ts +8 -0
  402. package/esm/themes/shadow-broker-palette.d.ts.map +1 -0
  403. package/esm/themes/shadow-broker-palette.js +56 -0
  404. package/esm/{services/default-dark-palette.js.map → themes/shadow-broker-palette.js.map} +1 -1
  405. package/esm/themes/shadow-broker-theme.d.ts +120 -0
  406. package/esm/themes/shadow-broker-theme.d.ts.map +1 -0
  407. package/esm/themes/shadow-broker-theme.js +121 -0
  408. package/esm/themes/shadow-broker-theme.js.map +1 -0
  409. package/esm/themes/sith-palette.d.ts +8 -0
  410. package/esm/themes/sith-palette.d.ts.map +1 -0
  411. package/esm/themes/sith-palette.js +56 -0
  412. package/esm/themes/sith-palette.js.map +1 -0
  413. package/esm/themes/sith-theme.d.ts +120 -0
  414. package/esm/themes/sith-theme.d.ts.map +1 -0
  415. package/esm/themes/sith-theme.js +122 -0
  416. package/esm/themes/sith-theme.js.map +1 -0
  417. package/esm/themes/vault-dweller-palette.d.ts +8 -0
  418. package/esm/themes/vault-dweller-palette.d.ts.map +1 -0
  419. package/esm/themes/vault-dweller-palette.js +56 -0
  420. package/esm/themes/vault-dweller-palette.js.map +1 -0
  421. package/esm/themes/vault-dweller-theme.d.ts +120 -0
  422. package/esm/themes/vault-dweller-theme.d.ts.map +1 -0
  423. package/esm/themes/vault-dweller-theme.js +122 -0
  424. package/esm/themes/vault-dweller-theme.js.map +1 -0
  425. package/esm/themes/wild-hunt-palette.d.ts +8 -0
  426. package/esm/themes/wild-hunt-palette.d.ts.map +1 -0
  427. package/esm/themes/wild-hunt-palette.js +56 -0
  428. package/esm/themes/wild-hunt-palette.js.map +1 -0
  429. package/esm/themes/wild-hunt-theme.d.ts +120 -0
  430. package/esm/themes/wild-hunt-theme.d.ts.map +1 -0
  431. package/esm/themes/wild-hunt-theme.js +122 -0
  432. package/esm/themes/wild-hunt-theme.js.map +1 -0
  433. package/esm/themes/xenomorph-palette.d.ts +8 -0
  434. package/esm/themes/xenomorph-palette.d.ts.map +1 -0
  435. package/esm/themes/xenomorph-palette.js +56 -0
  436. package/esm/themes/xenomorph-palette.js.map +1 -0
  437. package/esm/themes/xenomorph-theme.d.ts +120 -0
  438. package/esm/themes/xenomorph-theme.d.ts.map +1 -0
  439. package/esm/themes/xenomorph-theme.js +121 -0
  440. package/esm/themes/xenomorph-theme.js.map +1 -0
  441. package/package.json +7 -3
  442. package/src/components/accordion/accordion-item.tsx +16 -23
  443. package/src/components/accordion/accordion.tsx +1 -0
  444. package/src/components/app-bar-link.tsx +1 -0
  445. package/src/components/app-bar.spec.tsx +3 -3
  446. package/src/components/app-bar.tsx +2 -0
  447. package/src/components/avatar.tsx +1 -0
  448. package/src/components/badge.tsx +2 -1
  449. package/src/components/breadcrumb.tsx +1 -0
  450. package/src/components/button-group.spec.tsx +7 -6
  451. package/src/components/button-group.tsx +72 -70
  452. package/src/components/button.tsx +1 -0
  453. package/src/components/cache-view.spec.tsx +4 -1
  454. package/src/components/cache-view.tsx +4 -0
  455. package/src/components/card.tsx +3 -1
  456. package/src/components/circular-progress.tsx +1 -0
  457. package/src/components/command-palette/command-palette-input.tsx +1 -0
  458. package/src/components/command-palette/command-palette-suggestion-list.tsx +3 -1
  459. package/src/components/command-palette/index.tsx +2 -0
  460. package/src/components/context-menu/context-menu-item.tsx +1 -0
  461. package/src/components/context-menu/context-menu.tsx +1 -0
  462. package/src/components/data-grid/body.tsx +2 -0
  463. package/src/components/data-grid/data-grid-row.tsx +1 -0
  464. package/src/components/data-grid/data-grid.tsx +1 -0
  465. package/src/components/data-grid/filters/boolean-filter.tsx +2 -0
  466. package/src/components/data-grid/filters/date-filter.tsx +2 -0
  467. package/src/components/data-grid/filters/enum-filter.tsx +2 -0
  468. package/src/components/data-grid/filters/filter-dropdown.tsx +1 -0
  469. package/src/components/data-grid/filters/number-filter.tsx +2 -0
  470. package/src/components/data-grid/filters/string-filter.tsx +2 -0
  471. package/src/components/data-grid/footer.tsx +1 -0
  472. package/src/components/data-grid/header.tsx +2 -0
  473. package/src/components/data-grid/selection-cell.tsx +1 -0
  474. package/src/components/dialog.tsx +15 -15
  475. package/src/components/divider.tsx +1 -0
  476. package/src/components/drawer/drawer-toggle-button.tsx +2 -1
  477. package/src/components/drawer/index.tsx +1 -0
  478. package/src/components/dropdown.tsx +1 -0
  479. package/src/components/fab.tsx +1 -0
  480. package/src/components/form.tsx +2 -0
  481. package/src/components/grid.tsx +3 -1
  482. package/src/components/icons/icon.tsx +2 -0
  483. package/src/components/image.tsx +1 -0
  484. package/src/components/inputs/autocomplete.tsx +2 -0
  485. package/src/components/inputs/checkbox.tsx +2 -1
  486. package/src/components/inputs/input-number.tsx +1 -0
  487. package/src/components/inputs/input.tsx +1 -0
  488. package/src/components/inputs/radio-group.tsx +1 -0
  489. package/src/components/inputs/radio.tsx +1 -0
  490. package/src/components/inputs/select.spec.tsx +3 -6
  491. package/src/components/inputs/select.tsx +13 -15
  492. package/src/components/inputs/slider.tsx +27 -36
  493. package/src/components/inputs/switch.tsx +2 -1
  494. package/src/components/inputs/text-area.tsx +1 -0
  495. package/src/components/linear-progress.tsx +1 -0
  496. package/src/components/list/list-item.tsx +1 -0
  497. package/src/components/list/list.tsx +2 -0
  498. package/src/components/loader.tsx +1 -0
  499. package/src/components/markdown/markdown-display.spec.tsx +2 -2
  500. package/src/components/markdown/markdown-display.tsx +1 -1
  501. package/src/components/markdown/markdown-editor.spec.tsx +1 -1
  502. package/src/components/markdown/markdown-editor.tsx +1 -0
  503. package/src/components/markdown/markdown-input.tsx +1 -0
  504. package/src/components/modal.tsx +2 -0
  505. package/src/components/noty-list.spec.tsx +1 -1
  506. package/src/components/noty-list.tsx +4 -2
  507. package/src/components/page-container/index.tsx +2 -1
  508. package/src/components/page-container/page-header.spec.tsx +6 -4
  509. package/src/components/page-container/page-header.tsx +23 -15
  510. package/src/components/page-layout/index.tsx +2 -0
  511. package/src/components/paper.tsx +6 -1
  512. package/src/components/rating.tsx +1 -0
  513. package/src/components/result.spec.tsx +3 -3
  514. package/src/components/result.tsx +9 -15
  515. package/src/components/suggest/index.tsx +2 -0
  516. package/src/components/suggest/suggest-input.tsx +1 -0
  517. package/src/components/suggest/suggestion-list.tsx +3 -1
  518. package/src/components/tabs.tsx +1 -0
  519. package/src/components/timeline.spec.tsx +0 -95
  520. package/src/components/timeline.tsx +63 -54
  521. package/src/components/tooltip.tsx +1 -0
  522. package/src/components/tree/tree-item.tsx +1 -0
  523. package/src/components/tree/tree.tsx +2 -0
  524. package/src/components/typography.spec.tsx +16 -16
  525. package/src/components/typography.tsx +121 -110
  526. package/src/components/wizard/index.tsx +1 -0
  527. package/src/services/css-variable-theme.spec.ts +108 -0
  528. package/src/services/css-variable-theme.ts +30 -7
  529. package/src/services/get-rgb-from-color-string.spec.ts +122 -0
  530. package/src/services/get-rgb-from-color-string.ts +96 -0
  531. package/src/services/get-text-color.spec.ts +25 -0
  532. package/src/services/get-text-color.ts +15 -0
  533. package/src/services/index.ts +7 -4
  534. package/src/services/rgb-color.spec.ts +79 -0
  535. package/src/services/rgb-color.ts +20 -0
  536. package/src/services/theme-provider-service.spec.ts +12 -185
  537. package/src/services/theme-provider-service.ts +8 -72
  538. package/src/themes/architect-palette.ts +57 -0
  539. package/src/themes/architect-theme.ts +124 -0
  540. package/src/themes/auditore-palette.ts +57 -0
  541. package/src/themes/auditore-theme.ts +124 -0
  542. package/src/themes/black-mesa-palette.ts +57 -0
  543. package/src/themes/black-mesa-theme.ts +124 -0
  544. package/src/themes/chieftain-palette.ts +57 -0
  545. package/src/themes/chieftain-theme.ts +125 -0
  546. package/src/{services → themes}/default-dark-palette.ts +2 -2
  547. package/src/{services → themes}/default-dark-theme.ts +7 -1
  548. package/src/{services → themes}/default-light-theme.ts +7 -1
  549. package/src/{services → themes}/default-palette.ts +1 -1
  550. package/src/themes/dragonborn-palette.ts +57 -0
  551. package/src/themes/dragonborn-theme.ts +124 -0
  552. package/src/themes/hawkins-palette.ts +57 -0
  553. package/src/themes/hawkins-theme.ts +124 -0
  554. package/src/themes/jedi-palette.ts +57 -0
  555. package/src/themes/jedi-theme.ts +124 -0
  556. package/src/themes/neon-runner-palette.ts +57 -0
  557. package/src/themes/neon-runner-theme.ts +121 -0
  558. package/src/themes/paladin-palette.ts +57 -0
  559. package/src/themes/paladin-theme.ts +125 -0
  560. package/src/themes/plumber-palette.ts +57 -0
  561. package/src/themes/plumber-theme.ts +122 -0
  562. package/src/themes/replicant-palette.ts +57 -0
  563. package/src/themes/replicant-theme.ts +124 -0
  564. package/src/themes/sandworm-palette.ts +57 -0
  565. package/src/themes/sandworm-theme.ts +124 -0
  566. package/src/themes/shadow-broker-palette.ts +57 -0
  567. package/src/themes/shadow-broker-theme.ts +122 -0
  568. package/src/themes/sith-palette.ts +57 -0
  569. package/src/themes/sith-theme.ts +124 -0
  570. package/src/themes/vault-dweller-palette.ts +57 -0
  571. package/src/themes/vault-dweller-theme.ts +124 -0
  572. package/src/themes/wild-hunt-palette.ts +57 -0
  573. package/src/themes/wild-hunt-theme.ts +124 -0
  574. package/src/themes/xenomorph-palette.ts +57 -0
  575. package/src/themes/xenomorph-theme.ts +122 -0
  576. package/esm/services/default-dark-palette.d.ts +0 -8
  577. package/esm/services/default-dark-palette.d.ts.map +0 -1
  578. package/esm/services/default-dark-theme.d.ts.map +0 -1
  579. package/esm/services/default-dark-theme.js.map +0 -1
  580. package/esm/services/default-light-theme.d.ts.map +0 -1
  581. package/esm/services/default-light-theme.js.map +0 -1
  582. package/esm/services/default-palette.d.ts.map +0 -1
  583. package/esm/services/default-palette.js.map +0 -1
  584. /package/esm/{services → themes}/default-palette.js +0 -0
@@ -0,0 +1,121 @@
1
+ import { neonRunnerPalette } from './neon-runner-palette.js'
2
+ import type { Theme } from '../services/theme-provider-service.js'
3
+
4
+ /**
5
+ * Cyberpunk-inspired theme with dark backgrounds, neon accents,
6
+ * monospace typography, and a hi-tech polished aesthetic.
7
+ *
8
+ * @remarks Recommended Google Font: Share Tech Mono
9
+ */
10
+ export const neonRunnerTheme = {
11
+ name: 'neon-runner-theme',
12
+ text: {
13
+ primary: '#e0f0ff',
14
+ secondary: 'rgba(224, 240, 255, 0.65)',
15
+ disabled: 'rgba(224, 240, 255, 0.35)',
16
+ },
17
+ button: {
18
+ active: '#e0f0ff',
19
+ hover: 'rgba(0, 240, 255, 0.1)',
20
+ selected: 'rgba(0, 240, 255, 0.18)',
21
+ disabled: 'rgba(224, 240, 255, 0.3)',
22
+ disabledBackground: 'rgba(224, 240, 255, 0.06)',
23
+ },
24
+ background: {
25
+ default: '#0a0e17',
26
+ paper: '#111827',
27
+ paperImage: '',
28
+ },
29
+ palette: neonRunnerPalette,
30
+ divider: 'rgba(0, 240, 255, 0.15)',
31
+ action: {
32
+ hoverBackground: 'rgba(0, 240, 255, 0.08)',
33
+ selectedBackground: 'rgba(0, 240, 255, 0.14)',
34
+ activeBackground: 'rgba(0, 240, 255, 0.22)',
35
+ focusRing: '0 0 0 2px rgba(0, 240, 255, 0.5)',
36
+ disabledOpacity: '0.4',
37
+ backdrop: 'rgba(4, 6, 14, 0.85)',
38
+ subtleBorder: 'rgba(0, 240, 255, 0.2)',
39
+ },
40
+ shape: {
41
+ borderRadius: {
42
+ xs: '2px',
43
+ sm: '3px',
44
+ md: '4px',
45
+ lg: '6px',
46
+ full: '50%',
47
+ },
48
+ borderWidth: '1px',
49
+ },
50
+ shadows: {
51
+ none: 'none',
52
+ sm: '0 1px 4px rgba(0, 0, 0, 0.4), 0 0 6px rgba(0, 240, 255, 0.08)',
53
+ md: '0 4px 12px rgba(0, 0, 0, 0.5), 0 0 12px rgba(0, 240, 255, 0.12)',
54
+ lg: '0 8px 24px rgba(0, 0, 0, 0.6), 0 0 20px rgba(0, 240, 255, 0.15)',
55
+ xl: '0 12px 36px rgba(0, 0, 0, 0.7), 0 0 30px rgba(0, 240, 255, 0.18)',
56
+ },
57
+ typography: {
58
+ fontFamily: "'Share Tech Mono', 'Fira Code', 'JetBrains Mono', 'Courier New', monospace",
59
+ fontSize: {
60
+ xs: '11px',
61
+ sm: '12px',
62
+ md: '14px',
63
+ lg: '16px',
64
+ xl: '22px',
65
+ xxl: '28px',
66
+ xxxl: '34px',
67
+ xxxxl: '44px',
68
+ },
69
+ fontWeight: {
70
+ normal: '400',
71
+ medium: '500',
72
+ semibold: '600',
73
+ bold: '700',
74
+ },
75
+ lineHeight: {
76
+ tight: '1.3',
77
+ normal: '1.55',
78
+ relaxed: '1.75',
79
+ },
80
+ letterSpacing: {
81
+ tight: '-0.25px',
82
+ dense: '0px',
83
+ normal: '0.5px',
84
+ wide: '1px',
85
+ wider: '1.5px',
86
+ widest: '2.5px',
87
+ },
88
+ },
89
+ transitions: {
90
+ duration: {
91
+ fast: '0.1s',
92
+ normal: '0.2s',
93
+ slow: '0.35s',
94
+ },
95
+ easing: {
96
+ default: 'cubic-bezier(0.4, 0, 0.2, 1)',
97
+ easeOut: 'cubic-bezier(0.16, 1.0, 0.3, 1.0)',
98
+ easeInOut: 'cubic-bezier(0.65, 0, 0.35, 1)',
99
+ },
100
+ },
101
+ spacing: {
102
+ xs: '4px',
103
+ sm: '8px',
104
+ md: '16px',
105
+ lg: '24px',
106
+ xl: '32px',
107
+ },
108
+ zIndex: {
109
+ drawer: '1000',
110
+ appBar: '1100',
111
+ modal: '1200',
112
+ tooltip: '1300',
113
+ dropdown: '1400',
114
+ },
115
+ effects: {
116
+ blurSm: '4px',
117
+ blurMd: '8px',
118
+ blurLg: '16px',
119
+ blurXl: '24px',
120
+ },
121
+ } satisfies Theme
@@ -0,0 +1,57 @@
1
+ import type { Palette } from '../services/theme-provider-service.js'
2
+
3
+ /**
4
+ * Color palette inspired by the Warcraft 1 Human faction UI.
5
+ * Gold as the primary brand color, Alliance royal blue as secondary,
6
+ * with warm medieval tones for semantic colors.
7
+ */
8
+ export const paladinPalette: Palette = {
9
+ primary: {
10
+ light: '#dcc06e',
11
+ lightContrast: '#000000',
12
+ main: '#c8a84e',
13
+ mainContrast: '#000000',
14
+ dark: '#9a7e30',
15
+ darkContrast: '#ffffff',
16
+ },
17
+ secondary: {
18
+ light: '#4a7dc4',
19
+ lightContrast: '#ffffff',
20
+ main: '#2a5daa',
21
+ mainContrast: '#ffffff',
22
+ dark: '#1a3d7a',
23
+ darkContrast: '#ffffff',
24
+ },
25
+ error: {
26
+ light: '#d45050',
27
+ lightContrast: '#000000',
28
+ main: '#c03030',
29
+ mainContrast: '#ffffff',
30
+ dark: '#8a2020',
31
+ darkContrast: '#ffffff',
32
+ },
33
+ warning: {
34
+ light: '#e4a64a',
35
+ lightContrast: '#000000',
36
+ main: '#d4862a',
37
+ mainContrast: '#000000',
38
+ dark: '#a46420',
39
+ darkContrast: '#ffffff',
40
+ },
41
+ success: {
42
+ light: '#6aac5c',
43
+ lightContrast: '#000000',
44
+ main: '#4a8c3c',
45
+ mainContrast: '#000000',
46
+ dark: '#346a2a',
47
+ darkContrast: '#ffffff',
48
+ },
49
+ info: {
50
+ light: '#7aaad4',
51
+ lightContrast: '#000000',
52
+ main: '#5a8ab4',
53
+ mainContrast: '#000000',
54
+ dark: '#3a6a94',
55
+ darkContrast: '#ffffff',
56
+ },
57
+ }
@@ -0,0 +1,125 @@
1
+ import { paladinPalette } from './paladin-palette.js'
2
+ import type { Theme } from '../services/theme-provider-service.js'
3
+
4
+ const paperImageValue = `url("data:image/svg+xml;base64,${btoa(`<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><filter id="t" x="0" y="0" width="100%" height="100%"><feTurbulence type="fractalNoise" baseFrequency="0.04" numOctaves="5" stitchTiles="stitch" result="n"/><feDiffuseLighting in="n" lighting-color="#667" surfaceScale="3"><feDistantLight azimuth="45" elevation="55"/></feDiffuseLighting></filter><rect width="200" height="200" filter="url(#t)" opacity="0.18"/></svg>`)}")`
5
+
6
+ /**
7
+ * Theme inspired by the Warcraft 1 Human faction UI.
8
+ * Cold dark stone backgrounds, white text, gold primary accents,
9
+ * angular shapes, and serif typography for a medieval fantasy feel.
10
+ *
11
+ * @remarks Recommended Google Font: Silkscreen
12
+ */
13
+ export const paladinTheme = {
14
+ name: 'paladin-theme',
15
+ text: {
16
+ primary: '#ffffff',
17
+ secondary: 'rgba(255, 255, 255, 0.7)',
18
+ disabled: 'rgba(255, 255, 255, 0.4)',
19
+ },
20
+ button: {
21
+ active: '#ffffff',
22
+ hover: 'rgba(255, 255, 255, 0.08)',
23
+ selected: 'rgba(255, 255, 255, 0.16)',
24
+ disabled: 'rgba(255, 255, 255, 0.3)',
25
+ disabledBackground: 'rgba(255, 255, 255, 0.08)',
26
+ },
27
+ background: {
28
+ default: '#1c2126',
29
+ paper: '#282e34',
30
+ paperImage: paperImageValue,
31
+ },
32
+ palette: paladinPalette,
33
+ divider: 'rgba(80, 88, 96, 0.3)',
34
+ action: {
35
+ hoverBackground: 'rgba(255, 255, 255, 0.06)',
36
+ selectedBackground: 'rgba(200, 168, 78, 0.15)',
37
+ activeBackground: 'rgba(200, 168, 78, 0.22)',
38
+ focusRing: '0 0 0 3px rgba(200, 168, 78, 0.3)',
39
+ disabledOpacity: '0.5',
40
+ backdrop: 'rgba(14, 18, 22, 0.8)',
41
+ subtleBorder: 'rgba(180, 192, 205, 0.28)',
42
+ },
43
+ shape: {
44
+ borderRadius: {
45
+ xs: '0px',
46
+ sm: '0px',
47
+ md: '0px',
48
+ lg: '0px',
49
+ full: '50%',
50
+ },
51
+ borderWidth: '4px',
52
+ },
53
+ shadows: {
54
+ none: 'none',
55
+ sm: '0 1px 3px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.18)',
56
+ md: '0 4px 12px rgba(0, 0, 0, 0.3), 0 2px 4px rgba(0, 0, 0, 0.22)',
57
+ lg: '0 8px 24px rgba(0, 0, 0, 0.4), 0 4px 8px rgba(0, 0, 0, 0.25)',
58
+ xl: '0 12px 32px rgba(0, 0, 0, 0.5), 0 6px 12px rgba(0, 0, 0, 0.3)',
59
+ },
60
+ typography: {
61
+ fontFamily: 'Silkscreen, "Courier New", monospace',
62
+ fontSize: {
63
+ xs: '11px',
64
+ sm: '13px',
65
+ md: '14px',
66
+ lg: '16px',
67
+ xl: '24px',
68
+ xxl: '30px',
69
+ xxxl: '36px',
70
+ xxxxl: '48px',
71
+ },
72
+ fontWeight: {
73
+ normal: '400',
74
+ medium: '400',
75
+ semibold: '700',
76
+ bold: '700',
77
+ },
78
+ lineHeight: {
79
+ tight: '1.3',
80
+ normal: '1.5',
81
+ relaxed: '1.75',
82
+ },
83
+ letterSpacing: {
84
+ tight: '0px',
85
+ dense: '0px',
86
+ normal: '0.5px',
87
+ wide: '1px',
88
+ wider: '1.5px',
89
+ widest: '2px',
90
+ },
91
+ textShadow: '2px 2px 0px rgba(0, 0, 0, 0.8)',
92
+ },
93
+ transitions: {
94
+ duration: {
95
+ fast: '0.15s',
96
+ normal: '0.2s',
97
+ slow: '0.3s',
98
+ },
99
+ easing: {
100
+ default: 'cubic-bezier(0.4, 0, 0.2, 1)',
101
+ easeOut: 'cubic-bezier(0.23, 1.0, 0.32, 1.0)',
102
+ easeInOut: 'ease-in-out',
103
+ },
104
+ },
105
+ spacing: {
106
+ xs: '4px',
107
+ sm: '8px',
108
+ md: '16px',
109
+ lg: '24px',
110
+ xl: '32px',
111
+ },
112
+ zIndex: {
113
+ drawer: '1000',
114
+ appBar: '1100',
115
+ modal: '1200',
116
+ tooltip: '1300',
117
+ dropdown: '1400',
118
+ },
119
+ effects: {
120
+ blurSm: '2px',
121
+ blurMd: '4px',
122
+ blurLg: '8px',
123
+ blurXl: '12px',
124
+ },
125
+ } satisfies Theme
@@ -0,0 +1,57 @@
1
+ import type { Palette } from '../services/theme-provider-service.js'
2
+
3
+ /**
4
+ * Color palette inspired by the Super Mario universe.
5
+ * Nintendo red primary, Mario blue secondary,
6
+ * with bright, cheerful tones for semantic colors.
7
+ */
8
+ export const plumberPalette: Palette = {
9
+ primary: {
10
+ light: '#ff4040',
11
+ lightContrast: '#ffffff',
12
+ main: '#e60012',
13
+ mainContrast: '#ffffff',
14
+ dark: '#b0000e',
15
+ darkContrast: '#ffffff',
16
+ },
17
+ secondary: {
18
+ light: '#5090e0',
19
+ lightContrast: '#ffffff',
20
+ main: '#2060c0',
21
+ mainContrast: '#ffffff',
22
+ dark: '#104090',
23
+ darkContrast: '#ffffff',
24
+ },
25
+ error: {
26
+ light: '#ff5252',
27
+ lightContrast: '#ffffff',
28
+ main: '#d32f2f',
29
+ mainContrast: '#ffffff',
30
+ dark: '#a02020',
31
+ darkContrast: '#ffffff',
32
+ },
33
+ warning: {
34
+ light: '#ffca28',
35
+ lightContrast: '#000000',
36
+ main: '#f9a825',
37
+ mainContrast: '#000000',
38
+ dark: '#c48800',
39
+ darkContrast: '#000000',
40
+ },
41
+ success: {
42
+ light: '#60d060',
43
+ lightContrast: '#000000',
44
+ main: '#2e9e2e',
45
+ mainContrast: '#ffffff',
46
+ dark: '#1b7a1b',
47
+ darkContrast: '#ffffff',
48
+ },
49
+ info: {
50
+ light: '#64b5f6',
51
+ lightContrast: '#000000',
52
+ main: '#2196f3',
53
+ mainContrast: '#ffffff',
54
+ dark: '#1565c0',
55
+ darkContrast: '#ffffff',
56
+ },
57
+ }
@@ -0,0 +1,122 @@
1
+ import { plumberPalette } from './plumber-palette.js'
2
+ import type { Theme } from '../services/theme-provider-service.js'
3
+
4
+ /**
5
+ * Theme inspired by the Super Mario / Nintendo universe.
6
+ * Bright white backgrounds, Nintendo red primary, Mario blue secondary,
7
+ * rounded playful shapes, and friendly sans-serif typography.
8
+ *
9
+ * @remarks Recommended Google Font: Nunito
10
+ */
11
+ export const plumberTheme = {
12
+ name: 'plumber-theme',
13
+ text: {
14
+ primary: '#1a1a2e',
15
+ secondary: 'rgba(26, 26, 46, 0.65)',
16
+ disabled: 'rgba(26, 26, 46, 0.38)',
17
+ },
18
+ button: {
19
+ active: '#1a1a2e',
20
+ hover: 'rgba(230, 0, 18, 0.08)',
21
+ selected: 'rgba(230, 0, 18, 0.14)',
22
+ disabled: 'rgba(26, 26, 46, 0.3)',
23
+ disabledBackground: 'rgba(26, 26, 46, 0.08)',
24
+ },
25
+ background: {
26
+ default: '#f8f8ff',
27
+ paper: '#ffffff',
28
+ paperImage: '',
29
+ },
30
+ palette: plumberPalette,
31
+ divider: 'rgba(26, 26, 46, 0.12)',
32
+ action: {
33
+ hoverBackground: 'rgba(230, 0, 18, 0.06)',
34
+ selectedBackground: 'rgba(230, 0, 18, 0.1)',
35
+ activeBackground: 'rgba(230, 0, 18, 0.16)',
36
+ focusRing: '0 0 0 3px rgba(230, 0, 18, 0.25)',
37
+ disabledOpacity: '0.45',
38
+ backdrop: 'rgba(26, 26, 46, 0.5)',
39
+ subtleBorder: 'rgba(26, 26, 46, 0.15)',
40
+ },
41
+ shape: {
42
+ borderRadius: {
43
+ xs: '6px',
44
+ sm: '8px',
45
+ md: '12px',
46
+ lg: '16px',
47
+ full: '50%',
48
+ },
49
+ borderWidth: '2px',
50
+ },
51
+ shadows: {
52
+ none: 'none',
53
+ sm: '0 1px 3px rgba(26, 26, 46, 0.1), 0 1px 2px rgba(26, 26, 46, 0.06)',
54
+ md: '0 4px 12px rgba(26, 26, 46, 0.12), 0 2px 4px rgba(26, 26, 46, 0.08)',
55
+ lg: '0 8px 24px rgba(26, 26, 46, 0.14), 0 4px 8px rgba(26, 26, 46, 0.1)',
56
+ xl: '0 12px 32px rgba(26, 26, 46, 0.16), 0 6px 12px rgba(26, 26, 46, 0.12)',
57
+ },
58
+ typography: {
59
+ fontFamily: "Nunito, 'Segoe UI', Tahoma, sans-serif",
60
+ fontSize: {
61
+ xs: '11px',
62
+ sm: '13px',
63
+ md: '15px',
64
+ lg: '17px',
65
+ xl: '24px',
66
+ xxl: '30px',
67
+ xxxl: '36px',
68
+ xxxxl: '48px',
69
+ },
70
+ fontWeight: {
71
+ normal: '400',
72
+ medium: '600',
73
+ semibold: '700',
74
+ bold: '800',
75
+ },
76
+ lineHeight: {
77
+ tight: '1.3',
78
+ normal: '1.5',
79
+ relaxed: '1.75',
80
+ },
81
+ letterSpacing: {
82
+ tight: '-0.25px',
83
+ dense: '0px',
84
+ normal: '0.15px',
85
+ wide: '0.5px',
86
+ wider: '1px',
87
+ widest: '1.5px',
88
+ },
89
+ },
90
+ transitions: {
91
+ duration: {
92
+ fast: '0.12s',
93
+ normal: '0.2s',
94
+ slow: '0.3s',
95
+ },
96
+ easing: {
97
+ default: 'cubic-bezier(0.4, 0, 0.2, 1)',
98
+ easeOut: 'cubic-bezier(0.34, 1.56, 0.64, 1)',
99
+ easeInOut: 'cubic-bezier(0.65, 0, 0.35, 1)',
100
+ },
101
+ },
102
+ spacing: {
103
+ xs: '4px',
104
+ sm: '8px',
105
+ md: '16px',
106
+ lg: '24px',
107
+ xl: '32px',
108
+ },
109
+ zIndex: {
110
+ drawer: '1000',
111
+ appBar: '1100',
112
+ modal: '1200',
113
+ tooltip: '1300',
114
+ dropdown: '1400',
115
+ },
116
+ effects: {
117
+ blurSm: '4px',
118
+ blurMd: '8px',
119
+ blurLg: '12px',
120
+ blurXl: '16px',
121
+ },
122
+ } satisfies Theme
@@ -0,0 +1,57 @@
1
+ import type { Palette } from '../services/theme-provider-service.js'
2
+
3
+ /**
4
+ * Color palette inspired by Blade Runner's noir aesthetic.
5
+ * Warm amber primary, cold teal secondary,
6
+ * with moody, rain-washed tones for semantic colors.
7
+ */
8
+ export const replicantPalette: Palette = {
9
+ primary: {
10
+ light: '#ffc050',
11
+ lightContrast: '#000000',
12
+ main: '#ff9e00',
13
+ mainContrast: '#000000',
14
+ dark: '#c47800',
15
+ darkContrast: '#000000',
16
+ },
17
+ secondary: {
18
+ light: '#50b0b8',
19
+ lightContrast: '#000000',
20
+ main: '#2a8a94',
21
+ mainContrast: '#ffffff',
22
+ dark: '#1a6870',
23
+ darkContrast: '#ffffff',
24
+ },
25
+ error: {
26
+ light: '#d45858',
27
+ lightContrast: '#000000',
28
+ main: '#b83030',
29
+ mainContrast: '#ffffff',
30
+ dark: '#882020',
31
+ darkContrast: '#ffffff',
32
+ },
33
+ warning: {
34
+ light: '#e0a840',
35
+ lightContrast: '#000000',
36
+ main: '#c48c20',
37
+ mainContrast: '#000000',
38
+ dark: '#946818',
39
+ darkContrast: '#ffffff',
40
+ },
41
+ success: {
42
+ light: '#50a878',
43
+ lightContrast: '#000000',
44
+ main: '#308858',
45
+ mainContrast: '#ffffff',
46
+ dark: '#206840',
47
+ darkContrast: '#ffffff',
48
+ },
49
+ info: {
50
+ light: '#60a0c0',
51
+ lightContrast: '#000000',
52
+ main: '#4080a0',
53
+ mainContrast: '#ffffff',
54
+ dark: '#286080',
55
+ darkContrast: '#ffffff',
56
+ },
57
+ }
@@ -0,0 +1,124 @@
1
+ import { replicantPalette } from './replicant-palette.js'
2
+ import type { Theme } from '../services/theme-provider-service.js'
3
+
4
+ const paperImageValue = `url("data:image/svg+xml;base64,${btoa(`<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><filter id="r" x="0" y="0" width="100%" height="100%"><feTurbulence type="fractalNoise" baseFrequency="0.15 0.01" numOctaves="3" stitchTiles="stitch" result="n"/><feDiffuseLighting in="n" lighting-color="#405060" surfaceScale="1.5"><feDistantLight azimuth="90" elevation="70"/></feDiffuseLighting></filter><rect width="200" height="200" filter="url(#r)" opacity="0.08"/></svg>`)}")`
5
+
6
+ /**
7
+ * Theme inspired by Blade Runner's rain-soaked noir aesthetic.
8
+ * Dark blue-grey backgrounds, warm amber primary, cold teal secondary,
9
+ * geometric futuristic typography with heavy atmospheric blur.
10
+ *
11
+ * @remarks Recommended Google Font: Orbitron
12
+ */
13
+ export const replicantTheme = {
14
+ name: 'replicant-theme',
15
+ text: {
16
+ primary: '#d8dce4',
17
+ secondary: 'rgba(216, 220, 228, 0.6)',
18
+ disabled: 'rgba(216, 220, 228, 0.35)',
19
+ },
20
+ button: {
21
+ active: '#d8dce4',
22
+ hover: 'rgba(255, 158, 0, 0.1)',
23
+ selected: 'rgba(255, 158, 0, 0.16)',
24
+ disabled: 'rgba(216, 220, 228, 0.3)',
25
+ disabledBackground: 'rgba(216, 220, 228, 0.06)',
26
+ },
27
+ background: {
28
+ default: '#0e1218',
29
+ paper: '#181e28',
30
+ paperImage: paperImageValue,
31
+ },
32
+ palette: replicantPalette,
33
+ divider: 'rgba(42, 138, 148, 0.18)',
34
+ action: {
35
+ hoverBackground: 'rgba(255, 158, 0, 0.07)',
36
+ selectedBackground: 'rgba(255, 158, 0, 0.13)',
37
+ activeBackground: 'rgba(255, 158, 0, 0.2)',
38
+ focusRing: '0 0 0 2px rgba(255, 158, 0, 0.4)',
39
+ disabledOpacity: '0.4',
40
+ backdrop: 'rgba(6, 8, 12, 0.85)',
41
+ subtleBorder: 'rgba(42, 138, 148, 0.2)',
42
+ },
43
+ shape: {
44
+ borderRadius: {
45
+ xs: '2px',
46
+ sm: '3px',
47
+ md: '4px',
48
+ lg: '6px',
49
+ full: '50%',
50
+ },
51
+ borderWidth: '1px',
52
+ },
53
+ shadows: {
54
+ none: 'none',
55
+ sm: '0 1px 4px rgba(0, 0, 0, 0.4), 0 0 8px rgba(255, 158, 0, 0.05)',
56
+ md: '0 4px 12px rgba(0, 0, 0, 0.5), 0 0 16px rgba(255, 158, 0, 0.08)',
57
+ lg: '0 8px 24px rgba(0, 0, 0, 0.6), 0 0 24px rgba(255, 158, 0, 0.1)',
58
+ xl: '0 12px 36px rgba(0, 0, 0, 0.7), 0 0 36px rgba(255, 158, 0, 0.12)',
59
+ },
60
+ typography: {
61
+ fontFamily: "Orbitron, 'Segoe UI', sans-serif",
62
+ fontSize: {
63
+ xs: '10px',
64
+ sm: '11px',
65
+ md: '13px',
66
+ lg: '15px',
67
+ xl: '20px',
68
+ xxl: '26px',
69
+ xxxl: '32px',
70
+ xxxxl: '42px',
71
+ },
72
+ fontWeight: {
73
+ normal: '400',
74
+ medium: '500',
75
+ semibold: '600',
76
+ bold: '700',
77
+ },
78
+ lineHeight: {
79
+ tight: '1.3',
80
+ normal: '1.55',
81
+ relaxed: '1.75',
82
+ },
83
+ letterSpacing: {
84
+ tight: '0px',
85
+ dense: '0.5px',
86
+ normal: '1px',
87
+ wide: '1.5px',
88
+ wider: '2px',
89
+ widest: '3px',
90
+ },
91
+ },
92
+ transitions: {
93
+ duration: {
94
+ fast: '0.15s',
95
+ normal: '0.25s',
96
+ slow: '0.4s',
97
+ },
98
+ easing: {
99
+ default: 'cubic-bezier(0.4, 0, 0.2, 1)',
100
+ easeOut: 'cubic-bezier(0.16, 1.0, 0.3, 1.0)',
101
+ easeInOut: 'cubic-bezier(0.65, 0, 0.35, 1)',
102
+ },
103
+ },
104
+ spacing: {
105
+ xs: '4px',
106
+ sm: '8px',
107
+ md: '16px',
108
+ lg: '24px',
109
+ xl: '32px',
110
+ },
111
+ zIndex: {
112
+ drawer: '1000',
113
+ appBar: '1100',
114
+ modal: '1200',
115
+ tooltip: '1300',
116
+ dropdown: '1400',
117
+ },
118
+ effects: {
119
+ blurSm: '6px',
120
+ blurMd: '12px',
121
+ blurLg: '20px',
122
+ blurXl: '30px',
123
+ },
124
+ } satisfies Theme