@furystack/shades-common-components 11.0.0 → 12.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (768) hide show
  1. package/CHANGELOG.md +443 -0
  2. package/esm/components/accordion/accordion-item.d.ts +31 -0
  3. package/esm/components/accordion/accordion-item.d.ts.map +1 -0
  4. package/esm/components/accordion/accordion-item.js +147 -0
  5. package/esm/components/accordion/accordion-item.js.map +1 -0
  6. package/esm/components/accordion/accordion.d.ts +27 -0
  7. package/esm/components/accordion/accordion.d.ts.map +1 -0
  8. package/esm/components/accordion/accordion.js +39 -0
  9. package/esm/components/accordion/accordion.js.map +1 -0
  10. package/esm/components/accordion/accordion.spec.d.ts +2 -0
  11. package/esm/components/accordion/accordion.spec.d.ts.map +1 -0
  12. package/esm/components/accordion/accordion.spec.js +284 -0
  13. package/esm/components/accordion/accordion.spec.js.map +1 -0
  14. package/esm/components/accordion/index.d.ts +3 -0
  15. package/esm/components/accordion/index.d.ts.map +1 -0
  16. package/esm/components/accordion/index.js +3 -0
  17. package/esm/components/accordion/index.js.map +1 -0
  18. package/esm/components/alert.d.ts +21 -0
  19. package/esm/components/alert.d.ts.map +1 -0
  20. package/esm/components/alert.js +131 -0
  21. package/esm/components/alert.js.map +1 -0
  22. package/esm/components/alert.spec.d.ts +2 -0
  23. package/esm/components/alert.spec.d.ts.map +1 -0
  24. package/esm/components/alert.spec.js +177 -0
  25. package/esm/components/alert.spec.js.map +1 -0
  26. package/esm/components/app-bar-link.d.ts +22 -2
  27. package/esm/components/app-bar-link.d.ts.map +1 -1
  28. package/esm/components/app-bar-link.js +20 -7
  29. package/esm/components/app-bar-link.js.map +1 -1
  30. package/esm/components/app-bar-link.spec.js +22 -19
  31. package/esm/components/app-bar-link.spec.js.map +1 -1
  32. package/esm/components/app-bar.d.ts +2 -0
  33. package/esm/components/app-bar.d.ts.map +1 -1
  34. package/esm/components/app-bar.js +16 -11
  35. package/esm/components/app-bar.js.map +1 -1
  36. package/esm/components/app-bar.spec.js +67 -52
  37. package/esm/components/app-bar.spec.js.map +1 -1
  38. package/esm/components/avatar.d.ts +2 -0
  39. package/esm/components/avatar.d.ts.map +1 -1
  40. package/esm/components/avatar.js +40 -37
  41. package/esm/components/avatar.js.map +1 -1
  42. package/esm/components/badge.d.ts +35 -0
  43. package/esm/components/badge.d.ts.map +1 -0
  44. package/esm/components/badge.js +68 -0
  45. package/esm/components/badge.js.map +1 -0
  46. package/esm/components/badge.spec.d.ts +2 -0
  47. package/esm/components/badge.spec.d.ts.map +1 -0
  48. package/esm/components/badge.spec.js +157 -0
  49. package/esm/components/badge.spec.js.map +1 -0
  50. package/esm/components/breadcrumb.d.ts +103 -0
  51. package/esm/components/breadcrumb.d.ts.map +1 -0
  52. package/esm/components/breadcrumb.js +121 -0
  53. package/esm/components/breadcrumb.js.map +1 -0
  54. package/esm/components/breadcrumb.spec.d.ts +2 -0
  55. package/esm/components/breadcrumb.spec.d.ts.map +1 -0
  56. package/esm/components/breadcrumb.spec.js +251 -0
  57. package/esm/components/breadcrumb.spec.js.map +1 -0
  58. package/esm/components/button-group.d.ts +85 -0
  59. package/esm/components/button-group.d.ts.map +1 -0
  60. package/esm/components/button-group.js +290 -0
  61. package/esm/components/button-group.js.map +1 -0
  62. package/esm/components/button-group.spec.d.ts +2 -0
  63. package/esm/components/button-group.spec.d.ts.map +1 -0
  64. package/esm/components/button-group.spec.js +502 -0
  65. package/esm/components/button-group.spec.js.map +1 -0
  66. package/esm/components/button.d.ts +44 -2
  67. package/esm/components/button.d.ts.map +1 -1
  68. package/esm/components/button.js +82 -73
  69. package/esm/components/button.js.map +1 -1
  70. package/esm/components/button.spec.js +205 -50
  71. package/esm/components/button.spec.js.map +1 -1
  72. package/esm/components/card.d.ts +117 -0
  73. package/esm/components/card.d.ts.map +1 -0
  74. package/esm/components/card.js +181 -0
  75. package/esm/components/card.js.map +1 -0
  76. package/esm/components/card.spec.d.ts +2 -0
  77. package/esm/components/card.spec.d.ts.map +1 -0
  78. package/esm/components/card.spec.js +278 -0
  79. package/esm/components/card.spec.js.map +1 -0
  80. package/esm/components/carousel.d.ts +50 -0
  81. package/esm/components/carousel.d.ts.map +1 -0
  82. package/esm/components/carousel.js +263 -0
  83. package/esm/components/carousel.js.map +1 -0
  84. package/esm/components/carousel.spec.d.ts +2 -0
  85. package/esm/components/carousel.spec.d.ts.map +1 -0
  86. package/esm/components/carousel.spec.js +677 -0
  87. package/esm/components/carousel.spec.js.map +1 -0
  88. package/esm/components/chip.d.ts +23 -0
  89. package/esm/components/chip.d.ts.map +1 -0
  90. package/esm/components/chip.js +139 -0
  91. package/esm/components/chip.js.map +1 -0
  92. package/esm/components/chip.spec.d.ts +2 -0
  93. package/esm/components/chip.spec.d.ts.map +1 -0
  94. package/esm/components/chip.spec.js +142 -0
  95. package/esm/components/chip.spec.js.map +1 -0
  96. package/esm/components/circular-progress.d.ts +37 -0
  97. package/esm/components/circular-progress.d.ts.map +1 -0
  98. package/esm/components/circular-progress.js +84 -0
  99. package/esm/components/circular-progress.js.map +1 -0
  100. package/esm/components/circular-progress.spec.d.ts +2 -0
  101. package/esm/components/circular-progress.spec.d.ts.map +1 -0
  102. package/esm/components/circular-progress.spec.js +228 -0
  103. package/esm/components/circular-progress.spec.js.map +1 -0
  104. package/esm/components/command-palette/command-palette-input.d.ts +3 -0
  105. package/esm/components/command-palette/command-palette-input.d.ts.map +1 -1
  106. package/esm/components/command-palette/command-palette-input.js +17 -9
  107. package/esm/components/command-palette/command-palette-input.js.map +1 -1
  108. package/esm/components/command-palette/command-palette-input.spec.js +172 -161
  109. package/esm/components/command-palette/command-palette-input.spec.js.map +1 -1
  110. package/esm/components/command-palette/command-palette-manager.spec.js +130 -114
  111. package/esm/components/command-palette/command-palette-manager.spec.js.map +1 -1
  112. package/esm/components/command-palette/command-palette-suggestion-list.d.ts +2 -0
  113. package/esm/components/command-palette/command-palette-suggestion-list.d.ts.map +1 -1
  114. package/esm/components/command-palette/command-palette-suggestion-list.js +20 -20
  115. package/esm/components/command-palette/command-palette-suggestion-list.js.map +1 -1
  116. package/esm/components/command-palette/command-palette-suggestion-list.spec.js +296 -278
  117. package/esm/components/command-palette/command-palette-suggestion-list.spec.js.map +1 -1
  118. package/esm/components/command-palette/index.d.ts +2 -0
  119. package/esm/components/command-palette/index.d.ts.map +1 -1
  120. package/esm/components/command-palette/index.js +25 -94
  121. package/esm/components/command-palette/index.js.map +1 -1
  122. package/esm/components/command-palette/index.spec.js +12 -12
  123. package/esm/components/command-palette/index.spec.js.map +1 -1
  124. package/esm/components/context-menu/context-menu-item.d.ts +9 -0
  125. package/esm/components/context-menu/context-menu-item.d.ts.map +1 -0
  126. package/esm/components/context-menu/context-menu-item.js +56 -0
  127. package/esm/components/context-menu/context-menu-item.js.map +1 -0
  128. package/esm/components/context-menu/context-menu-manager.d.ts +52 -0
  129. package/esm/components/context-menu/context-menu-manager.d.ts.map +1 -0
  130. package/esm/components/context-menu/context-menu-manager.js +128 -0
  131. package/esm/components/context-menu/context-menu-manager.js.map +1 -0
  132. package/esm/components/context-menu/context-menu-manager.spec.d.ts +2 -0
  133. package/esm/components/context-menu/context-menu-manager.spec.d.ts.map +1 -0
  134. package/esm/components/context-menu/context-menu-manager.spec.js +326 -0
  135. package/esm/components/context-menu/context-menu-manager.spec.js.map +1 -0
  136. package/esm/components/context-menu/context-menu.d.ts +8 -0
  137. package/esm/components/context-menu/context-menu.d.ts.map +1 -0
  138. package/esm/components/context-menu/context-menu.js +79 -0
  139. package/esm/components/context-menu/context-menu.js.map +1 -0
  140. package/esm/components/context-menu/context-menu.spec.d.ts +2 -0
  141. package/esm/components/context-menu/context-menu.spec.d.ts.map +1 -0
  142. package/esm/components/context-menu/context-menu.spec.js +282 -0
  143. package/esm/components/context-menu/context-menu.spec.js.map +1 -0
  144. package/esm/components/context-menu/index.d.ts +4 -0
  145. package/esm/components/context-menu/index.d.ts.map +1 -0
  146. package/esm/components/context-menu/index.js +4 -0
  147. package/esm/components/context-menu/index.js.map +1 -0
  148. package/esm/components/data-grid/body.spec.js +194 -184
  149. package/esm/components/data-grid/body.spec.js.map +1 -1
  150. package/esm/components/data-grid/data-grid-row.d.ts.map +1 -1
  151. package/esm/components/data-grid/data-grid-row.js +66 -54
  152. package/esm/components/data-grid/data-grid-row.js.map +1 -1
  153. package/esm/components/data-grid/data-grid-row.spec.js +127 -95
  154. package/esm/components/data-grid/data-grid-row.spec.js.map +1 -1
  155. package/esm/components/data-grid/data-grid.d.ts.map +1 -1
  156. package/esm/components/data-grid/data-grid.js +17 -16
  157. package/esm/components/data-grid/data-grid.js.map +1 -1
  158. package/esm/components/data-grid/data-grid.spec.js +364 -430
  159. package/esm/components/data-grid/data-grid.spec.js.map +1 -1
  160. package/esm/components/data-grid/footer.spec.js +215 -203
  161. package/esm/components/data-grid/footer.spec.js.map +1 -1
  162. package/esm/components/data-grid/header.d.ts +3 -1
  163. package/esm/components/data-grid/header.d.ts.map +1 -1
  164. package/esm/components/data-grid/header.js +42 -30
  165. package/esm/components/data-grid/header.js.map +1 -1
  166. package/esm/components/data-grid/header.spec.js +330 -307
  167. package/esm/components/data-grid/header.spec.js.map +1 -1
  168. package/esm/components/data-grid/selection-cell.d.ts +2 -0
  169. package/esm/components/data-grid/selection-cell.d.ts.map +1 -1
  170. package/esm/components/data-grid/selection-cell.js +2 -7
  171. package/esm/components/data-grid/selection-cell.js.map +1 -1
  172. package/esm/components/data-grid/selection-cell.spec.js +45 -36
  173. package/esm/components/data-grid/selection-cell.spec.js.map +1 -1
  174. package/esm/components/dialog.d.ts +46 -0
  175. package/esm/components/dialog.d.ts.map +1 -0
  176. package/esm/components/dialog.js +178 -0
  177. package/esm/components/dialog.js.map +1 -0
  178. package/esm/components/dialog.spec.d.ts +2 -0
  179. package/esm/components/dialog.spec.d.ts.map +1 -0
  180. package/esm/components/dialog.spec.js +113 -0
  181. package/esm/components/dialog.spec.js.map +1 -0
  182. package/esm/components/divider.d.ts +22 -0
  183. package/esm/components/divider.d.ts.map +1 -0
  184. package/esm/components/divider.js +113 -0
  185. package/esm/components/divider.js.map +1 -0
  186. package/esm/components/divider.spec.d.ts +2 -0
  187. package/esm/components/divider.spec.d.ts.map +1 -0
  188. package/esm/components/divider.spec.js +136 -0
  189. package/esm/components/divider.spec.js.map +1 -0
  190. package/esm/components/drawer/drawer-toggle-button.d.ts +36 -0
  191. package/esm/components/drawer/drawer-toggle-button.d.ts.map +1 -0
  192. package/esm/components/drawer/drawer-toggle-button.js +94 -0
  193. package/esm/components/drawer/drawer-toggle-button.js.map +1 -0
  194. package/esm/components/drawer/drawer-toggle-button.spec.d.ts +2 -0
  195. package/esm/components/drawer/drawer-toggle-button.spec.d.ts.map +1 -0
  196. package/esm/components/drawer/drawer-toggle-button.spec.js +306 -0
  197. package/esm/components/drawer/drawer-toggle-button.spec.js.map +1 -0
  198. package/esm/components/drawer/index.d.ts +56 -0
  199. package/esm/components/drawer/index.d.ts.map +1 -0
  200. package/esm/components/drawer/index.js +172 -0
  201. package/esm/components/drawer/index.js.map +1 -0
  202. package/esm/components/drawer/index.spec.d.ts +2 -0
  203. package/esm/components/drawer/index.spec.d.ts.map +1 -0
  204. package/esm/components/drawer/index.spec.js +538 -0
  205. package/esm/components/drawer/index.spec.js.map +1 -0
  206. package/esm/components/dropdown.d.ts +15 -0
  207. package/esm/components/dropdown.d.ts.map +1 -0
  208. package/esm/components/dropdown.js +262 -0
  209. package/esm/components/dropdown.js.map +1 -0
  210. package/esm/components/dropdown.spec.d.ts +2 -0
  211. package/esm/components/dropdown.spec.d.ts.map +1 -0
  212. package/esm/components/dropdown.spec.js +372 -0
  213. package/esm/components/dropdown.spec.js.map +1 -0
  214. package/esm/components/fab.d.ts +10 -1
  215. package/esm/components/fab.d.ts.map +1 -1
  216. package/esm/components/fab.js +24 -8
  217. package/esm/components/fab.js.map +1 -1
  218. package/esm/components/fab.spec.js +50 -39
  219. package/esm/components/fab.spec.js.map +1 -1
  220. package/esm/components/form.d.ts.map +1 -1
  221. package/esm/components/form.js +9 -7
  222. package/esm/components/form.js.map +1 -1
  223. package/esm/components/form.spec.js +209 -199
  224. package/esm/components/form.spec.js.map +1 -1
  225. package/esm/components/grid.js +10 -10
  226. package/esm/components/grid.js.map +1 -1
  227. package/esm/components/grid.spec.js +109 -85
  228. package/esm/components/grid.spec.js.map +1 -1
  229. package/esm/components/icons/icon-definitions.d.ts +140 -0
  230. package/esm/components/icons/icon-definitions.d.ts.map +1 -0
  231. package/esm/components/icons/icon-definitions.js +432 -0
  232. package/esm/components/icons/icon-definitions.js.map +1 -0
  233. package/esm/components/icons/icon-definitions.spec.d.ts +2 -0
  234. package/esm/components/icons/icon-definitions.spec.d.ts.map +1 -0
  235. package/esm/components/icons/icon-definitions.spec.js +59 -0
  236. package/esm/components/icons/icon-definitions.spec.js.map +1 -0
  237. package/esm/components/icons/icon-types.d.ts +48 -0
  238. package/esm/components/icons/icon-types.d.ts.map +1 -0
  239. package/esm/components/icons/icon-types.js +2 -0
  240. package/esm/components/icons/icon-types.js.map +1 -0
  241. package/esm/components/icons/icon.d.ts +56 -0
  242. package/esm/components/icons/icon.d.ts.map +1 -0
  243. package/esm/components/icons/icon.js +61 -0
  244. package/esm/components/icons/icon.js.map +1 -0
  245. package/esm/components/icons/icon.spec.d.ts +2 -0
  246. package/esm/components/icons/icon.spec.d.ts.map +1 -0
  247. package/esm/components/icons/icon.spec.js +224 -0
  248. package/esm/components/icons/icon.spec.js.map +1 -0
  249. package/esm/components/icons/index.d.ts +5 -0
  250. package/esm/components/icons/index.d.ts.map +1 -0
  251. package/esm/components/icons/index.js +3 -0
  252. package/esm/components/icons/index.js.map +1 -0
  253. package/esm/components/image.d.ts +62 -0
  254. package/esm/components/image.d.ts.map +1 -0
  255. package/esm/components/image.js +348 -0
  256. package/esm/components/image.js.map +1 -0
  257. package/esm/components/image.spec.d.ts +2 -0
  258. package/esm/components/image.spec.d.ts.map +1 -0
  259. package/esm/components/image.spec.js +542 -0
  260. package/esm/components/image.spec.js.map +1 -0
  261. package/esm/components/index.d.ts +32 -4
  262. package/esm/components/index.d.ts.map +1 -1
  263. package/esm/components/index.js +32 -4
  264. package/esm/components/index.js.map +1 -1
  265. package/esm/components/inputs/autocomplete.d.ts +2 -0
  266. package/esm/components/inputs/autocomplete.d.ts.map +1 -1
  267. package/esm/components/inputs/autocomplete.js +10 -6
  268. package/esm/components/inputs/autocomplete.js.map +1 -1
  269. package/esm/components/inputs/autocomplete.spec.js +10 -1
  270. package/esm/components/inputs/autocomplete.spec.js.map +1 -1
  271. package/esm/components/inputs/checkbox.d.ts +50 -0
  272. package/esm/components/inputs/checkbox.d.ts.map +1 -0
  273. package/esm/components/inputs/checkbox.js +126 -0
  274. package/esm/components/inputs/checkbox.js.map +1 -0
  275. package/esm/components/inputs/checkbox.spec.d.ts +2 -0
  276. package/esm/components/inputs/checkbox.spec.d.ts.map +1 -0
  277. package/esm/components/inputs/checkbox.spec.js +287 -0
  278. package/esm/components/inputs/checkbox.spec.js.map +1 -0
  279. package/esm/components/inputs/index.d.ts +7 -0
  280. package/esm/components/inputs/index.d.ts.map +1 -1
  281. package/esm/components/inputs/index.js +7 -0
  282. package/esm/components/inputs/index.js.map +1 -1
  283. package/esm/components/inputs/input-number.d.ts +79 -0
  284. package/esm/components/inputs/input-number.d.ts.map +1 -0
  285. package/esm/components/inputs/input-number.js +232 -0
  286. package/esm/components/inputs/input-number.js.map +1 -0
  287. package/esm/components/inputs/input-number.spec.d.ts +2 -0
  288. package/esm/components/inputs/input-number.spec.d.ts.map +1 -0
  289. package/esm/components/inputs/input-number.spec.js +516 -0
  290. package/esm/components/inputs/input-number.spec.js.map +1 -0
  291. package/esm/components/inputs/input.d.ts +2 -1
  292. package/esm/components/inputs/input.d.ts.map +1 -1
  293. package/esm/components/inputs/input.js +86 -116
  294. package/esm/components/inputs/input.js.map +1 -1
  295. package/esm/components/inputs/input.spec.js +461 -427
  296. package/esm/components/inputs/input.spec.js.map +1 -1
  297. package/esm/components/inputs/radio-group.d.ts +38 -0
  298. package/esm/components/inputs/radio-group.d.ts.map +1 -0
  299. package/esm/components/inputs/radio-group.js +58 -0
  300. package/esm/components/inputs/radio-group.js.map +1 -0
  301. package/esm/components/inputs/radio-group.spec.d.ts +2 -0
  302. package/esm/components/inputs/radio-group.spec.d.ts.map +1 -0
  303. package/esm/components/inputs/radio-group.spec.js +201 -0
  304. package/esm/components/inputs/radio-group.spec.js.map +1 -0
  305. package/esm/components/inputs/radio.d.ts +42 -0
  306. package/esm/components/inputs/radio.d.ts.map +1 -0
  307. package/esm/components/inputs/radio.js +134 -0
  308. package/esm/components/inputs/radio.js.map +1 -0
  309. package/esm/components/inputs/radio.spec.d.ts +2 -0
  310. package/esm/components/inputs/radio.spec.d.ts.map +1 -0
  311. package/esm/components/inputs/radio.spec.js +211 -0
  312. package/esm/components/inputs/radio.spec.js.map +1 -0
  313. package/esm/components/inputs/select.d.ts +67 -0
  314. package/esm/components/inputs/select.d.ts.map +1 -0
  315. package/esm/components/inputs/select.js +581 -0
  316. package/esm/components/inputs/select.js.map +1 -0
  317. package/esm/components/inputs/select.spec.d.ts +2 -0
  318. package/esm/components/inputs/select.spec.d.ts.map +1 -0
  319. package/esm/components/inputs/select.spec.js +1009 -0
  320. package/esm/components/inputs/select.spec.js.map +1 -0
  321. package/esm/components/inputs/slider.d.ts +66 -0
  322. package/esm/components/inputs/slider.d.ts.map +1 -0
  323. package/esm/components/inputs/slider.js +526 -0
  324. package/esm/components/inputs/slider.js.map +1 -0
  325. package/esm/components/inputs/slider.spec.d.ts +2 -0
  326. package/esm/components/inputs/slider.spec.d.ts.map +1 -0
  327. package/esm/components/inputs/slider.spec.js +812 -0
  328. package/esm/components/inputs/slider.spec.js.map +1 -0
  329. package/esm/components/inputs/switch.d.ts +50 -0
  330. package/esm/components/inputs/switch.d.ts.map +1 -0
  331. package/esm/components/inputs/switch.js +138 -0
  332. package/esm/components/inputs/switch.js.map +1 -0
  333. package/esm/components/inputs/switch.spec.d.ts +2 -0
  334. package/esm/components/inputs/switch.spec.d.ts.map +1 -0
  335. package/esm/components/inputs/switch.spec.js +313 -0
  336. package/esm/components/inputs/switch.spec.js.map +1 -0
  337. package/esm/components/inputs/text-area.d.ts +2 -0
  338. package/esm/components/inputs/text-area.d.ts.map +1 -1
  339. package/esm/components/inputs/text-area.js +13 -21
  340. package/esm/components/inputs/text-area.js.map +1 -1
  341. package/esm/components/inputs/text-area.spec.js +171 -156
  342. package/esm/components/inputs/text-area.spec.js.map +1 -1
  343. package/esm/components/linear-progress.d.ts +32 -0
  344. package/esm/components/linear-progress.d.ts.map +1 -0
  345. package/esm/components/linear-progress.js +79 -0
  346. package/esm/components/linear-progress.js.map +1 -0
  347. package/esm/components/linear-progress.spec.d.ts +2 -0
  348. package/esm/components/linear-progress.spec.d.ts.map +1 -0
  349. package/esm/components/linear-progress.spec.js +251 -0
  350. package/esm/components/linear-progress.spec.js.map +1 -0
  351. package/esm/components/list/index.d.ts +3 -0
  352. package/esm/components/list/index.d.ts.map +1 -0
  353. package/esm/components/list/index.js +3 -0
  354. package/esm/components/list/index.js.map +1 -0
  355. package/esm/components/list/list-item.d.ts +13 -0
  356. package/esm/components/list/list-item.d.ts.map +1 -0
  357. package/esm/components/list/list-item.js +81 -0
  358. package/esm/components/list/list-item.js.map +1 -0
  359. package/esm/components/list/list.d.ts +18 -0
  360. package/esm/components/list/list.d.ts.map +1 -0
  361. package/esm/components/list/list.js +42 -0
  362. package/esm/components/list/list.js.map +1 -0
  363. package/esm/components/list/list.spec.d.ts +2 -0
  364. package/esm/components/list/list.spec.d.ts.map +1 -0
  365. package/esm/components/list/list.spec.js +540 -0
  366. package/esm/components/list/list.spec.js.map +1 -0
  367. package/esm/components/loader.d.ts +2 -0
  368. package/esm/components/loader.d.ts.map +1 -1
  369. package/esm/components/loader.js +18 -10
  370. package/esm/components/loader.js.map +1 -1
  371. package/esm/components/loader.spec.js +191 -175
  372. package/esm/components/loader.spec.js.map +1 -1
  373. package/esm/components/menu/index.d.ts +3 -0
  374. package/esm/components/menu/index.d.ts.map +1 -0
  375. package/esm/components/menu/index.js +3 -0
  376. package/esm/components/menu/index.js.map +1 -0
  377. package/esm/components/menu/menu-types.d.ts +27 -0
  378. package/esm/components/menu/menu-types.d.ts.map +1 -0
  379. package/esm/components/menu/menu-types.js +22 -0
  380. package/esm/components/menu/menu-types.js.map +1 -0
  381. package/esm/components/menu/menu-types.spec.d.ts +2 -0
  382. package/esm/components/menu/menu-types.spec.d.ts.map +1 -0
  383. package/esm/components/menu/menu-types.spec.js +103 -0
  384. package/esm/components/menu/menu-types.spec.js.map +1 -0
  385. package/esm/components/menu/menu.d.ts +17 -0
  386. package/esm/components/menu/menu.d.ts.map +1 -0
  387. package/esm/components/menu/menu.js +240 -0
  388. package/esm/components/menu/menu.js.map +1 -0
  389. package/esm/components/menu/menu.spec.d.ts +2 -0
  390. package/esm/components/menu/menu.spec.d.ts.map +1 -0
  391. package/esm/components/menu/menu.spec.js +427 -0
  392. package/esm/components/menu/menu.spec.js.map +1 -0
  393. package/esm/components/modal.d.ts +3 -2
  394. package/esm/components/modal.d.ts.map +1 -1
  395. package/esm/components/modal.js +8 -5
  396. package/esm/components/modal.js.map +1 -1
  397. package/esm/components/modal.spec.js +50 -43
  398. package/esm/components/modal.spec.js.map +1 -1
  399. package/esm/components/noty-list.d.ts +4 -0
  400. package/esm/components/noty-list.d.ts.map +1 -1
  401. package/esm/components/noty-list.js +65 -53
  402. package/esm/components/noty-list.js.map +1 -1
  403. package/esm/components/noty-list.spec.js +71 -68
  404. package/esm/components/noty-list.spec.js.map +1 -1
  405. package/esm/components/page-container/index.d.ts +54 -0
  406. package/esm/components/page-container/index.d.ts.map +1 -0
  407. package/esm/components/page-container/index.js +63 -0
  408. package/esm/components/page-container/index.js.map +1 -0
  409. package/esm/components/page-container/index.spec.d.ts +2 -0
  410. package/esm/components/page-container/index.spec.d.ts.map +1 -0
  411. package/esm/components/page-container/index.spec.js +217 -0
  412. package/esm/components/page-container/index.spec.js.map +1 -0
  413. package/esm/components/page-container/page-header.d.ts +57 -0
  414. package/esm/components/page-container/page-header.d.ts.map +1 -0
  415. package/esm/components/page-container/page-header.js +93 -0
  416. package/esm/components/page-container/page-header.js.map +1 -0
  417. package/esm/components/page-container/page-header.spec.d.ts +2 -0
  418. package/esm/components/page-container/page-header.spec.d.ts.map +1 -0
  419. package/esm/components/page-container/page-header.spec.js +230 -0
  420. package/esm/components/page-container/page-header.spec.js.map +1 -0
  421. package/esm/components/page-layout/index.d.ts +83 -0
  422. package/esm/components/page-layout/index.d.ts.map +1 -0
  423. package/esm/components/page-layout/index.js +288 -0
  424. package/esm/components/page-layout/index.js.map +1 -0
  425. package/esm/components/page-layout/index.spec.d.ts +2 -0
  426. package/esm/components/page-layout/index.spec.d.ts.map +1 -0
  427. package/esm/components/page-layout/index.spec.js +637 -0
  428. package/esm/components/page-layout/index.spec.js.map +1 -0
  429. package/esm/components/pagination.d.ts +43 -0
  430. package/esm/components/pagination.d.ts.map +1 -0
  431. package/esm/components/pagination.js +165 -0
  432. package/esm/components/pagination.js.map +1 -0
  433. package/esm/components/pagination.spec.d.ts +2 -0
  434. package/esm/components/pagination.spec.d.ts.map +1 -0
  435. package/esm/components/pagination.spec.js +195 -0
  436. package/esm/components/pagination.spec.js.map +1 -0
  437. package/esm/components/paper.d.ts +3 -1
  438. package/esm/components/paper.d.ts.map +1 -1
  439. package/esm/components/paper.js +11 -9
  440. package/esm/components/paper.js.map +1 -1
  441. package/esm/components/paper.spec.js +26 -18
  442. package/esm/components/paper.spec.js.map +1 -1
  443. package/esm/components/rating.d.ts +62 -0
  444. package/esm/components/rating.d.ts.map +1 -0
  445. package/esm/components/rating.js +201 -0
  446. package/esm/components/rating.js.map +1 -0
  447. package/esm/components/rating.spec.d.ts +2 -0
  448. package/esm/components/rating.spec.d.ts.map +1 -0
  449. package/esm/components/rating.spec.js +663 -0
  450. package/esm/components/rating.spec.js.map +1 -0
  451. package/esm/components/result.d.ts +37 -0
  452. package/esm/components/result.d.ts.map +1 -0
  453. package/esm/components/result.js +109 -0
  454. package/esm/components/result.js.map +1 -0
  455. package/esm/components/result.spec.d.ts +2 -0
  456. package/esm/components/result.spec.d.ts.map +1 -0
  457. package/esm/components/result.spec.js +159 -0
  458. package/esm/components/result.spec.js.map +1 -0
  459. package/esm/components/searchable-input-styles.d.ts +8 -0
  460. package/esm/components/searchable-input-styles.d.ts.map +1 -0
  461. package/esm/components/searchable-input-styles.js +71 -0
  462. package/esm/components/searchable-input-styles.js.map +1 -0
  463. package/esm/components/skeleton.d.ts +2 -0
  464. package/esm/components/skeleton.d.ts.map +1 -1
  465. package/esm/components/skeleton.js +19 -6
  466. package/esm/components/skeleton.js.map +1 -1
  467. package/esm/components/skeleton.spec.js +103 -95
  468. package/esm/components/skeleton.spec.js.map +1 -1
  469. package/esm/components/styles.d.ts.map +1 -1
  470. package/esm/components/styles.js +14 -13
  471. package/esm/components/styles.js.map +1 -1
  472. package/esm/components/styles.spec.js +27 -26
  473. package/esm/components/styles.spec.js.map +1 -1
  474. package/esm/components/suggest/index.d.ts.map +1 -1
  475. package/esm/components/suggest/index.js +24 -85
  476. package/esm/components/suggest/index.js.map +1 -1
  477. package/esm/components/suggest/index.spec.js +402 -378
  478. package/esm/components/suggest/index.spec.js.map +1 -1
  479. package/esm/components/suggest/suggest-input.d.ts +2 -0
  480. package/esm/components/suggest/suggest-input.d.ts.map +1 -1
  481. package/esm/components/suggest/suggest-input.js +10 -8
  482. package/esm/components/suggest/suggest-input.js.map +1 -1
  483. package/esm/components/suggest/suggest-input.spec.js +83 -71
  484. package/esm/components/suggest/suggest-input.spec.js.map +1 -1
  485. package/esm/components/suggest/suggest-manager.spec.js +102 -92
  486. package/esm/components/suggest/suggest-manager.spec.js.map +1 -1
  487. package/esm/components/suggest/suggestion-list.d.ts.map +1 -1
  488. package/esm/components/suggest/suggestion-list.js +21 -22
  489. package/esm/components/suggest/suggestion-list.js.map +1 -1
  490. package/esm/components/suggest/suggestion-list.spec.js +165 -146
  491. package/esm/components/suggest/suggestion-list.spec.js.map +1 -1
  492. package/esm/components/tabs.d.ts +18 -2
  493. package/esm/components/tabs.d.ts.map +1 -1
  494. package/esm/components/tabs.js +154 -14
  495. package/esm/components/tabs.js.map +1 -1
  496. package/esm/components/tabs.spec.js +295 -7
  497. package/esm/components/tabs.spec.js.map +1 -1
  498. package/esm/components/timeline.d.ts +53 -0
  499. package/esm/components/timeline.d.ts.map +1 -0
  500. package/esm/components/timeline.js +162 -0
  501. package/esm/components/timeline.js.map +1 -0
  502. package/esm/components/timeline.spec.d.ts +2 -0
  503. package/esm/components/timeline.spec.d.ts.map +1 -0
  504. package/esm/components/timeline.spec.js +209 -0
  505. package/esm/components/timeline.spec.js.map +1 -0
  506. package/esm/components/tooltip.d.ts +25 -0
  507. package/esm/components/tooltip.d.ts.map +1 -0
  508. package/esm/components/tooltip.js +113 -0
  509. package/esm/components/tooltip.js.map +1 -0
  510. package/esm/components/tooltip.spec.d.ts +2 -0
  511. package/esm/components/tooltip.spec.d.ts.map +1 -0
  512. package/esm/components/tooltip.spec.js +152 -0
  513. package/esm/components/tooltip.spec.js.map +1 -0
  514. package/esm/components/tree/index.d.ts +3 -0
  515. package/esm/components/tree/index.d.ts.map +1 -0
  516. package/esm/components/tree/index.js +3 -0
  517. package/esm/components/tree/index.js.map +1 -0
  518. package/esm/components/tree/tree-item.d.ts +14 -0
  519. package/esm/components/tree/tree-item.d.ts.map +1 -0
  520. package/esm/components/tree/tree-item.js +118 -0
  521. package/esm/components/tree/tree-item.js.map +1 -0
  522. package/esm/components/tree/tree.d.ts +20 -0
  523. package/esm/components/tree/tree.d.ts.map +1 -0
  524. package/esm/components/tree/tree.js +66 -0
  525. package/esm/components/tree/tree.js.map +1 -0
  526. package/esm/components/tree/tree.spec.d.ts +2 -0
  527. package/esm/components/tree/tree.spec.d.ts.map +1 -0
  528. package/esm/components/tree/tree.spec.js +427 -0
  529. package/esm/components/tree/tree.spec.js.map +1 -0
  530. package/esm/components/typography.d.ts +48 -0
  531. package/esm/components/typography.d.ts.map +1 -0
  532. package/esm/components/typography.js +223 -0
  533. package/esm/components/typography.js.map +1 -0
  534. package/esm/components/typography.spec.d.ts +2 -0
  535. package/esm/components/typography.spec.d.ts.map +1 -0
  536. package/esm/components/typography.spec.js +199 -0
  537. package/esm/components/typography.spec.js.map +1 -0
  538. package/esm/components/wizard/index.d.ts +2 -0
  539. package/esm/components/wizard/index.d.ts.map +1 -1
  540. package/esm/components/wizard/index.spec.js +70 -56
  541. package/esm/components/wizard/index.spec.js.map +1 -1
  542. package/esm/services/click-away-service.d.ts +5 -2
  543. package/esm/services/click-away-service.d.ts.map +1 -1
  544. package/esm/services/click-away-service.js +7 -1
  545. package/esm/services/click-away-service.js.map +1 -1
  546. package/esm/services/click-away-service.spec.js +14 -12
  547. package/esm/services/click-away-service.spec.js.map +1 -1
  548. package/esm/services/css-variable-theme.d.ts +167 -1
  549. package/esm/services/css-variable-theme.d.ts.map +1 -1
  550. package/esm/services/css-variable-theme.js +102 -0
  551. package/esm/services/css-variable-theme.js.map +1 -1
  552. package/esm/services/css-variable-theme.spec.js +131 -1
  553. package/esm/services/css-variable-theme.spec.js.map +1 -1
  554. package/esm/services/default-dark-theme.d.ts +107 -2
  555. package/esm/services/default-dark-theme.d.ts.map +1 -1
  556. package/esm/services/default-dark-theme.js +87 -1
  557. package/esm/services/default-dark-theme.js.map +1 -1
  558. package/esm/services/default-light-theme.d.ts +107 -2
  559. package/esm/services/default-light-theme.d.ts.map +1 -1
  560. package/esm/services/default-light-theme.js +86 -0
  561. package/esm/services/default-light-theme.js.map +1 -1
  562. package/esm/services/index.d.ts +6 -2
  563. package/esm/services/index.d.ts.map +1 -1
  564. package/esm/services/index.js +6 -2
  565. package/esm/services/index.js.map +1 -1
  566. package/esm/services/layout-service.d.ts +217 -0
  567. package/esm/services/layout-service.d.ts.map +1 -0
  568. package/esm/services/layout-service.js +331 -0
  569. package/esm/services/layout-service.js.map +1 -0
  570. package/esm/services/layout-service.spec.d.ts +2 -0
  571. package/esm/services/layout-service.spec.d.ts.map +1 -0
  572. package/esm/services/layout-service.spec.js +425 -0
  573. package/esm/services/layout-service.spec.js.map +1 -0
  574. package/esm/services/list-service.d.ts +31 -0
  575. package/esm/services/list-service.d.ts.map +1 -0
  576. package/esm/services/list-service.js +149 -0
  577. package/esm/services/list-service.js.map +1 -0
  578. package/esm/services/list-service.spec.d.ts +2 -0
  579. package/esm/services/list-service.spec.d.ts.map +1 -0
  580. package/esm/services/list-service.spec.js +283 -0
  581. package/esm/services/list-service.spec.js.map +1 -0
  582. package/esm/services/palette-css-vars.d.ts +12 -0
  583. package/esm/services/palette-css-vars.d.ts.map +1 -0
  584. package/esm/services/palette-css-vars.js +44 -0
  585. package/esm/services/palette-css-vars.js.map +1 -0
  586. package/esm/services/theme-provider-service.d.ts +387 -2
  587. package/esm/services/theme-provider-service.d.ts.map +1 -1
  588. package/esm/services/theme-provider-service.js.map +1 -1
  589. package/esm/services/tree-service.d.ts +61 -0
  590. package/esm/services/tree-service.d.ts.map +1 -0
  591. package/esm/services/tree-service.js +149 -0
  592. package/esm/services/tree-service.js.map +1 -0
  593. package/esm/services/tree-service.spec.d.ts +2 -0
  594. package/esm/services/tree-service.spec.d.ts.map +1 -0
  595. package/esm/services/tree-service.spec.js +338 -0
  596. package/esm/services/tree-service.spec.js.map +1 -0
  597. package/esm/utils/promisify-animation.d.ts.map +1 -1
  598. package/esm/utils/promisify-animation.js +6 -1
  599. package/esm/utils/promisify-animation.js.map +1 -1
  600. package/package.json +7 -8
  601. package/src/components/accordion/accordion-item.tsx +197 -0
  602. package/src/components/accordion/accordion.spec.tsx +418 -0
  603. package/src/components/accordion/accordion.tsx +50 -0
  604. package/src/components/accordion/index.ts +2 -0
  605. package/src/components/alert.spec.tsx +256 -0
  606. package/src/components/alert.tsx +186 -0
  607. package/src/components/app-bar-link.spec.tsx +22 -19
  608. package/src/components/app-bar-link.tsx +29 -10
  609. package/src/components/app-bar.spec.tsx +73 -58
  610. package/src/components/app-bar.tsx +19 -12
  611. package/src/components/avatar.tsx +46 -47
  612. package/src/components/badge.spec.tsx +228 -0
  613. package/src/components/badge.tsx +104 -0
  614. package/src/components/breadcrumb.spec.tsx +396 -0
  615. package/src/components/breadcrumb.tsx +188 -0
  616. package/src/components/button-group.spec.tsx +611 -0
  617. package/src/components/button-group.tsx +423 -0
  618. package/src/components/button.spec.tsx +257 -67
  619. package/src/components/button.tsx +130 -80
  620. package/src/components/card.spec.tsx +389 -0
  621. package/src/components/card.tsx +261 -0
  622. package/src/components/carousel.spec.tsx +894 -0
  623. package/src/components/carousel.tsx +376 -0
  624. package/src/components/chip.spec.tsx +200 -0
  625. package/src/components/chip.tsx +188 -0
  626. package/src/components/circular-progress.spec.tsx +289 -0
  627. package/src/components/circular-progress.tsx +145 -0
  628. package/src/components/command-palette/command-palette-input.spec.tsx +219 -219
  629. package/src/components/command-palette/command-palette-input.tsx +25 -9
  630. package/src/components/command-palette/command-palette-manager.spec.ts +132 -117
  631. package/src/components/command-palette/command-palette-suggestion-list.spec.tsx +358 -358
  632. package/src/components/command-palette/command-palette-suggestion-list.tsx +22 -20
  633. package/src/components/command-palette/index.spec.tsx +12 -12
  634. package/src/components/command-palette/index.tsx +25 -102
  635. package/src/components/context-menu/context-menu-item.tsx +85 -0
  636. package/src/components/context-menu/context-menu-manager.spec.ts +433 -0
  637. package/src/components/context-menu/context-menu-manager.ts +148 -0
  638. package/src/components/context-menu/context-menu.spec.tsx +352 -0
  639. package/src/components/context-menu/context-menu.tsx +116 -0
  640. package/src/components/context-menu/index.ts +3 -0
  641. package/src/components/data-grid/body.spec.tsx +287 -283
  642. package/src/components/data-grid/data-grid-row.spec.tsx +165 -140
  643. package/src/components/data-grid/data-grid-row.tsx +72 -55
  644. package/src/components/data-grid/data-grid.spec.tsx +659 -729
  645. package/src/components/data-grid/data-grid.tsx +19 -15
  646. package/src/components/data-grid/footer.spec.tsx +249 -237
  647. package/src/components/data-grid/header.spec.tsx +374 -351
  648. package/src/components/data-grid/header.tsx +58 -39
  649. package/src/components/data-grid/selection-cell.spec.tsx +46 -45
  650. package/src/components/data-grid/selection-cell.tsx +2 -6
  651. package/src/components/dialog.spec.tsx +135 -0
  652. package/src/components/dialog.tsx +277 -0
  653. package/src/components/divider.spec.tsx +197 -0
  654. package/src/components/divider.tsx +147 -0
  655. package/src/components/drawer/drawer-toggle-button.spec.tsx +374 -0
  656. package/src/components/drawer/drawer-toggle-button.tsx +124 -0
  657. package/src/components/drawer/index.spec.tsx +748 -0
  658. package/src/components/drawer/index.tsx +227 -0
  659. package/src/components/dropdown.spec.tsx +445 -0
  660. package/src/components/dropdown.tsx +343 -0
  661. package/src/components/fab.spec.tsx +51 -40
  662. package/src/components/fab.tsx +32 -9
  663. package/src/components/form.spec.tsx +303 -293
  664. package/src/components/form.tsx +10 -7
  665. package/src/components/grid.spec.tsx +276 -183
  666. package/src/components/grid.tsx +10 -10
  667. package/src/components/icons/icon-definitions.spec.ts +68 -0
  668. package/src/components/icons/icon-definitions.ts +509 -0
  669. package/src/components/icons/icon-types.ts +48 -0
  670. package/src/components/icons/icon.spec.tsx +314 -0
  671. package/src/components/icons/icon.tsx +111 -0
  672. package/src/components/icons/index.ts +4 -0
  673. package/src/components/image.spec.tsx +748 -0
  674. package/src/components/image.tsx +520 -0
  675. package/src/components/index.ts +32 -4
  676. package/src/components/inputs/autocomplete.spec.tsx +10 -1
  677. package/src/components/inputs/autocomplete.tsx +13 -7
  678. package/src/components/inputs/checkbox.spec.tsx +377 -0
  679. package/src/components/inputs/checkbox.tsx +198 -0
  680. package/src/components/inputs/index.ts +7 -0
  681. package/src/components/inputs/input-number.spec.tsx +686 -0
  682. package/src/components/inputs/input-number.tsx +387 -0
  683. package/src/components/inputs/input.spec.tsx +544 -508
  684. package/src/components/inputs/input.tsx +91 -132
  685. package/src/components/inputs/radio-group.spec.tsx +281 -0
  686. package/src/components/inputs/radio-group.tsx +108 -0
  687. package/src/components/inputs/radio.spec.tsx +273 -0
  688. package/src/components/inputs/radio.tsx +199 -0
  689. package/src/components/inputs/select.spec.tsx +1237 -0
  690. package/src/components/inputs/select.tsx +775 -0
  691. package/src/components/inputs/slider.spec.tsx +1020 -0
  692. package/src/components/inputs/slider.tsx +696 -0
  693. package/src/components/inputs/switch.spec.tsx +410 -0
  694. package/src/components/inputs/switch.tsx +218 -0
  695. package/src/components/inputs/text-area.spec.tsx +186 -171
  696. package/src/components/inputs/text-area.tsx +13 -19
  697. package/src/components/linear-progress.spec.tsx +320 -0
  698. package/src/components/linear-progress.tsx +127 -0
  699. package/src/components/list/index.ts +2 -0
  700. package/src/components/list/list-item.tsx +106 -0
  701. package/src/components/list/list.spec.tsx +817 -0
  702. package/src/components/list/list.tsx +92 -0
  703. package/src/components/loader.spec.tsx +220 -204
  704. package/src/components/loader.tsx +17 -9
  705. package/src/components/menu/index.ts +2 -0
  706. package/src/components/menu/menu-types.spec.ts +122 -0
  707. package/src/components/menu/menu-types.ts +43 -0
  708. package/src/components/menu/menu.spec.tsx +483 -0
  709. package/src/components/menu/menu.tsx +326 -0
  710. package/src/components/modal.spec.tsx +65 -55
  711. package/src/components/modal.tsx +9 -6
  712. package/src/components/noty-list.spec.tsx +78 -75
  713. package/src/components/noty-list.tsx +76 -68
  714. package/src/components/page-container/index.spec.tsx +274 -0
  715. package/src/components/page-container/index.tsx +82 -0
  716. package/src/components/page-container/page-header.spec.tsx +308 -0
  717. package/src/components/page-container/page-header.tsx +127 -0
  718. package/src/components/page-layout/index.spec.tsx +882 -0
  719. package/src/components/page-layout/index.tsx +392 -0
  720. package/src/components/pagination.spec.tsx +275 -0
  721. package/src/components/pagination.tsx +249 -0
  722. package/src/components/paper.spec.tsx +26 -18
  723. package/src/components/paper.tsx +12 -10
  724. package/src/components/rating.spec.tsx +866 -0
  725. package/src/components/rating.tsx +286 -0
  726. package/src/components/result.spec.tsx +221 -0
  727. package/src/components/result.tsx +155 -0
  728. package/src/components/searchable-input-styles.ts +81 -0
  729. package/src/components/skeleton.spec.tsx +126 -118
  730. package/src/components/skeleton.tsx +23 -6
  731. package/src/components/styles.spec.ts +27 -28
  732. package/src/components/styles.tsx +15 -13
  733. package/src/components/suggest/index.spec.tsx +611 -587
  734. package/src/components/suggest/index.tsx +28 -95
  735. package/src/components/suggest/suggest-input.spec.tsx +95 -81
  736. package/src/components/suggest/suggest-input.tsx +9 -7
  737. package/src/components/suggest/suggest-manager.spec.ts +103 -93
  738. package/src/components/suggest/suggestion-list.spec.tsx +194 -173
  739. package/src/components/suggest/suggestion-list.tsx +23 -22
  740. package/src/components/tabs.spec.tsx +369 -7
  741. package/src/components/tabs.tsx +221 -18
  742. package/src/components/timeline.spec.tsx +294 -0
  743. package/src/components/timeline.tsx +221 -0
  744. package/src/components/tooltip.spec.tsx +223 -0
  745. package/src/components/tooltip.tsx +155 -0
  746. package/src/components/tree/index.ts +2 -0
  747. package/src/components/tree/tree-item.tsx +161 -0
  748. package/src/components/tree/tree.spec.tsx +677 -0
  749. package/src/components/tree/tree.tsx +111 -0
  750. package/src/components/typography.spec.tsx +235 -0
  751. package/src/components/typography.tsx +292 -0
  752. package/src/components/wizard/index.spec.tsx +77 -68
  753. package/src/services/click-away-service.spec.ts +14 -16
  754. package/src/services/click-away-service.ts +9 -3
  755. package/src/services/css-variable-theme.spec.ts +169 -1
  756. package/src/services/css-variable-theme.ts +107 -2
  757. package/src/services/default-dark-theme.ts +89 -3
  758. package/src/services/default-light-theme.ts +88 -2
  759. package/src/services/index.ts +6 -2
  760. package/src/services/layout-service.spec.ts +535 -0
  761. package/src/services/layout-service.ts +391 -0
  762. package/src/services/list-service.spec.ts +362 -0
  763. package/src/services/list-service.ts +169 -0
  764. package/src/services/palette-css-vars.ts +46 -0
  765. package/src/services/theme-provider-service.ts +246 -1
  766. package/src/services/tree-service.spec.ts +412 -0
  767. package/src/services/tree-service.ts +179 -0
  768. package/src/utils/promisify-animation.ts +7 -1
