@furystack/shades-common-components 13.4.1 → 14.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 (365) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/README.md +3 -3
  3. package/esm/components/accordion/accordion-item.js +1 -1
  4. package/esm/components/accordion/accordion-item.js.map +1 -1
  5. package/esm/components/accordion/accordion.js +1 -1
  6. package/esm/components/accordion/accordion.js.map +1 -1
  7. package/esm/components/alert.js +1 -1
  8. package/esm/components/alert.js.map +1 -1
  9. package/esm/components/app-bar-link.js +1 -1
  10. package/esm/components/app-bar-link.js.map +1 -1
  11. package/esm/components/app-bar.js +1 -1
  12. package/esm/components/app-bar.js.map +1 -1
  13. package/esm/components/avatar.js +1 -1
  14. package/esm/components/avatar.js.map +1 -1
  15. package/esm/components/badge.js +1 -1
  16. package/esm/components/badge.js.map +1 -1
  17. package/esm/components/breadcrumb.js +1 -1
  18. package/esm/components/breadcrumb.js.map +1 -1
  19. package/esm/components/breadcrumb.spec.js +3 -3
  20. package/esm/components/breadcrumb.spec.js.map +1 -1
  21. package/esm/components/button-group.js +4 -4
  22. package/esm/components/button-group.js.map +1 -1
  23. package/esm/components/button.js +1 -1
  24. package/esm/components/button.js.map +1 -1
  25. package/esm/components/button.spec.js +1 -1
  26. package/esm/components/button.spec.js.map +1 -1
  27. package/esm/components/cache-view.js +1 -1
  28. package/esm/components/cache-view.js.map +1 -1
  29. package/esm/components/cache-view.spec.js +2 -2
  30. package/esm/components/cache-view.spec.js.map +1 -1
  31. package/esm/components/card.js +5 -5
  32. package/esm/components/card.js.map +1 -1
  33. package/esm/components/carousel.js +1 -1
  34. package/esm/components/carousel.js.map +1 -1
  35. package/esm/components/chip.js +1 -1
  36. package/esm/components/chip.js.map +1 -1
  37. package/esm/components/circular-progress.d.ts +2 -4
  38. package/esm/components/circular-progress.d.ts.map +1 -1
  39. package/esm/components/circular-progress.js +3 -6
  40. package/esm/components/circular-progress.js.map +1 -1
  41. package/esm/components/circular-progress.spec.js +19 -14
  42. package/esm/components/circular-progress.spec.js.map +1 -1
  43. package/esm/components/command-palette/command-palette-input.js +1 -1
  44. package/esm/components/command-palette/command-palette-input.js.map +1 -1
  45. package/esm/components/command-palette/command-palette-suggestion-list.js +1 -1
  46. package/esm/components/command-palette/command-palette-suggestion-list.js.map +1 -1
  47. package/esm/components/command-palette/command-palette-suggestion-list.spec.js +1 -1
  48. package/esm/components/command-palette/command-palette-suggestion-list.spec.js.map +1 -1
  49. package/esm/components/command-palette/index.js +1 -1
  50. package/esm/components/command-palette/index.js.map +1 -1
  51. package/esm/components/context-menu/context-menu-item.js +1 -1
  52. package/esm/components/context-menu/context-menu-item.js.map +1 -1
  53. package/esm/components/context-menu/context-menu.js +1 -1
  54. package/esm/components/context-menu/context-menu.js.map +1 -1
  55. package/esm/components/data-grid/body.js +1 -1
  56. package/esm/components/data-grid/body.js.map +1 -1
  57. package/esm/components/data-grid/data-grid-row.js +1 -1
  58. package/esm/components/data-grid/data-grid-row.js.map +1 -1
  59. package/esm/components/data-grid/data-grid.d.ts +5 -2
  60. package/esm/components/data-grid/data-grid.d.ts.map +1 -1
  61. package/esm/components/data-grid/data-grid.js +5 -3
  62. package/esm/components/data-grid/data-grid.js.map +1 -1
  63. package/esm/components/data-grid/data-grid.spec.js +60 -60
  64. package/esm/components/data-grid/data-grid.spec.js.map +1 -1
  65. package/esm/components/data-grid/filters/boolean-filter.d.ts +2 -2
  66. package/esm/components/data-grid/filters/boolean-filter.d.ts.map +1 -1
  67. package/esm/components/data-grid/filters/boolean-filter.js +4 -4
  68. package/esm/components/data-grid/filters/boolean-filter.js.map +1 -1
  69. package/esm/components/data-grid/filters/boolean-filter.spec.js +18 -17
  70. package/esm/components/data-grid/filters/boolean-filter.spec.js.map +1 -1
  71. package/esm/components/data-grid/filters/date-filter.d.ts +2 -2
  72. package/esm/components/data-grid/filters/date-filter.d.ts.map +1 -1
  73. package/esm/components/data-grid/filters/date-filter.js +6 -6
  74. package/esm/components/data-grid/filters/date-filter.js.map +1 -1
  75. package/esm/components/data-grid/filters/date-filter.spec.js +26 -21
  76. package/esm/components/data-grid/filters/date-filter.spec.js.map +1 -1
  77. package/esm/components/data-grid/filters/enum-filter.d.ts +2 -2
  78. package/esm/components/data-grid/filters/enum-filter.d.ts.map +1 -1
  79. package/esm/components/data-grid/filters/enum-filter.js +5 -5
  80. package/esm/components/data-grid/filters/enum-filter.js.map +1 -1
  81. package/esm/components/data-grid/filters/enum-filter.spec.js +21 -19
  82. package/esm/components/data-grid/filters/enum-filter.spec.js.map +1 -1
  83. package/esm/components/data-grid/filters/filter-dropdown.js +1 -1
  84. package/esm/components/data-grid/filters/filter-dropdown.js.map +1 -1
  85. package/esm/components/data-grid/filters/number-filter.d.ts +2 -2
  86. package/esm/components/data-grid/filters/number-filter.d.ts.map +1 -1
  87. package/esm/components/data-grid/filters/number-filter.js +5 -5
  88. package/esm/components/data-grid/filters/number-filter.js.map +1 -1
  89. package/esm/components/data-grid/filters/number-filter.spec.js +23 -21
  90. package/esm/components/data-grid/filters/number-filter.spec.js.map +1 -1
  91. package/esm/components/data-grid/filters/string-filter.d.ts +2 -2
  92. package/esm/components/data-grid/filters/string-filter.d.ts.map +1 -1
  93. package/esm/components/data-grid/filters/string-filter.js +5 -5
  94. package/esm/components/data-grid/filters/string-filter.js.map +1 -1
  95. package/esm/components/data-grid/filters/string-filter.spec.js +21 -19
  96. package/esm/components/data-grid/filters/string-filter.spec.js.map +1 -1
  97. package/esm/components/data-grid/footer.d.ts +2 -2
  98. package/esm/components/data-grid/footer.d.ts.map +1 -1
  99. package/esm/components/data-grid/footer.js +8 -13
  100. package/esm/components/data-grid/footer.js.map +1 -1
  101. package/esm/components/data-grid/footer.spec.js +38 -27
  102. package/esm/components/data-grid/footer.spec.js.map +1 -1
  103. package/esm/components/data-grid/header.d.ts +6 -6
  104. package/esm/components/data-grid/header.d.ts.map +1 -1
  105. package/esm/components/data-grid/header.js +16 -17
  106. package/esm/components/data-grid/header.js.map +1 -1
  107. package/esm/components/data-grid/header.spec.js +66 -60
  108. package/esm/components/data-grid/header.spec.js.map +1 -1
  109. package/esm/components/data-grid/selection-cell.js +1 -1
  110. package/esm/components/data-grid/selection-cell.js.map +1 -1
  111. package/esm/components/dialog.js +1 -1
  112. package/esm/components/dialog.js.map +1 -1
  113. package/esm/components/divider.js +1 -1
  114. package/esm/components/divider.js.map +1 -1
  115. package/esm/components/drawer/drawer-toggle-button.js +1 -1
  116. package/esm/components/drawer/drawer-toggle-button.js.map +1 -1
  117. package/esm/components/drawer/index.js +1 -1
  118. package/esm/components/drawer/index.js.map +1 -1
  119. package/esm/components/dropdown.js +1 -1
  120. package/esm/components/dropdown.js.map +1 -1
  121. package/esm/components/fab.js +1 -1
  122. package/esm/components/fab.js.map +1 -1
  123. package/esm/components/form.js +1 -1
  124. package/esm/components/form.js.map +1 -1
  125. package/esm/components/grid.js +1 -1
  126. package/esm/components/grid.js.map +1 -1
  127. package/esm/components/icons/icon.js +1 -1
  128. package/esm/components/icons/icon.js.map +1 -1
  129. package/esm/components/image.js +2 -2
  130. package/esm/components/image.js.map +1 -1
  131. package/esm/components/inputs/autocomplete.js +1 -1
  132. package/esm/components/inputs/autocomplete.js.map +1 -1
  133. package/esm/components/inputs/checkbox.js +1 -1
  134. package/esm/components/inputs/checkbox.js.map +1 -1
  135. package/esm/components/inputs/checkbox.spec.js +1 -1
  136. package/esm/components/inputs/checkbox.spec.js.map +1 -1
  137. package/esm/components/inputs/input-number.js +1 -1
  138. package/esm/components/inputs/input-number.js.map +1 -1
  139. package/esm/components/inputs/input-number.spec.js +1 -1
  140. package/esm/components/inputs/input-number.spec.js.map +1 -1
  141. package/esm/components/inputs/input.js +1 -1
  142. package/esm/components/inputs/input.js.map +1 -1
  143. package/esm/components/inputs/input.spec.js +1 -1
  144. package/esm/components/inputs/input.spec.js.map +1 -1
  145. package/esm/components/inputs/radio-group.js +1 -1
  146. package/esm/components/inputs/radio-group.js.map +1 -1
  147. package/esm/components/inputs/radio-group.spec.js +1 -1
  148. package/esm/components/inputs/radio-group.spec.js.map +1 -1
  149. package/esm/components/inputs/radio.js +1 -1
  150. package/esm/components/inputs/radio.js.map +1 -1
  151. package/esm/components/inputs/radio.spec.js +1 -1
  152. package/esm/components/inputs/radio.spec.js.map +1 -1
  153. package/esm/components/inputs/select.js +1 -1
  154. package/esm/components/inputs/select.js.map +1 -1
  155. package/esm/components/inputs/slider.js +1 -1
  156. package/esm/components/inputs/slider.js.map +1 -1
  157. package/esm/components/inputs/switch.js +1 -1
  158. package/esm/components/inputs/switch.js.map +1 -1
  159. package/esm/components/inputs/switch.spec.js +1 -1
  160. package/esm/components/inputs/switch.spec.js.map +1 -1
  161. package/esm/components/inputs/text-area.js +1 -1
  162. package/esm/components/inputs/text-area.js.map +1 -1
  163. package/esm/components/inputs/text-area.spec.js +1 -1
  164. package/esm/components/inputs/text-area.spec.js.map +1 -1
  165. package/esm/components/linear-progress.d.ts +2 -4
  166. package/esm/components/linear-progress.d.ts.map +1 -1
  167. package/esm/components/linear-progress.js +3 -6
  168. package/esm/components/linear-progress.js.map +1 -1
  169. package/esm/components/linear-progress.spec.js +21 -18
  170. package/esm/components/linear-progress.spec.js.map +1 -1
  171. package/esm/components/list/list-item.js +1 -1
  172. package/esm/components/list/list-item.js.map +1 -1
  173. package/esm/components/list/list.js +1 -1
  174. package/esm/components/list/list.js.map +1 -1
  175. package/esm/components/loader.js +1 -1
  176. package/esm/components/loader.js.map +1 -1
  177. package/esm/components/loader.spec.js +1 -1
  178. package/esm/components/loader.spec.js.map +1 -1
  179. package/esm/components/markdown/markdown-display.js +1 -1
  180. package/esm/components/markdown/markdown-display.js.map +1 -1
  181. package/esm/components/markdown/markdown-display.spec.js +1 -1
  182. package/esm/components/markdown/markdown-display.spec.js.map +1 -1
  183. package/esm/components/markdown/markdown-editor.js +1 -1
  184. package/esm/components/markdown/markdown-editor.js.map +1 -1
  185. package/esm/components/markdown/markdown-editor.spec.js +1 -1
  186. package/esm/components/markdown/markdown-editor.spec.js.map +1 -1
  187. package/esm/components/markdown/markdown-input.js +1 -1
  188. package/esm/components/markdown/markdown-input.js.map +1 -1
  189. package/esm/components/markdown/markdown-input.spec.js +1 -1
  190. package/esm/components/markdown/markdown-input.spec.js.map +1 -1
  191. package/esm/components/menu/menu.js +1 -1
  192. package/esm/components/menu/menu.js.map +1 -1
  193. package/esm/components/modal.js +1 -1
  194. package/esm/components/modal.js.map +1 -1
  195. package/esm/components/modal.spec.js +3 -3
  196. package/esm/components/modal.spec.js.map +1 -1
  197. package/esm/components/noty-list.js +2 -2
  198. package/esm/components/noty-list.js.map +1 -1
  199. package/esm/components/page-container/index.d.ts.map +1 -1
  200. package/esm/components/page-container/index.js +2 -2
  201. package/esm/components/page-container/index.js.map +1 -1
  202. package/esm/components/page-container/index.spec.js +5 -4
  203. package/esm/components/page-container/index.spec.js.map +1 -1
  204. package/esm/components/page-container/page-header.js +1 -1
  205. package/esm/components/page-container/page-header.js.map +1 -1
  206. package/esm/components/page-layout/index.d.ts +6 -0
  207. package/esm/components/page-layout/index.d.ts.map +1 -1
  208. package/esm/components/page-layout/index.js +29 -14
  209. package/esm/components/page-layout/index.js.map +1 -1
  210. package/esm/components/page-layout/index.spec.js +119 -0
  211. package/esm/components/page-layout/index.spec.js.map +1 -1
  212. package/esm/components/pagination.js +1 -1
  213. package/esm/components/pagination.js.map +1 -1
  214. package/esm/components/paper.js +1 -1
  215. package/esm/components/paper.js.map +1 -1
  216. package/esm/components/rating.js +1 -1
  217. package/esm/components/rating.js.map +1 -1
  218. package/esm/components/rating.spec.js +1 -1
  219. package/esm/components/rating.spec.js.map +1 -1
  220. package/esm/components/result.js +1 -1
  221. package/esm/components/result.js.map +1 -1
  222. package/esm/components/skeleton.js +1 -1
  223. package/esm/components/skeleton.js.map +1 -1
  224. package/esm/components/suggest/index.js +1 -1
  225. package/esm/components/suggest/index.js.map +1 -1
  226. package/esm/components/suggest/index.spec.js +1 -1
  227. package/esm/components/suggest/index.spec.js.map +1 -1
  228. package/esm/components/suggest/suggest-input.js +1 -1
  229. package/esm/components/suggest/suggest-input.js.map +1 -1
  230. package/esm/components/suggest/suggest-input.spec.js +1 -1
  231. package/esm/components/suggest/suggest-input.spec.js.map +1 -1
  232. package/esm/components/suggest/suggestion-list.js +1 -1
  233. package/esm/components/suggest/suggestion-list.js.map +1 -1
  234. package/esm/components/suggest/suggestion-list.spec.js +1 -1
  235. package/esm/components/suggest/suggestion-list.spec.js.map +1 -1
  236. package/esm/components/tabs.js +2 -2
  237. package/esm/components/tabs.js.map +1 -1
  238. package/esm/components/timeline.js +2 -2
  239. package/esm/components/timeline.js.map +1 -1
  240. package/esm/components/tooltip.js +1 -1
  241. package/esm/components/tooltip.js.map +1 -1
  242. package/esm/components/tree/tree-item.js +1 -1
  243. package/esm/components/tree/tree-item.js.map +1 -1
  244. package/esm/components/tree/tree.js +1 -1
  245. package/esm/components/tree/tree.js.map +1 -1
  246. package/esm/components/typography.js +1 -1
  247. package/esm/components/typography.js.map +1 -1
  248. package/esm/components/wizard/index.js +1 -1
  249. package/esm/components/wizard/index.js.map +1 -1
  250. package/esm/components/wizard/index.spec.js +3 -3
  251. package/esm/components/wizard/index.spec.js.map +1 -1
  252. package/package.json +3 -3
  253. package/src/components/accordion/accordion-item.tsx +1 -1
  254. package/src/components/accordion/accordion.tsx +1 -1
  255. package/src/components/alert.tsx +1 -1
  256. package/src/components/app-bar-link.tsx +1 -1
  257. package/src/components/app-bar.tsx +1 -1
  258. package/src/components/avatar.tsx +1 -1
  259. package/src/components/badge.tsx +1 -1
  260. package/src/components/breadcrumb.spec.tsx +3 -3
  261. package/src/components/breadcrumb.tsx +1 -1
  262. package/src/components/button-group.tsx +4 -4
  263. package/src/components/button.spec.tsx +1 -1
  264. package/src/components/button.tsx +1 -1
  265. package/src/components/cache-view.spec.tsx +2 -2
  266. package/src/components/cache-view.tsx +3 -3
  267. package/src/components/card.tsx +5 -5
  268. package/src/components/carousel.tsx +1 -1
  269. package/src/components/chip.tsx +1 -1
  270. package/src/components/circular-progress.spec.tsx +20 -14
  271. package/src/components/circular-progress.tsx +5 -11
  272. package/src/components/command-palette/command-palette-input.tsx +1 -1
  273. package/src/components/command-palette/command-palette-suggestion-list.spec.tsx +1 -1
  274. package/src/components/command-palette/command-palette-suggestion-list.tsx +1 -1
  275. package/src/components/command-palette/index.tsx +1 -1
  276. package/src/components/context-menu/context-menu-item.tsx +1 -1
  277. package/src/components/context-menu/context-menu.tsx +1 -1
  278. package/src/components/data-grid/body.tsx +1 -1
  279. package/src/components/data-grid/data-grid-row.tsx +1 -1
  280. package/src/components/data-grid/data-grid.spec.tsx +62 -36
  281. package/src/components/data-grid/data-grid.tsx +14 -8
  282. package/src/components/data-grid/filters/boolean-filter.spec.tsx +29 -18
  283. package/src/components/data-grid/filters/boolean-filter.tsx +6 -6
  284. package/src/components/data-grid/filters/date-filter.spec.tsx +35 -22
  285. package/src/components/data-grid/filters/date-filter.tsx +8 -8
  286. package/src/components/data-grid/filters/enum-filter.spec.tsx +35 -20
  287. package/src/components/data-grid/filters/enum-filter.tsx +7 -7
  288. package/src/components/data-grid/filters/filter-dropdown.tsx +1 -1
  289. package/src/components/data-grid/filters/number-filter.spec.tsx +32 -22
  290. package/src/components/data-grid/filters/number-filter.tsx +7 -7
  291. package/src/components/data-grid/filters/string-filter.spec.tsx +32 -20
  292. package/src/components/data-grid/filters/string-filter.tsx +7 -7
  293. package/src/components/data-grid/footer.spec.tsx +79 -31
  294. package/src/components/data-grid/footer.tsx +10 -15
  295. package/src/components/data-grid/header.spec.tsx +152 -68
  296. package/src/components/data-grid/header.tsx +64 -27
  297. package/src/components/data-grid/selection-cell.tsx +1 -1
  298. package/src/components/dialog.tsx +1 -1
  299. package/src/components/divider.tsx +1 -1
  300. package/src/components/drawer/drawer-toggle-button.tsx +1 -1
  301. package/src/components/drawer/index.tsx +1 -1
  302. package/src/components/dropdown.tsx +1 -1
  303. package/src/components/fab.tsx +1 -1
  304. package/src/components/form.tsx +1 -1
  305. package/src/components/grid.tsx +1 -1
  306. package/src/components/icons/icon.tsx +1 -1
  307. package/src/components/image.tsx +2 -2
  308. package/src/components/inputs/autocomplete.tsx +1 -1
  309. package/src/components/inputs/checkbox.spec.tsx +1 -1
  310. package/src/components/inputs/checkbox.tsx +1 -1
  311. package/src/components/inputs/input-number.spec.tsx +1 -1
  312. package/src/components/inputs/input-number.tsx +1 -1
  313. package/src/components/inputs/input.spec.tsx +1 -1
  314. package/src/components/inputs/input.tsx +1 -1
  315. package/src/components/inputs/radio-group.spec.tsx +1 -1
  316. package/src/components/inputs/radio-group.tsx +1 -1
  317. package/src/components/inputs/radio.spec.tsx +1 -1
  318. package/src/components/inputs/radio.tsx +1 -1
  319. package/src/components/inputs/select.tsx +1 -1
  320. package/src/components/inputs/slider.tsx +1 -1
  321. package/src/components/inputs/switch.spec.tsx +1 -1
  322. package/src/components/inputs/switch.tsx +1 -1
  323. package/src/components/inputs/text-area.spec.tsx +1 -1
  324. package/src/components/inputs/text-area.tsx +1 -1
  325. package/src/components/linear-progress.spec.tsx +22 -18
  326. package/src/components/linear-progress.tsx +5 -11
  327. package/src/components/list/list-item.tsx +1 -1
  328. package/src/components/list/list.tsx +1 -1
  329. package/src/components/loader.spec.tsx +1 -1
  330. package/src/components/loader.tsx +1 -1
  331. package/src/components/markdown/markdown-display.spec.tsx +1 -1
  332. package/src/components/markdown/markdown-display.tsx +1 -1
  333. package/src/components/markdown/markdown-editor.spec.tsx +1 -1
  334. package/src/components/markdown/markdown-editor.tsx +1 -1
  335. package/src/components/markdown/markdown-input.spec.tsx +1 -1
  336. package/src/components/markdown/markdown-input.tsx +1 -1
  337. package/src/components/menu/menu.tsx +1 -1
  338. package/src/components/modal.spec.tsx +3 -3
  339. package/src/components/modal.tsx +1 -1
  340. package/src/components/noty-list.tsx +2 -2
  341. package/src/components/page-container/index.spec.tsx +5 -4
  342. package/src/components/page-container/index.tsx +8 -2
  343. package/src/components/page-container/page-header.tsx +1 -1
  344. package/src/components/page-layout/index.spec.tsx +173 -0
  345. package/src/components/page-layout/index.tsx +36 -14
  346. package/src/components/pagination.tsx +1 -1
  347. package/src/components/paper.tsx +1 -1
  348. package/src/components/rating.spec.tsx +1 -1
  349. package/src/components/rating.tsx +1 -1
  350. package/src/components/result.tsx +1 -1
  351. package/src/components/skeleton.tsx +1 -1
  352. package/src/components/suggest/index.spec.tsx +1 -1
  353. package/src/components/suggest/index.tsx +1 -1
  354. package/src/components/suggest/suggest-input.spec.tsx +1 -1
  355. package/src/components/suggest/suggest-input.tsx +1 -1
  356. package/src/components/suggest/suggestion-list.spec.tsx +1 -1
  357. package/src/components/suggest/suggestion-list.tsx +1 -1
  358. package/src/components/tabs.tsx +2 -2
  359. package/src/components/timeline.tsx +2 -2
  360. package/src/components/tooltip.tsx +1 -1
  361. package/src/components/tree/tree-item.tsx +1 -1
  362. package/src/components/tree/tree.tsx +1 -1
  363. package/src/components/typography.tsx +1 -1
  364. package/src/components/wizard/index.spec.tsx +3 -3
  365. package/src/components/wizard/index.tsx +1 -1
@@ -21,7 +21,7 @@ export type CardProps = PartialElement<HTMLElement> & {
21
21
  * Compose with CardHeader, CardContent, CardMedia, and CardActions for structured layouts.
22
22
  */
23
23
  export const Card = Shade<CardProps>({
24
- shadowDomName: 'shade-card',
24
+ customElementName: 'shade-card',
25
25
  css: {
26
26
  display: 'flex',
27
27
  fontFamily: cssVariableTheme.typography.fontFamily,
@@ -102,7 +102,7 @@ export type CardHeaderProps = PartialElement<HTMLElement> & {
102
102
  * Displays a title, optional subheader, avatar, and action area at the top of a Card.
103
103
  */
104
104
  export const CardHeader = Shade<CardHeaderProps>({
105
- shadowDomName: 'shade-card-header',
105
+ customElementName: 'shade-card-header',
106
106
  css: {
107
107
  display: 'flex',
108
108
  alignItems: 'center',
@@ -174,7 +174,7 @@ export type CardContentProps = PartialElement<HTMLElement>
174
174
  * Provides padded content area within a Card.
175
175
  */
176
176
  export const CardContent = Shade<CardContentProps>({
177
- shadowDomName: 'shade-card-content',
177
+ customElementName: 'shade-card-content',
178
178
  css: {
179
179
  display: 'block',
180
180
  padding: `0 ${cssVariableTheme.spacing.md} ${cssVariableTheme.spacing.md}`,
@@ -208,7 +208,7 @@ export type CardMediaProps = PartialElement<HTMLElement> & {
208
208
  * Displays an image or media element within a Card.
209
209
  */
210
210
  export const CardMedia = Shade<CardMediaProps>({
211
- shadowDomName: 'shade-card-media',
211
+ customElementName: 'shade-card-media',
212
212
  css: {
213
213
  display: 'block',
214
214
  overflow: 'hidden',
@@ -242,7 +242,7 @@ export type CardActionsProps = PartialElement<HTMLElement> & {
242
242
  * Provides a row of actions (buttons, links) at the bottom of a Card.
243
243
  */
244
244
  export const CardActions = Shade<CardActionsProps>({
245
- shadowDomName: 'shade-card-actions',
245
+ customElementName: 'shade-card-actions',
246
246
  css: {
247
247
  display: 'flex',
248
248
  alignItems: 'center',
@@ -34,7 +34,7 @@ const TRANSITION_MS = 400
34
34
  * keyboard navigation, and swipe gestures.
35
35
  */
36
36
  export const Carousel = Shade<CarouselProps>({
37
- shadowDomName: 'shade-carousel',
37
+ customElementName: 'shade-carousel',
38
38
  css: {
39
39
  display: 'block',
40
40
  position: 'relative',
@@ -25,7 +25,7 @@ const defaultColors = {
25
25
  }
26
26
 
27
27
  export const Chip = Shade<ChipProps>({
28
- shadowDomName: 'shade-chip',
28
+ customElementName: 'shade-chip',
29
29
  css: {
30
30
  display: 'inline-flex',
31
31
  alignItems: 'center',
@@ -1,10 +1,18 @@
1
1
  import { Injector } from '@furystack/inject'
2
- import { createComponent, initializeShadeRoot } from '@furystack/shades'
2
+ import { createComponent, initializeShadeRoot, Shade } from '@furystack/shades'
3
3
  import { ObservableValue, sleepAsync, usingAsync } from '@furystack/utils'
4
4
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
5
5
  import { ThemeProviderService } from '../services/theme-provider-service.js'
6
6
  import { CircularProgress } from './circular-progress.js'
7
7
 
8
+ const CircularWrapper = Shade<{ obs: ObservableValue<number> }>({
9
+ customElementName: 'test-circular-progress-wrapper',
10
+ render: ({ props, useObservable }) => {
11
+ const [value] = useObservable('value', props.obs)
12
+ return <CircularProgress variant="determinate" value={value} />
13
+ },
14
+ })
15
+
8
16
  describe('CircularProgress', () => {
9
17
  let originalAnimate: typeof Element.prototype.animate
10
18
 
@@ -35,7 +43,7 @@ describe('CircularProgress', () => {
35
43
  vi.restoreAllMocks()
36
44
  })
37
45
 
38
- it('should render with shadow DOM', async () => {
46
+ it('should render as custom element', async () => {
39
47
  await usingAsync(new Injector(), async (injector) => {
40
48
  const rootElement = document.getElementById('root') as HTMLDivElement
41
49
 
@@ -147,12 +155,11 @@ describe('CircularProgress', () => {
147
155
  it('should set aria-valuenow for determinate variant', async () => {
148
156
  await usingAsync(new Injector(), async (injector) => {
149
157
  const rootElement = document.getElementById('root') as HTMLDivElement
150
- const value = new ObservableValue(50)
151
158
 
152
159
  initializeShadeRoot({
153
160
  injector,
154
161
  rootElement,
155
- jsxElement: <CircularProgress variant="determinate" value={value} />,
162
+ jsxElement: <CircularProgress variant="determinate" value={50} />,
156
163
  })
157
164
 
158
165
  await sleepAsync(50)
@@ -167,12 +174,11 @@ describe('CircularProgress', () => {
167
174
  it('should clamp value to 0-100 range', async () => {
168
175
  await usingAsync(new Injector(), async (injector) => {
169
176
  const rootElement = document.getElementById('root') as HTMLDivElement
170
- const value = new ObservableValue(150)
171
177
 
172
178
  initializeShadeRoot({
173
179
  injector,
174
180
  rootElement,
175
- jsxElement: <CircularProgress variant="determinate" value={value} />,
181
+ jsxElement: <CircularProgress variant="determinate" value={150} />,
176
182
  })
177
183
 
178
184
  await sleepAsync(50)
@@ -182,15 +188,15 @@ describe('CircularProgress', () => {
182
188
  })
183
189
  })
184
190
 
185
- it('should update stroke-dashoffset when observable value changes', async () => {
191
+ it('should update stroke-dashoffset when value prop changes', async () => {
186
192
  await usingAsync(new Injector(), async (injector) => {
187
193
  const rootElement = document.getElementById('root') as HTMLDivElement
188
- const value = new ObservableValue(0)
194
+ const obs = new ObservableValue(0)
189
195
 
190
196
  initializeShadeRoot({
191
197
  injector,
192
198
  rootElement,
193
- jsxElement: <CircularProgress variant="determinate" value={value} />,
199
+ jsxElement: <CircularWrapper obs={obs} />,
194
200
  })
195
201
 
196
202
  await sleepAsync(50)
@@ -198,7 +204,7 @@ describe('CircularProgress', () => {
198
204
  const circle = document.querySelector('shade-circular-progress .progress-circle') as SVGCircleElement
199
205
  const initialOffset = circle.style.strokeDashoffset
200
206
 
201
- value.setValue(75)
207
+ obs.setValue(75)
202
208
  await sleepAsync(50)
203
209
 
204
210
  const updatedOffset = circle.style.strokeDashoffset
@@ -206,15 +212,15 @@ describe('CircularProgress', () => {
206
212
  })
207
213
  })
208
214
 
209
- it('should update aria-valuenow when observable value changes', async () => {
215
+ it('should update aria-valuenow when value prop changes', async () => {
210
216
  await usingAsync(new Injector(), async (injector) => {
211
217
  const rootElement = document.getElementById('root') as HTMLDivElement
212
- const value = new ObservableValue(20)
218
+ const obs = new ObservableValue(20)
213
219
 
214
220
  initializeShadeRoot({
215
221
  injector,
216
222
  rootElement,
217
- jsxElement: <CircularProgress variant="determinate" value={value} />,
223
+ jsxElement: <CircularWrapper obs={obs} />,
218
224
  })
219
225
 
220
226
  await sleepAsync(50)
@@ -222,7 +228,7 @@ describe('CircularProgress', () => {
222
228
  const el = document.querySelector('shade-circular-progress') as HTMLElement
223
229
  expect(el.getAttribute('aria-valuenow')).toBe('20')
224
230
 
225
- value.setValue(85)
231
+ obs.setValue(85)
226
232
  await sleepAsync(50)
227
233
 
228
234
  expect(el.getAttribute('aria-valuenow')).toBe('85')
@@ -1,15 +1,13 @@
1
1
  import { Shade, createComponent } from '@furystack/shades'
2
- import type { ObservableValue } from '@furystack/utils'
3
2
  import { cssVariableTheme } from '../services/css-variable-theme.js'
4
3
  import type { Palette } from '../services/theme-provider-service.js'
5
4
  import { ThemeProviderService } from '../services/theme-provider-service.js'
6
5
 
7
6
  export type CircularProgressProps = {
8
7
  /**
9
- * An observable progress value (0–100). Used when variant is 'determinate'.
10
- * The component subscribes internally and updates the arc without re-rendering.
8
+ * A progress value (0–100). Used when variant is 'determinate'.
11
9
  */
12
- value?: ObservableValue<number>
10
+ value?: number
13
11
  /**
14
12
  * The variant of the progress indicator.
15
13
  * - 'determinate': shows a fixed arc based on `value`
@@ -41,7 +39,7 @@ const DEFAULT_THICKNESS = 3.6
41
39
  const clampValue = (v: number) => Math.max(0, Math.min(100, v))
42
40
 
43
41
  export const CircularProgress = Shade<CircularProgressProps>({
44
- shadowDomName: 'shade-circular-progress',
42
+ customElementName: 'shade-circular-progress',
45
43
  css: {
46
44
  display: 'inline-flex',
47
45
  fontFamily: cssVariableTheme.typography.fontFamily,
@@ -65,10 +63,10 @@ export const CircularProgress = Shade<CircularProgressProps>({
65
63
  transition: `stroke-dashoffset ${cssVariableTheme.transitions.duration.normal} ${cssVariableTheme.transitions.easing.easeInOut}`,
66
64
  },
67
65
  },
68
- render: ({ props, injector, useObservable, useHostProps }) => {
66
+ render: ({ props, injector, useHostProps }) => {
69
67
  const themeProvider = injector.getInstance(ThemeProviderService)
70
68
  const variant = props.variant || 'indeterminate'
71
- const value = clampValue(props.value?.getValue() ?? 0)
69
+ const value = clampValue(props.value ?? 0)
72
70
  const size = props.size ?? DEFAULT_SIZE
73
71
  const thickness = props.thickness ?? DEFAULT_THICKNESS
74
72
  const indeterminate = variant === 'indeterminate'
@@ -76,10 +74,6 @@ export const CircularProgress = Shade<CircularProgressProps>({
76
74
  const radius = (SVG_SIZE - thickness) / 2
77
75
  const circumference = 2 * Math.PI * radius
78
76
 
79
- if (variant === 'determinate' && props.value) {
80
- useObservable('ariaValue', props.value)
81
- }
82
-
83
77
  const color = themeProvider.theme.palette[props.color || 'primary'].main
84
78
  useHostProps({
85
79
  role: 'progressbar',
@@ -3,7 +3,7 @@ import { cssVariableTheme } from '../../services/css-variable-theme.js'
3
3
  import type { CommandPaletteManager } from './command-palette-manager.js'
4
4
 
5
5
  export const CommandPaletteInput = Shade<{ manager: CommandPaletteManager }>({
6
- shadowDomName: 'shades-command-palette-input',
6
+ customElementName: 'shades-command-palette-input',
7
7
  css: {
8
8
  width: '100%',
9
9
  fontFamily: cssVariableTheme.typography.fontFamily,
@@ -54,7 +54,7 @@ describe('CommandPaletteSuggestionList', () => {
54
54
  onSelected: vi.fn(),
55
55
  })
56
56
 
57
- it('should render with shadow DOM', async () => {
57
+ it('should render as custom element', async () => {
58
58
  await usingAsync(new Injector(), async (injector) => {
59
59
  await usingAsync(createManager(), async (manager) => {
60
60
  const rootElement = document.getElementById('root') as HTMLDivElement
@@ -4,7 +4,7 @@ import { promisifyAnimation } from '../../utils/promisify-animation.js'
4
4
  import type { CommandPaletteManager } from './command-palette-manager.js'
5
5
 
6
6
  export const CommandPaletteSuggestionList = Shade<{ manager: CommandPaletteManager; fullScreenSuggestions?: boolean }>({
7
- shadowDomName: 'shade-command-palette-suggestion-list',
7
+ customElementName: 'shade-command-palette-suggestion-list',
8
8
  css: {
9
9
  fontFamily: cssVariableTheme.typography.fontFamily,
10
10
  '& .suggestion-items-container': {
@@ -23,7 +23,7 @@ export interface CommandPaletteProps {
23
23
  }
24
24
 
25
25
  export const CommandPalette = Shade<CommandPaletteProps>({
26
- shadowDomName: 'shade-command-palette',
26
+ customElementName: 'shade-command-palette',
27
27
  css: {
28
28
  ...searchableInputStyles,
29
29
  fontFamily: cssVariableTheme.typography.fontFamily,
@@ -11,7 +11,7 @@ export type ContextMenuItemProps<T> = {
11
11
 
12
12
  export const ContextMenuItemComponent: <T>(props: ContextMenuItemProps<T>, children: ChildrenList) => JSX.Element<any> =
13
13
  Shade<ContextMenuItemProps<any>>({
14
- shadowDomName: 'shade-context-menu-item',
14
+ customElementName: 'shade-context-menu-item',
15
15
  css: {
16
16
  display: 'flex',
17
17
  fontFamily: cssVariableTheme.typography.fontFamily,
@@ -12,7 +12,7 @@ export type ContextMenuProps<T> = {
12
12
  export const ContextMenu: <T>(props: ContextMenuProps<T>, children: ChildrenList) => JSX.Element<any> = Shade<
13
13
  ContextMenuProps<any>
14
14
  >({
15
- shadowDomName: 'shade-context-menu',
15
+ customElementName: 'shade-context-menu',
16
16
  css: {
17
17
  fontFamily: cssVariableTheme.typography.fontFamily,
18
18
  '& .context-menu-backdrop': {
@@ -24,7 +24,7 @@ export const DataGridBody: <T, Column extends string>(
24
24
  props: DataGridBodyProps<T, Column>,
25
25
  children: ChildrenList,
26
26
  ) => JSX.Element<any> = Shade({
27
- shadowDomName: 'shade-data-grid-body',
27
+ customElementName: 'shade-data-grid-body',
28
28
  elementBase: HTMLTableSectionElement,
29
29
  elementBaseName: 'tbody',
30
30
  css: {
@@ -21,7 +21,7 @@ export const DataGridRow: <T, Column extends string>(
21
21
  props: DataGridRowProps<T, Column>,
22
22
  children: ChildrenList,
23
23
  ) => JSX.Element<any> = Shade({
24
- shadowDomName: 'shades-data-grid-row',
24
+ customElementName: 'shades-data-grid-row',
25
25
  css: {
26
26
  display: 'table-row',
27
27
  fontFamily: cssVariableTheme.typography.fontFamily,