@@ -87,8 +87,237 @@ export interface Background {
87
87
  }
88
88
 
89
89
  /**
90
- * Complete theme definition containing all color tokens for the application.
90
+ * Interactive state colors for hover, selection, focus and overlay backgrounds.
91
+ */
92
+ export type ActionColors = {
93
+ /** Background color on hover for interactive elements */
94
+ hoverBackground: Color
95
+ /** Background color for selected/checked elements */
96
+ selectedBackground: Color
97
+ /** Background color for actively pressed elements */
98
+ activeBackground: Color
99
+ /** Box-shadow value for focus ring indicators */
100
+ focusRing: string
101
+ /** Opacity value for disabled elements (e.g. '0.6') */
102
+ disabledOpacity: string
103
+ /** Overlay background color for backdrops (drawers, modals) */
104
+ backdrop: Color
105
+ /** Subtle border color for structural dividers, input borders, and dropdown outlines */
106
+ subtleBorder: Color
107
+ }
108
+
109
+ /**
110
+ * Border radius scale for consistent rounded corners.
111
+ */
112
+ export type BorderRadiusScale = {
113
+ /** 2px - grid cells, small elements */
114
+ xs: string
115
+ /** 4px - badges, compact items */
116
+ sm: string
117
+ /** 8px - buttons, paper, inputs, cards */
118
+ md: string
119
+ /** 12px - suggest, command palette */
120
+ lg: string
121
+ /** 50% - circular elements (avatar, FAB, loader) */
122
+ full: string
123
+ }
124
+
125
+ /**
126
+ * Shape tokens for geometric properties.
127
+ */
128
+ export type Shape = {
129
+ /** Border radius scale */
130
+ borderRadius: BorderRadiusScale
131
+ }
132
+
133
+ /**
134
+ * Elevation shadow presets from subtle to prominent.
135
+ */
136
+ export type Shadows = {
137
+ /** No shadow */
138
+ none: string
139
+ /** Subtle shadow (paper elevation 1, notifications) */
140
+ sm: string
141
+ /** Medium shadow (paper elevation 2, context-menu, dropdowns) */
142
+ md: string
143
+ /** Large shadow (paper elevation 3, modals, overlays) */
144
+ lg: string
145
+ /** Extra large shadow (floating elements like FAB, avatar hover) */
146
+ xl: string
147
+ }
148
+
149
+ /**
150
+ * Font size scale for consistent text sizing.
151
+ */
152
+ export type FontSizeScale = {
153
+ /** 11px - labels, helper text */
154
+ xs: string
155
+ /** 13px - small body, secondary text */
156
+ sm: string
157
+ /** 14px - body text, buttons */
158
+ md: string
159
+ /** 16px - large body, icons */
160
+ lg: string
161
+ /** 24px - page headings */
162
+ xl: string
163
+ }
164
+
165
+ /**
166
+ * Font weight scale.
167
+ */
168
+ export type FontWeightScale = {
169
+ /** 400 - normal weight */
170
+ normal: string
171
+ /** 500 - medium weight */
172
+ medium: string
173
+ /** 600 - semibold weight */
174
+ semibold: string
175
+ /** 700 - bold weight */
176
+ bold: string
177
+ }
178
+
179
+ /**
180
+ * Line height scale.
181
+ */
182
+ export type LineHeightScale = {
183
+ /** 1.3 - headings, compact text */
184
+ tight: string
185
+ /** 1.5 - standard body text */
186
+ normal: string
187
+ /** 1.75 - relaxed spacing */
188
+ relaxed: string
189
+ }
190
+
191
+ /**
192
+ * Letter spacing scale for consistent character spacing.
193
+ */
194
+ export type LetterSpacingScale = {
195
+ /** -0.5px - tight spacing for large display text */
196
+ tight: string
197
+ /** -0.25px - slightly tight spacing for headings */
198
+ dense: string
199
+ /** 0px - default spacing */
200
+ normal: string
201
+ /** 0.15px - slightly wider for body text */
202
+ wide: string
203
+ /** 0.5px - wider for buttons and labels */
204
+ wider: string
205
+ /** 1.5px - widest for overline/caption text */
206
+ widest: string
207
+ }
208
+
209
+ /**
210
+ * Typography tokens for text styling.
211
+ */
212
+ export type ThemeTypography = {
213
+ /** Base font family stack */
214
+ fontFamily: string
215
+ /** Font size scale */
216
+ fontSize: FontSizeScale
217
+ /** Font weight scale */
218
+ fontWeight: FontWeightScale
219
+ /** Line height scale */
220
+ lineHeight: LineHeightScale
221
+ /** Letter spacing scale */
222
+ letterSpacing?: LetterSpacingScale
223
+ }
224
+
225
+ /**
226
+ * Transition duration presets.
227
+ */
228
+ export type TransitionDurations = {
229
+ /** 150ms - micro-interactions (hover, active states) */
230
+ fast: string
231
+ /** 200ms - default transitions */
232
+ normal: string
233
+ /** 300ms - layout changes, drawers */
234
+ slow: string
235
+ }
236
+
237
+ /**
238
+ * Transition easing presets.
239
+ */
240
+ export type TransitionEasings = {
241
+ /** Standard Material easing - cubic-bezier(0.4, 0, 0.2, 1) */
242
+ default: string
243
+ /** Decelerate easing - cubic-bezier(0.23, 1.0, 0.32, 1.0) */
244
+ easeOut: string
245
+ /** Symmetric easing - ease-in-out */
246
+ easeInOut: string
247
+ }
248
+
249
+ /**
250
+ * Transition timing tokens for animations and state changes.
251
+ */
252
+ export type Transitions = {
253
+ /** Duration presets */
254
+ duration: TransitionDurations
255
+ /** Easing function presets */
256
+ easing: TransitionEasings
257
+ }
258
+
259
+ /**
260
+ * Spacing scale for consistent padding, margins and gaps.
261
+ */
262
+ export type Spacing = {
263
+ /** 4px */
264
+ xs: string
265
+ /** 8px */
266
+ sm: string
267
+ /** 16px */
268
+ md: string
269
+ /** 24px */
270
+ lg: string
271
+ /** 32px */
272
+ xl: string
273
+ }
274
+
275
+ /**
276
+ * Z-index layer scale for consistent stacking context.
277
+ */
278
+ export type ZIndex = {
279
+ /** 1000 - drawers and sidebar panels */
280
+ drawer: string
281
+ /** 1100 - app bars and sticky headers */
282
+ appBar: string
283
+ /** 1200 - modals and dialogs */
284
+ modal: string
285
+ /** 1300 - tooltips and popovers */
286
+ tooltip: string
287
+ /** 1400 - dropdowns and context menus */
288
+ dropdown: string
289
+ }
290
+
291
+ /**
292
+ * Visual effect tokens for blur and backdrop effects.
293
+ */
294
+ export type Effects = {
295
+ /** 4px - subtle blur for glassy surfaces */
296
+ blurSm: string
297
+ /** 8px - medium blur for overlays */
298
+ blurMd: string
299
+ /** 15px - strong blur for app bar / prominent overlays */
300
+ blurLg: string
301
+ /** 20px - heavy blur for command palette / suggestion lists */
302
+ blurXl: string
303
+ }
304
+
305
+ /**
306
+ * Complete theme definition containing all design tokens for the application.
91
307
  * Themes can be switched at runtime to support light/dark modes or custom branding.
308
+ *
309
+ * **Future extension — Component size variants:**
310
+ * When introducing size variants for form controls (e.g. sm/md/lg Button, Input),
311
+ * add a `componentDefaults` section to this interface:
312
+ *
313
+ * ```typescript
314
+ * type ComponentSize = 'sm' | 'md' | 'lg'
315
+ * type SizeTokens = { height: string; padding: string; fontSize: string; borderRadius: string; iconSize: string }
316
+ * componentDefaults: { size: Record<ComponentSize, SizeTokens> }
317
+ * ```
318
+ *
319
+ * The existing `typography.fontSize` and `shape.borderRadius` scales provide
320
+ * the building blocks that size tokens should reference.
92
321
  */
93
322
  export interface Theme {
94
323
  /** Unique identifier for the theme */
@@ -103,6 +332,22 @@ export interface Theme {
103
332
  background: Background
104
333
  /** Color for dividers and borders */
105
334
  divider: Color
335
+ /** Interactive state colors */
336
+ action: ActionColors
337
+ /** Shape tokens (border radius) */
338
+ shape: Shape
339
+ /** Elevation shadow presets */
340
+ shadows: Shadows
341
+ /** Typography scale (font sizes, weights, line heights, letter spacing) */
342
+ typography: ThemeTypography
343
+ /** Transition timing tokens */
344
+ transitions: Transitions
345
+ /** Spacing scale */
346
+ spacing: Spacing
347
+ /** Z-index stacking layers */
348
+ zIndex?: ZIndex
349
+ /** Visual effect tokens (blur, backdrop) */
350
+ effects?: Effects
106
351
  }
107
352
 
108
353
  export class RgbColor {
@@ -0,0 +1,412 @@
1
+ import { using } from '@furystack/utils'
2
+ import { describe, expect, it } from 'vitest'
3
+ import { TreeService } from './tree-service.js'
4
+
5
+ type TestNode = { id: number; name: string; children?: TestNode[] }
6
+
7
+ const getChildren = (node: TestNode): TestNode[] => node.children ?? []
8
+
9
+ describe('TreeService', () => {
10
+ const createTreeData = (): TestNode[] => [
11
+ {
12
+ id: 1,
13
+ name: 'Root 1',
14
+ children: [
15
+ {
16
+ id: 11,
17
+ name: 'Child 1-1',
18
+ children: [
19
+ { id: 111, name: 'Leaf 1-1-1' },
20
+ { id: 112, name: 'Leaf 1-1-2' },
21
+ ],
22
+ },
23
+ { id: 12, name: 'Child 1-2' },
24
+ ],
25
+ },
26
+ { id: 2, name: 'Root 2' },
27
+ {
28
+ id: 3,
29
+ name: 'Root 3',
30
+ children: [{ id: 31, name: 'Child 3-1' }],
31
+ },
32
+ ]
33
+
34
+ const createTestService = () => {
35
+ const rootItems = createTreeData()
36
+ const service = new TreeService<TestNode>({
37
+ getChildren,
38
+ })
39
+ service.rootItems.setValue(rootItems)
40
+ service.updateFlattenedNodes()
41
+ return { service, rootItems }
42
+ }
43
+
44
+ describe('flattenedNodes', () => {
45
+ it('should flatten only root items when none are expanded', () => {
46
+ const { service, rootItems } = createTestService()
47
+ using(service, () => {
48
+ const flattened = service.flattenedNodes.getValue()
49
+ expect(flattened.length).toBe(3)
50
+ expect(flattened[0].item).toBe(rootItems[0])
51
+ expect(flattened[0].level).toBe(0)
52
+ expect(flattened[0].hasChildren).toBe(true)
53
+ expect(flattened[0].isExpanded).toBe(false)
54
+ expect(flattened[1].item).toBe(rootItems[1])
55
+ expect(flattened[1].hasChildren).toBe(false)
56
+ expect(flattened[2].item).toBe(rootItems[2])
57
+ })
58
+ })
59
+
60
+ it('should flatten children when a node is expanded', () => {
61
+ const { service, rootItems } = createTestService()
62
+ using(service, () => {
63
+ service.expand(rootItems[0])
64
+
65
+ const flattened = service.flattenedNodes.getValue()
66
+ expect(flattened.length).toBe(5)
67
+ expect(flattened[0].item).toBe(rootItems[0])
68
+ expect(flattened[0].isExpanded).toBe(true)
69
+ expect(flattened[1].item).toBe(rootItems[0].children![0])
70
+ expect(flattened[1].level).toBe(1)
71
+ expect(flattened[2].item).toBe(rootItems[0].children![1])
72
+ expect(flattened[2].level).toBe(1)
73
+ expect(flattened[3].item).toBe(rootItems[1])
74
+ expect(flattened[4].item).toBe(rootItems[2])
75
+ })
76
+ })
77
+
78
+ it('should flatten deeply nested children', () => {
79
+ const { service, rootItems } = createTestService()
80
+ using(service, () => {
81
+ service.expand(rootItems[0])
82
+ service.expand(rootItems[0].children![0])
83
+
84
+ const flattened = service.flattenedNodes.getValue()
85
+ expect(flattened.length).toBe(7)
86
+ expect(flattened[2].item.id).toBe(111)
87
+ expect(flattened[2].level).toBe(2)
88
+ expect(flattened[3].item.id).toBe(112)
89
+ expect(flattened[3].level).toBe(2)
90
+ })
91
+ })
92
+
93
+ it('should sync items with flattened nodes', () => {
94
+ const { service, rootItems } = createTestService()
95
+ using(service, () => {
96
+ service.expand(rootItems[0])
97
+
98
+ const items = service.items.getValue()
99
+ const flattened = service.flattenedNodes.getValue()
100
+
101
+ expect(items.length).toBe(flattened.length)
102
+ for (let i = 0; i < items.length; i++) {
103
+ expect(items[i]).toBe(flattened[i].item)
104
+ }
105
+ })
106
+ })
107
+ })
108
+
109
+ describe('expand/collapse', () => {
110
+ it('should expand a node', () => {
111
+ const { service, rootItems } = createTestService()
112
+ using(service, () => {
113
+ service.expand(rootItems[0])
114
+
115
+ expect(service.isExpanded(rootItems[0])).toBe(true)
116
+ })
117
+ })
118
+
119
+ it('should collapse a node', () => {
120
+ const { service, rootItems } = createTestService()
121
+ using(service, () => {
122
+ service.expand(rootItems[0])
123
+ service.collapse(rootItems[0])
124
+
125
+ expect(service.isExpanded(rootItems[0])).toBe(false)
126
+ })
127
+ })
128
+
129
+ it('should toggle expand on a collapsed node with children', () => {
130
+ const { service, rootItems } = createTestService()
131
+ using(service, () => {
132
+ service.toggleExpanded(rootItems[0])
133
+
134
+ expect(service.isExpanded(rootItems[0])).toBe(true)
135
+ })
136
+ })
137
+
138
+ it('should toggle collapse on an expanded node', () => {
139
+ const { service, rootItems } = createTestService()
140
+ using(service, () => {
141
+ service.expand(rootItems[0])
142
+ service.toggleExpanded(rootItems[0])
143
+
144
+ expect(service.isExpanded(rootItems[0])).toBe(false)
145
+ })
146
+ })
147
+
148
+ it('should not expand a leaf node', () => {
149
+ const { service, rootItems } = createTestService()
150
+ using(service, () => {
151
+ service.toggleExpanded(rootItems[1])
152
+
153
+ expect(service.isExpanded(rootItems[1])).toBe(false)
154
+ })
155
+ })
156
+
157
+ it('should hide children when collapsing a node', () => {
158
+ const { service, rootItems } = createTestService()
159
+ using(service, () => {
160
+ service.expand(rootItems[0])
161
+ expect(service.flattenedNodes.getValue().length).toBe(5)
162
+
163
+ service.collapse(rootItems[0])
164
+ expect(service.flattenedNodes.getValue().length).toBe(3)
165
+ })
166
+ })
167
+ })
168
+
169
+ describe('getParent', () => {
170
+ it('should return undefined for root items', () => {
171
+ const { service, rootItems } = createTestService()
172
+ using(service, () => {
173
+ expect(service.getParent(rootItems[0])).toBeUndefined()
174
+ expect(service.getParent(rootItems[1])).toBeUndefined()
175
+ })
176
+ })
177
+
178
+ it('should return the parent of a child node', () => {
179
+ const { service, rootItems } = createTestService()
180
+ using(service, () => {
181
+ const parent = service.getParent(rootItems[0].children![0])
182
+ expect(parent).toBe(rootItems[0])
183
+ })
184
+ })
185
+
186
+ it('should return the parent of a deeply nested node', () => {
187
+ const { service, rootItems } = createTestService()
188
+ using(service, () => {
189
+ const parent = service.getParent(rootItems[0].children![0].children![0])
190
+ expect(parent).toBe(rootItems[0].children![0])
191
+ })
192
+ })
193
+ })
194
+
195
+ describe('getNodeInfo', () => {
196
+ it('should return node info for a visible item', () => {
197
+ const { service, rootItems } = createTestService()
198
+ using(service, () => {
199
+ const info = service.getNodeInfo(rootItems[0])
200
+ expect(info).toBeDefined()
201
+ expect(info?.level).toBe(0)
202
+ expect(info?.hasChildren).toBe(true)
203
+ expect(info?.isExpanded).toBe(false)
204
+ })
205
+ })
206
+
207
+ it('should return undefined for a hidden item', () => {
208
+ const { service, rootItems } = createTestService()
209
+ using(service, () => {
210
+ const info = service.getNodeInfo(rootItems[0].children![0])
211
+ expect(info).toBeUndefined()
212
+ })
213
+ })
214
+ })
215
+
216
+ describe('handleKeyDown - tree navigation', () => {
217
+ it('should expand a collapsed node on ArrowRight', () => {
218
+ const { service, rootItems } = createTestService()
219
+ using(service, () => {
220
+ service.hasFocus.setValue(true)
221
+ service.focusedItem.setValue(rootItems[0])
222
+
223
+ service.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowRight' }))
224
+
225
+ expect(service.isExpanded(rootItems[0])).toBe(true)
226
+ })
227
+ })
228
+
229
+ it('should move focus to first child on ArrowRight when already expanded', () => {
230
+ const { service, rootItems } = createTestService()
231
+ using(service, () => {
232
+ service.hasFocus.setValue(true)
233
+ service.expand(rootItems[0])
234
+ service.focusedItem.setValue(rootItems[0])
235
+
236
+ service.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowRight' }))
237
+
238
+ expect(service.focusedItem.getValue()).toBe(rootItems[0].children![0])
239
+ })
240
+ })
241
+
242
+ it('should do nothing on ArrowRight on a leaf node', () => {
243
+ const { service, rootItems } = createTestService()
244
+ using(service, () => {
245
+ service.hasFocus.setValue(true)
246
+ service.focusedItem.setValue(rootItems[1])
247
+
248
+ service.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowRight' }))
249
+
250
+ expect(service.focusedItem.getValue()).toBe(rootItems[1])
251
+ })
252
+ })
253
+
254
+ it('should collapse an expanded node on ArrowLeft', () => {
255
+ const { service, rootItems } = createTestService()
256
+ using(service, () => {
257
+ service.hasFocus.setValue(true)
258
+ service.expand(rootItems[0])
259
+ service.focusedItem.setValue(rootItems[0])
260
+
261
+ service.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowLeft' }))
262
+
263
+ expect(service.isExpanded(rootItems[0])).toBe(false)
264
+ })
265
+ })
266
+
267
+ it('should move focus to parent on ArrowLeft when node is collapsed', () => {
268
+ const { service, rootItems } = createTestService()
269
+ using(service, () => {
270
+ service.hasFocus.setValue(true)
271
+ service.expand(rootItems[0])
272
+ service.focusedItem.setValue(rootItems[0].children![0])
273
+
274
+ service.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowLeft' }))
275
+
276
+ expect(service.focusedItem.getValue()).toBe(rootItems[0])
277
+ })
278
+ })
279
+
280
+ it('should do nothing on ArrowLeft on a root node that is collapsed', () => {
281
+ const { service, rootItems } = createTestService()
282
+ using(service, () => {
283
+ service.hasFocus.setValue(true)
284
+ service.focusedItem.setValue(rootItems[1])
285
+
286
+ service.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowLeft' }))
287
+
288
+ expect(service.focusedItem.getValue()).toBe(rootItems[1])
289
+ })
290
+ })
291
+
292
+ it('should not handle keys when not focused', () => {
293
+ const { service, rootItems } = createTestService()
294
+ using(service, () => {
295
+ service.hasFocus.setValue(false)
296
+ service.focusedItem.setValue(rootItems[0])
297
+
298
+ service.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowRight' }))
299
+
300
+ expect(service.isExpanded(rootItems[0])).toBe(false)
301
+ })
302
+ })
303
+ })
304
+
305
+ describe('inherited ListService keyboard navigation', () => {
306
+ it('should handle ArrowDown to move focus to next visible item', () => {
307
+ const { service, rootItems } = createTestService()
308
+ using(service, () => {
309
+ service.hasFocus.setValue(true)
310
+ service.focusedItem.setValue(rootItems[0])
311
+
312
+ service.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowDown' }))
313
+
314
+ expect(service.focusedItem.getValue()).toBe(rootItems[1])
315
+ })
316
+ })
317
+
318
+ it('should handle ArrowUp to move focus to previous visible item', () => {
319
+ const { service, rootItems } = createTestService()
320
+ using(service, () => {
321
+ service.hasFocus.setValue(true)
322
+ service.focusedItem.setValue(rootItems[1])
323
+
324
+ service.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowUp' }))
325
+
326
+ expect(service.focusedItem.getValue()).toBe(rootItems[0])
327
+ })
328
+ })
329
+
330
+ it('should handle Home to move focus to first item', () => {
331
+ const { service, rootItems } = createTestService()
332
+ using(service, () => {
333
+ service.hasFocus.setValue(true)
334
+ service.focusedItem.setValue(rootItems[2])
335
+
336
+ service.handleKeyDown(new KeyboardEvent('keydown', { key: 'Home' }))
337
+
338
+ expect(service.focusedItem.getValue()).toBe(rootItems[0])
339
+ })
340
+ })
341
+
342
+ it('should handle End to move focus to last item', () => {
343
+ const { service, rootItems } = createTestService()
344
+ using(service, () => {
345
+ service.hasFocus.setValue(true)
346
+ service.focusedItem.setValue(rootItems[0])
347
+
348
+ service.handleKeyDown(new KeyboardEvent('keydown', { key: 'End' }))
349
+
350
+ expect(service.focusedItem.getValue()).toBe(rootItems[2])
351
+ })
352
+ })
353
+
354
+ it('should handle Space to toggle selection of focused item', () => {
355
+ const { service, rootItems } = createTestService()
356
+ using(service, () => {
357
+ service.hasFocus.setValue(true)
358
+ service.focusedItem.setValue(rootItems[0])
359
+
360
+ service.handleKeyDown(new KeyboardEvent('keydown', { key: ' ' }))
361
+ expect(service.selection.getValue()).toContain(rootItems[0])
362
+
363
+ service.handleKeyDown(new KeyboardEvent('keydown', { key: ' ' }))
364
+ expect(service.selection.getValue()).not.toContain(rootItems[0])
365
+ })
366
+ })
367
+
368
+ it('should handle Escape to clear selection and search term', () => {
369
+ const { service, rootItems } = createTestService()
370
+ using(service, () => {
371
+ service.hasFocus.setValue(true)
372
+ service.selection.setValue([rootItems[0]])
373
+ service.searchTerm.setValue('test')
374
+
375
+ service.handleKeyDown(new KeyboardEvent('keydown', { key: 'Escape' }))
376
+
377
+ expect(service.selection.getValue()).toEqual([])
378
+ expect(service.searchTerm.getValue()).toBe('')
379
+ })
380
+ })
381
+ })
382
+
383
+ describe('handleItemDoubleClick', () => {
384
+ it('should toggle expansion on double-click of a node with children', () => {
385
+ const { service, rootItems } = createTestService()
386
+ using(service, () => {
387
+ service.handleItemDoubleClick(rootItems[0])
388
+ expect(service.isExpanded(rootItems[0])).toBe(true)
389
+
390
+ service.handleItemDoubleClick(rootItems[0])
391
+ expect(service.isExpanded(rootItems[0])).toBe(false)
392
+ })
393
+ })
394
+
395
+ it('should not expand on double-click of a leaf node', () => {
396
+ const { service, rootItems } = createTestService()
397
+ using(service, () => {
398
+ service.handleItemDoubleClick(rootItems[1])
399
+
400
+ expect(service.isExpanded(rootItems[1])).toBe(false)
401
+ })
402
+ })
403
+ })
404
+
405
+ describe('dispose', () => {
406
+ it('should dispose all observables', () => {
407
+ const { service } = createTestService()
408
+
409
+ expect(() => service[Symbol.dispose]()).not.toThrow()
410
+ })
411
+ })
412
+ })