@cascivo/react 0.1.0 → 0.2.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 (256) hide show
  1. package/README.md +226 -168
  2. package/dist/cascivo.css +1 -1
  3. package/dist/index.d.ts +2619 -1
  4. package/dist/index.js +942 -760
  5. package/package.json +8 -8
  6. package/readme.body.md +225 -5
  7. package/dist/types/packages/components/src/_all-metas.d.ts +0 -2
  8. package/dist/types/packages/components/src/accordion/accordion.d.ts +0 -16
  9. package/dist/types/packages/components/src/accordion/accordion.meta.d.ts +0 -2
  10. package/dist/types/packages/components/src/alert/alert.d.ts +0 -13
  11. package/dist/types/packages/components/src/alert/alert.meta.d.ts +0 -2
  12. package/dist/types/packages/components/src/alert-dialog/alert-dialog.d.ts +0 -14
  13. package/dist/types/packages/components/src/alert-dialog/alert-dialog.meta.d.ts +0 -2
  14. package/dist/types/packages/components/src/aspect-ratio/aspect-ratio.d.ts +0 -7
  15. package/dist/types/packages/components/src/aspect-ratio/aspect-ratio.meta.d.ts +0 -2
  16. package/dist/types/packages/components/src/avatar/avatar.d.ts +0 -9
  17. package/dist/types/packages/components/src/avatar/avatar.meta.d.ts +0 -2
  18. package/dist/types/packages/components/src/badge/badge.d.ts +0 -6
  19. package/dist/types/packages/components/src/badge/badge.meta.d.ts +0 -2
  20. package/dist/types/packages/components/src/blockquote/blockquote.d.ts +0 -5
  21. package/dist/types/packages/components/src/blockquote/blockquote.meta.d.ts +0 -2
  22. package/dist/types/packages/components/src/blocks/app-shell/app-shell.d.ts +0 -1
  23. package/dist/types/packages/components/src/blocks/app-shell/app-shell.meta.d.ts +0 -2
  24. package/dist/types/packages/components/src/blocks/auth-login/auth-login.d.ts +0 -1
  25. package/dist/types/packages/components/src/blocks/auth-login/auth-login.meta.d.ts +0 -2
  26. package/dist/types/packages/components/src/blocks/auth-signup/auth-signup.d.ts +0 -1
  27. package/dist/types/packages/components/src/blocks/auth-signup/auth-signup.meta.d.ts +0 -2
  28. package/dist/types/packages/components/src/blocks/dashboard-overview/dashboard-overview.d.ts +0 -1
  29. package/dist/types/packages/components/src/blocks/dashboard-overview/dashboard-overview.meta.d.ts +0 -2
  30. package/dist/types/packages/components/src/blocks/dashboard-table/dashboard-table.d.ts +0 -2
  31. package/dist/types/packages/components/src/blocks/dashboard-table/dashboard-table.meta.d.ts +0 -2
  32. package/dist/types/packages/components/src/blocks/marketing-features/marketing-features.d.ts +0 -1
  33. package/dist/types/packages/components/src/blocks/marketing-features/marketing-features.meta.d.ts +0 -2
  34. package/dist/types/packages/components/src/blocks/marketing-hero/marketing-hero.d.ts +0 -1
  35. package/dist/types/packages/components/src/blocks/marketing-hero/marketing-hero.meta.d.ts +0 -2
  36. package/dist/types/packages/components/src/blocks/settings-profile/settings-profile.d.ts +0 -1
  37. package/dist/types/packages/components/src/blocks/settings-profile/settings-profile.meta.d.ts +0 -2
  38. package/dist/types/packages/components/src/blocks/types.d.ts +0 -12
  39. package/dist/types/packages/components/src/breadcrumb/breadcrumb.d.ts +0 -12
  40. package/dist/types/packages/components/src/breadcrumb/breadcrumb.meta.d.ts +0 -2
  41. package/dist/types/packages/components/src/button/button.d.ts +0 -7
  42. package/dist/types/packages/components/src/button/button.meta.d.ts +0 -2
  43. package/dist/types/packages/components/src/button-group/button-group.d.ts +0 -9
  44. package/dist/types/packages/components/src/button-group/button-group.meta.d.ts +0 -2
  45. package/dist/types/packages/components/src/calendar/calendar.d.ts +0 -35
  46. package/dist/types/packages/components/src/calendar/calendar.meta.d.ts +0 -2
  47. package/dist/types/packages/components/src/card/card.d.ts +0 -18
  48. package/dist/types/packages/components/src/card/card.meta.d.ts +0 -2
  49. package/dist/types/packages/components/src/carousel/carousel.d.ts +0 -17
  50. package/dist/types/packages/components/src/carousel/carousel.meta.d.ts +0 -2
  51. package/dist/types/packages/components/src/chat-bubble/chat-bubble.d.ts +0 -10
  52. package/dist/types/packages/components/src/chat-bubble/chat-bubble.meta.d.ts +0 -2
  53. package/dist/types/packages/components/src/checkbox/checkbox.d.ts +0 -6
  54. package/dist/types/packages/components/src/checkbox/checkbox.meta.d.ts +0 -2
  55. package/dist/types/packages/components/src/checkbox-card/checkbox-card.d.ts +0 -8
  56. package/dist/types/packages/components/src/checkbox-card/checkbox-card.meta.d.ts +0 -2
  57. package/dist/types/packages/components/src/checkbox-card/index.d.ts +0 -2
  58. package/dist/types/packages/components/src/code/code.d.ts +0 -5
  59. package/dist/types/packages/components/src/code/code.meta.d.ts +0 -2
  60. package/dist/types/packages/components/src/code-snippet/code-snippet.d.ts +0 -21
  61. package/dist/types/packages/components/src/code-snippet/code-snippet.meta.d.ts +0 -2
  62. package/dist/types/packages/components/src/collapsible/collapsible.d.ts +0 -16
  63. package/dist/types/packages/components/src/collapsible/collapsible.meta.d.ts +0 -2
  64. package/dist/types/packages/components/src/color-picker/color-picker.d.ts +0 -19
  65. package/dist/types/packages/components/src/color-picker/color-picker.meta.d.ts +0 -2
  66. package/dist/types/packages/components/src/combobox/combobox.d.ts +0 -27
  67. package/dist/types/packages/components/src/combobox/combobox.meta.d.ts +0 -2
  68. package/dist/types/packages/components/src/command-menu/command-menu.d.ts +0 -39
  69. package/dist/types/packages/components/src/command-menu/command-menu.meta.d.ts +0 -2
  70. package/dist/types/packages/components/src/contained-list/contained-list.d.ts +0 -11
  71. package/dist/types/packages/components/src/contained-list/contained-list.meta.d.ts +0 -2
  72. package/dist/types/packages/components/src/context-menu/context-menu.d.ts +0 -11
  73. package/dist/types/packages/components/src/context-menu/context-menu.meta.d.ts +0 -2
  74. package/dist/types/packages/components/src/copy-button/copy-button.d.ts +0 -11
  75. package/dist/types/packages/components/src/copy-button/copy-button.meta.d.ts +0 -2
  76. package/dist/types/packages/components/src/data-list/data-list.d.ts +0 -13
  77. package/dist/types/packages/components/src/data-list/data-list.meta.d.ts +0 -2
  78. package/dist/types/packages/components/src/data-table/data-table.d.ts +0 -60
  79. package/dist/types/packages/components/src/data-table/data-table.meta.d.ts +0 -2
  80. package/dist/types/packages/components/src/date-picker/date-picker.d.ts +0 -23
  81. package/dist/types/packages/components/src/date-picker/date-picker.meta.d.ts +0 -2
  82. package/dist/types/packages/components/src/date-range-picker/date-range-picker.d.ts +0 -32
  83. package/dist/types/packages/components/src/date-range-picker/date-range-picker.meta.d.ts +0 -2
  84. package/dist/types/packages/components/src/dock/dock.d.ts +0 -12
  85. package/dist/types/packages/components/src/dock/dock.meta.d.ts +0 -2
  86. package/dist/types/packages/components/src/drawer/drawer.d.ts +0 -29
  87. package/dist/types/packages/components/src/drawer/drawer.meta.d.ts +0 -2
  88. package/dist/types/packages/components/src/dropdown/dropdown.d.ts +0 -17
  89. package/dist/types/packages/components/src/dropdown/dropdown.meta.d.ts +0 -2
  90. package/dist/types/packages/components/src/editable/editable.d.ts +0 -10
  91. package/dist/types/packages/components/src/editable/editable.meta.d.ts +0 -2
  92. package/dist/types/packages/components/src/empty-state/empty-state.d.ts +0 -9
  93. package/dist/types/packages/components/src/empty-state/empty-state.meta.d.ts +0 -2
  94. package/dist/types/packages/components/src/field/field.d.ts +0 -24
  95. package/dist/types/packages/components/src/field/field.meta.d.ts +0 -2
  96. package/dist/types/packages/components/src/file-uploader/file-uploader.d.ts +0 -30
  97. package/dist/types/packages/components/src/file-uploader/file-uploader.meta.d.ts +0 -2
  98. package/dist/types/packages/components/src/filter/filter.d.ts +0 -16
  99. package/dist/types/packages/components/src/filter/filter.meta.d.ts +0 -2
  100. package/dist/types/packages/components/src/form/form.d.ts +0 -37
  101. package/dist/types/packages/components/src/form/form.meta.d.ts +0 -2
  102. package/dist/types/packages/components/src/form/standard-schema.d.ts +0 -24
  103. package/dist/types/packages/components/src/header/header.d.ts +0 -17
  104. package/dist/types/packages/components/src/header/header.meta.d.ts +0 -2
  105. package/dist/types/packages/components/src/header-panel/header-panel.d.ts +0 -13
  106. package/dist/types/packages/components/src/header-panel/header-panel.meta.d.ts +0 -2
  107. package/dist/types/packages/components/src/header-panel/index.d.ts +0 -2
  108. package/dist/types/packages/components/src/heading/heading.d.ts +0 -8
  109. package/dist/types/packages/components/src/heading/heading.meta.d.ts +0 -2
  110. package/dist/types/packages/components/src/hover-card/hover-card.d.ts +0 -16
  111. package/dist/types/packages/components/src/hover-card/hover-card.meta.d.ts +0 -2
  112. package/dist/types/packages/components/src/icon-button/icon-button.d.ts +0 -12
  113. package/dist/types/packages/components/src/icon-button/icon-button.meta.d.ts +0 -2
  114. package/dist/types/packages/components/src/indicator/indicator.d.ts +0 -8
  115. package/dist/types/packages/components/src/indicator/indicator.meta.d.ts +0 -2
  116. package/dist/types/packages/components/src/inline-loading/inline-loading.d.ts +0 -12
  117. package/dist/types/packages/components/src/inline-loading/inline-loading.meta.d.ts +0 -2
  118. package/dist/types/packages/components/src/input/input.d.ts +0 -8
  119. package/dist/types/packages/components/src/input/input.meta.d.ts +0 -2
  120. package/dist/types/packages/components/src/input-group/input-group.d.ts +0 -18
  121. package/dist/types/packages/components/src/input-group/input-group.meta.d.ts +0 -2
  122. package/dist/types/packages/components/src/item/item.d.ts +0 -22
  123. package/dist/types/packages/components/src/item/item.meta.d.ts +0 -2
  124. package/dist/types/packages/components/src/join/join.d.ts +0 -7
  125. package/dist/types/packages/components/src/join/join.meta.d.ts +0 -2
  126. package/dist/types/packages/components/src/kbd/kbd.d.ts +0 -5
  127. package/dist/types/packages/components/src/kbd/kbd.meta.d.ts +0 -2
  128. package/dist/types/packages/components/src/label/label.d.ts +0 -15
  129. package/dist/types/packages/components/src/label/label.meta.d.ts +0 -2
  130. package/dist/types/packages/components/src/link/link.d.ts +0 -7
  131. package/dist/types/packages/components/src/link/link.meta.d.ts +0 -2
  132. package/dist/types/packages/components/src/list/list.d.ts +0 -8
  133. package/dist/types/packages/components/src/list/list.meta.d.ts +0 -2
  134. package/dist/types/packages/components/src/menu/menu.d.ts +0 -17
  135. package/dist/types/packages/components/src/menu/menu.meta.d.ts +0 -2
  136. package/dist/types/packages/components/src/menu-button/menu-button.d.ts +0 -20
  137. package/dist/types/packages/components/src/menu-button/menu-button.meta.d.ts +0 -2
  138. package/dist/types/packages/components/src/menubar/menubar.d.ts +0 -18
  139. package/dist/types/packages/components/src/menubar/menubar.meta.d.ts +0 -2
  140. package/dist/types/packages/components/src/modal/modal.d.ts +0 -11
  141. package/dist/types/packages/components/src/modal/modal.meta.d.ts +0 -2
  142. package/dist/types/packages/components/src/multi-select/multi-select.d.ts +0 -21
  143. package/dist/types/packages/components/src/multi-select/multi-select.meta.d.ts +0 -2
  144. package/dist/types/packages/components/src/native-select/native-select.d.ts +0 -23
  145. package/dist/types/packages/components/src/native-select/native-select.meta.d.ts +0 -2
  146. package/dist/types/packages/components/src/navigation-menu/navigation-menu.d.ts +0 -15
  147. package/dist/types/packages/components/src/navigation-menu/navigation-menu.meta.d.ts +0 -2
  148. package/dist/types/packages/components/src/notification/notification.d.ts +0 -15
  149. package/dist/types/packages/components/src/notification/notification.meta.d.ts +0 -2
  150. package/dist/types/packages/components/src/number-input/number-input.d.ts +0 -18
  151. package/dist/types/packages/components/src/number-input/number-input.meta.d.ts +0 -2
  152. package/dist/types/packages/components/src/otp-input/otp-input.d.ts +0 -9
  153. package/dist/types/packages/components/src/otp-input/otp-input.meta.d.ts +0 -2
  154. package/dist/types/packages/components/src/overflow-menu/overflow-menu.d.ts +0 -18
  155. package/dist/types/packages/components/src/overflow-menu/overflow-menu.meta.d.ts +0 -2
  156. package/dist/types/packages/components/src/pagination/pagination.d.ts +0 -19
  157. package/dist/types/packages/components/src/pagination/pagination.meta.d.ts +0 -2
  158. package/dist/types/packages/components/src/password-input/password-input.d.ts +0 -12
  159. package/dist/types/packages/components/src/password-input/password-input.meta.d.ts +0 -2
  160. package/dist/types/packages/components/src/popover/index.d.ts +0 -4
  161. package/dist/types/packages/components/src/popover/popover.d.ts +0 -16
  162. package/dist/types/packages/components/src/popover/popover.meta.d.ts +0 -2
  163. package/dist/types/packages/components/src/popover/use-popover.d.ts +0 -17
  164. package/dist/types/packages/components/src/progress/progress.d.ts +0 -12
  165. package/dist/types/packages/components/src/progress/progress.meta.d.ts +0 -2
  166. package/dist/types/packages/components/src/progress-bar/progress-bar.d.ts +0 -11
  167. package/dist/types/packages/components/src/progress-bar/progress-bar.meta.d.ts +0 -2
  168. package/dist/types/packages/components/src/progress-circle/progress-circle.d.ts +0 -12
  169. package/dist/types/packages/components/src/progress-circle/progress-circle.meta.d.ts +0 -2
  170. package/dist/types/packages/components/src/progress-indicator/progress-indicator.d.ts +0 -11
  171. package/dist/types/packages/components/src/progress-indicator/progress-indicator.meta.d.ts +0 -2
  172. package/dist/types/packages/components/src/prose/prose.d.ts +0 -3
  173. package/dist/types/packages/components/src/prose/prose.meta.d.ts +0 -2
  174. package/dist/types/packages/components/src/radial-progress/radial-progress.d.ts +0 -11
  175. package/dist/types/packages/components/src/radial-progress/radial-progress.meta.d.ts +0 -2
  176. package/dist/types/packages/components/src/radio/radio.d.ts +0 -16
  177. package/dist/types/packages/components/src/radio/radio.meta.d.ts +0 -2
  178. package/dist/types/packages/components/src/radio-card/index.d.ts +0 -2
  179. package/dist/types/packages/components/src/radio-card/radio-card.d.ts +0 -19
  180. package/dist/types/packages/components/src/radio-card/radio-card.meta.d.ts +0 -2
  181. package/dist/types/packages/components/src/rating-group/rating-group.d.ts +0 -14
  182. package/dist/types/packages/components/src/rating-group/rating-group.meta.d.ts +0 -2
  183. package/dist/types/packages/components/src/resizable/resizable.d.ts +0 -13
  184. package/dist/types/packages/components/src/resizable/resizable.meta.d.ts +0 -2
  185. package/dist/types/packages/components/src/scroll-area/scroll-area.d.ts +0 -11
  186. package/dist/types/packages/components/src/scroll-area/scroll-area.meta.d.ts +0 -2
  187. package/dist/types/packages/components/src/search/search.d.ts +0 -15
  188. package/dist/types/packages/components/src/search/search.meta.d.ts +0 -2
  189. package/dist/types/packages/components/src/segmented-control/segmented-control.d.ts +0 -14
  190. package/dist/types/packages/components/src/segmented-control/segmented-control.meta.d.ts +0 -2
  191. package/dist/types/packages/components/src/select/select.d.ts +0 -15
  192. package/dist/types/packages/components/src/select/select.meta.d.ts +0 -2
  193. package/dist/types/packages/components/src/separator/separator.d.ts +0 -6
  194. package/dist/types/packages/components/src/separator/separator.meta.d.ts +0 -2
  195. package/dist/types/packages/components/src/sheet/sheet.d.ts +0 -9
  196. package/dist/types/packages/components/src/sheet/sheet.meta.d.ts +0 -2
  197. package/dist/types/packages/components/src/shell-header/index.d.ts +0 -2
  198. package/dist/types/packages/components/src/shell-header/shell-header.d.ts +0 -46
  199. package/dist/types/packages/components/src/shell-header/shell-header.meta.d.ts +0 -2
  200. package/dist/types/packages/components/src/side-nav/side-nav.d.ts +0 -33
  201. package/dist/types/packages/components/src/side-nav/side-nav.meta.d.ts +0 -2
  202. package/dist/types/packages/components/src/skeleton/skeleton.d.ts +0 -8
  203. package/dist/types/packages/components/src/skeleton/skeleton.meta.d.ts +0 -2
  204. package/dist/types/packages/components/src/skip-nav/skip-nav.d.ts +0 -14
  205. package/dist/types/packages/components/src/skip-nav/skip-nav.meta.d.ts +0 -2
  206. package/dist/types/packages/components/src/slider/slider.d.ts +0 -5
  207. package/dist/types/packages/components/src/slider/slider.meta.d.ts +0 -2
  208. package/dist/types/packages/components/src/spinner/spinner.d.ts +0 -6
  209. package/dist/types/packages/components/src/spinner/spinner.meta.d.ts +0 -2
  210. package/dist/types/packages/components/src/stack/stack.d.ts +0 -6
  211. package/dist/types/packages/components/src/stack/stack.meta.d.ts +0 -2
  212. package/dist/types/packages/components/src/stat/stat.d.ts +0 -9
  213. package/dist/types/packages/components/src/stat/stat.meta.d.ts +0 -2
  214. package/dist/types/packages/components/src/status/status.d.ts +0 -7
  215. package/dist/types/packages/components/src/status/status.meta.d.ts +0 -2
  216. package/dist/types/packages/components/src/steps/steps.d.ts +0 -12
  217. package/dist/types/packages/components/src/steps/steps.meta.d.ts +0 -2
  218. package/dist/types/packages/components/src/structured-list/structured-list.d.ts +0 -17
  219. package/dist/types/packages/components/src/structured-list/structured-list.meta.d.ts +0 -2
  220. package/dist/types/packages/components/src/swap/swap.d.ts +0 -11
  221. package/dist/types/packages/components/src/swap/swap.meta.d.ts +0 -2
  222. package/dist/types/packages/components/src/switcher/index.d.ts +0 -2
  223. package/dist/types/packages/components/src/switcher/switcher.d.ts +0 -16
  224. package/dist/types/packages/components/src/switcher/switcher.meta.d.ts +0 -2
  225. package/dist/types/packages/components/src/tabs/tabs.d.ts +0 -19
  226. package/dist/types/packages/components/src/tabs/tabs.meta.d.ts +0 -2
  227. package/dist/types/packages/components/src/tag/tag.d.ts +0 -8
  228. package/dist/types/packages/components/src/tag/tag.meta.d.ts +0 -2
  229. package/dist/types/packages/components/src/tags-input/tags-input.d.ts +0 -10
  230. package/dist/types/packages/components/src/tags-input/tags-input.meta.d.ts +0 -2
  231. package/dist/types/packages/components/src/text/text.d.ts +0 -8
  232. package/dist/types/packages/components/src/text/text.meta.d.ts +0 -2
  233. package/dist/types/packages/components/src/textarea/textarea.d.ts +0 -8
  234. package/dist/types/packages/components/src/textarea/textarea.meta.d.ts +0 -2
  235. package/dist/types/packages/components/src/tile/tile.d.ts +0 -25
  236. package/dist/types/packages/components/src/tile/tile.meta.d.ts +0 -2
  237. package/dist/types/packages/components/src/time-picker/time-picker.d.ts +0 -14
  238. package/dist/types/packages/components/src/time-picker/time-picker.meta.d.ts +0 -2
  239. package/dist/types/packages/components/src/timeline/timeline.d.ts +0 -14
  240. package/dist/types/packages/components/src/timeline/timeline.meta.d.ts +0 -2
  241. package/dist/types/packages/components/src/toast/toast.d.ts +0 -17
  242. package/dist/types/packages/components/src/toast/toast.meta.d.ts +0 -2
  243. package/dist/types/packages/components/src/toggle/toggle.d.ts +0 -9
  244. package/dist/types/packages/components/src/toggle/toggle.meta.d.ts +0 -2
  245. package/dist/types/packages/components/src/toggle-group/toggle-group.d.ts +0 -18
  246. package/dist/types/packages/components/src/toggle-group/toggle-group.meta.d.ts +0 -2
  247. package/dist/types/packages/components/src/toggletip/toggletip.d.ts +0 -17
  248. package/dist/types/packages/components/src/toggletip/toggletip.meta.d.ts +0 -2
  249. package/dist/types/packages/components/src/tooltip/tooltip.d.ts +0 -8
  250. package/dist/types/packages/components/src/tooltip/tooltip.meta.d.ts +0 -2
  251. package/dist/types/packages/components/src/tree-view/tree-view.d.ts +0 -25
  252. package/dist/types/packages/components/src/tree-view/tree-view.meta.d.ts +0 -2
  253. package/dist/types/packages/components/src/visually-hidden/visually-hidden.d.ts +0 -5
  254. package/dist/types/packages/components/src/visually-hidden/visually-hidden.meta.d.ts +0 -2
  255. package/dist/types/packages/react/src/index.d.ts +0 -122
  256. package/dist/types/packages/react/src/setup.d.ts +0 -1
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # @cascivo/react
4
4
 
5
- > Prebuilt cascade design system components — use without copying source
5
+ > Prebuilt cascivo design system components — use without copying source
6
6
 
7
7
  [cascivo.com](https://cascivo.com) · [Docs](https://docs.cascivo.com) · [Storybook](https://storybook.cascivo.com) · [GitHub](https://github.com/urbanisierung/cascivo)
8
8
 
@@ -15,9 +15,9 @@ can coexist in one project.
15
15
  ## Use
16
16
 
17
17
  ```tsx
18
- // once, in your entry file
19
- import '@cascivo/react/styles.css'
20
- import '@cascivo/themes/light'
18
+ // once, in your entry file — two imports get you a fully themed setup
19
+ import '@cascivo/react/styles.css' // component styles
20
+ import '@cascivo/themes/all' // tokens (once) + base typography + light & dark
21
21
 
22
22
  // anywhere
23
23
  import { Button, Card, CardContent, Toggle } from '@cascivo/react'
@@ -36,182 +36,240 @@ export function App() {
36
36
  }
37
37
  ```
38
38
 
39
- Theming works exactly like the copy-paste flow: import a theme stylesheet and
40
- scope it with `data-theme="light" | "dark" | "warm"` on any container. Brand
39
+ `@cascivo/themes/all` is the recommended single import: it loads `@cascivo/tokens`
40
+ **once**, applies the base typography layer (so plain markup uses the sans font,
41
+ not the browser serif default), and ships both the `light` and `dark` themes.
42
+
43
+ Prefer à-la-carte? Import only the themes you need — each self-imports the tokens
44
+ (deduped by URL, so light + dark load tokens once):
45
+
46
+ ```tsx
47
+ import '@cascivo/react/styles.css'
48
+ import '@cascivo/themes/base' // base typography (font/line-height/color)
49
+ import '@cascivo/themes/light'
50
+ import '@cascivo/themes/dark'
51
+ ```
52
+
53
+ Scope a theme with `data-theme="light" | "dark" | "warm"` on any container. Brand
41
54
  adaptation happens by overriding `--cascivo-*` custom properties — no rebuild
42
55
  needed.
43
56
 
57
+ ### CSS layer ordering
58
+
59
+ cascivo ships its styles in cascade layers, ordered lowest → highest priority:
60
+
61
+ ```
62
+ cascivo.base < cascivo.theme < cascivo.component
63
+ ```
64
+
65
+ **Unlayered** CSS in your app always beats every cascivo layer regardless of
66
+ specificity, so your own (unlayered) styles win by default. To override cascivo
67
+ from within a layer, declare a layer ordered after `cascivo.component`. See
68
+ `CSS-LAYERS-PITFALL.md` for the full story and the recommended `@layer`
69
+ declaration. Token names and aliases are documented in `TOKENS.md`.
70
+
44
71
  All components are client components (`'use client'` is preserved in the
45
72
  bundle), so the package works in Next.js App Router projects out of the box.
46
73
 
74
+ ## Migrating from shadcn/ui?
75
+
76
+ See [`MIGRATING-FROM-SHADCN.md`](https://github.com/urbanisierung/cascivo/blob/main/docs/MIGRATING-FROM-SHADCN.md)
77
+ for the variant/prop mapping (e.g. Button `default/outline` → `primary/secondary`,
78
+ there is no `outline`) and the CSS-setup delta vs Tailwind.
79
+
80
+ <!-- COMPONENT_INDEX:START -->
81
+
82
+ ## Component index
83
+
84
+ 158 components, exported from `@cascivo/react`. Full props, examples, and live demos at [docs.cascivo.com](https://docs.cascivo.com).
85
+
86
+ ### Inputs
87
+
88
+ - **Button** — Triggers an action or event
89
+ - **ButtonGroup** — Visually joins a set of related buttons into a single segmented control
90
+ - **Calendar** — An accessible standalone month-grid date picker.
91
+ - **Checkbox** — Binary toggle for forms, with indeterminate support
92
+ - **CheckboxCard** — Multi-selectable card backed by a native checkbox. Use multiple independent CheckboxCards for multi-select scenarios.
93
+ - **ColorPicker** — Interactive color selection widget with saturation/lightness area, hue and alpha sliders
94
+ - **Combobox** — Filterable single-select with an animated custom listbox, built on the dropdown open/close machine
95
+ - **CopyButton** — Icon button that copies a value to the clipboard with copied feedback
96
+ - **DatePicker** — An accessible date-picker with a calendar popover.
97
+ - **DateRangePicker** — A dual-calendar picker for selecting a contiguous date range.
98
+ - **Editable** — Inline click-to-edit text field
99
+ - **Field** — Form-field wrapper composing label, control, description, and error
100
+ - **FileUploader** — Drag-and-drop file upload zone with file list and status indicators.
101
+ - **Filter** — A group of toggleable pill or outline buttons for filtering content by category
102
+ - **Form** — Typed signal-based form store (createForm/useForm) with sync/async validation and a thin Form element wrapper
103
+ - **IconButton** — Square, icon-only button with a required accessible label
104
+ - **Input** — Text input field with optional label, hint, and error state
105
+ - **InputGroup** — Prefix/suffix addon wrapper for Input; InputGroupAddon renders inline icons/units inside the field border; ButtonGroup collapses adjacent button borders
106
+ - **Label** — Accessible caption for a form control
107
+ - **MultiSelect** — Searchable multi-value select with popover listbox
108
+ - **NativeSelect** — A styled native <select> that keeps platform form/keyboard behavior with a custom chevron and focus ring
109
+ - **NumberInput** — Numeric input with stepper buttons, clamping, precision, and locale formatting
110
+ - **OtpInput** — Segmented one-time code input
111
+ - **PasswordInput** — Password input with reveal toggle and optional strength meter
112
+ - **Radio** — Single choice from a set, grouped with RadioGroup
113
+ - **RadioCard** — Selectable card backed by a native radio input. Use RadioCardGroup for single-select groups.
114
+ - **RatingGroup** — Star rating input with accessible radio group pattern
115
+ - **Search** — Search input with debounced search callback and clear button
116
+ - **SegmentedControl** — Mutually exclusive toggle group
117
+ - **Select** — Native select menu styled to match the design system
118
+ - **Slider** — Range input for selecting a value within bounds
119
+ - **Swap** — Animated toggle between two icon/content states with rotate or flip transition
120
+ - **TagsInput** — Free-form multi-value chip input
121
+ - **Textarea** — Multi-line text input with optional label, hint, and error state
122
+ - **Tile** — A selectable card with radio (single) or checkbox (multi) semantics, toggled by click or keyboard
123
+ - **TimePicker** — Native time input wrapper with label, hint, error, and size variants
124
+ - **Toggle** — On/off switch built as an accessible button
125
+ - **ToggleGroup** — A set of toggle buttons for single or multiple selection
126
+
127
+ ### Display
128
+
129
+ - **Alert** — Highlights a short, important message inline
130
+ - **Avatar** — Displays a user image with initials fallback
131
+ - **Badge** — Small status label or category indicator
132
+ - **Blockquote** — Quoted passage with optional attribution footer
133
+ - **Card** — Container for grouping related content
134
+ - **Carousel** — Scroll-snap slide deck with previous/next controls and dot indicators
135
+ - **ChatBubble** — Message bubble for chat and messaging UIs with avatar, name, and timestamp support
136
+ - **Code** — Inline code span for identifiers, commands, and short snippets
137
+ - **CodeSnippet** — Displays code (inline, single-line, or multi-line) with an optional copy button, lightweight built-in syntax highlighting for bash/css/js/ts, and an optional terminal-window look
138
+ - **Collapsible** — A single disclosure region toggled open and closed by its trigger
139
+ - **ConsoleApp** — Carbon-parity console shell: ShellHeader + icon-rail SideNav + HeaderPanel notifications/switcher + collapsible aside + main content.
140
+ - **ContainedList** — Labelled list of rows inside a bordered container
141
+ - **DashboardCharts** — Dashboard layout with KPI tiles, line chart, bar chart, and pie chart.
142
+ - **DataList** — Key-value pairs rendered as a description list
143
+ - **DataTable** — Signal-driven data table with client/server sort, filter, pagination, multi-selection, expandable rows, and CSS content-visibility row containment for large datasets
144
+ - **EmptyDashboard** — Dashboard page showing an empty state with a call-to-action button.
145
+ - **EmptyState** — Placeholder for views that have no data to display
146
+ - **Heading** — Section heading with semantic level decoupled from visual size
147
+ - **Item** — Generic content row primitive with media, content, and action regions
148
+ - **Kbd** — Displays a keyboard key or shortcut
149
+ - **List** — Styled unordered or ordered list with ListItem
150
+ - **LoginPage** — Authentication login page with email and password form.
151
+ - **NotificationCenter** — A list of notification alerts with a mark-all-read action.
152
+ - **PageWithBreadcrumb** — A centered content page with a breadcrumb navigation and page header.
153
+ - **Prose** — Wrapper that styles raw descendant HTML — headings, lists, code, quotes, tables
154
+ - **Separator** — Visual or semantic divider between content
155
+ - **SettingsFormPage** — Settings page with profile form inside a two-column settings layout.
156
+ - **SidebarApp** — Full app shell with collapsible side navigation and top header.
157
+ - **Skeleton** — Animated loading placeholder that mirrors the shape of pending content
158
+ - **Stat** — Displays a key metric with optional delta, trend direction and help text
159
+ - **StatsCards** — Grid of KPI stat cards with trend badges.
160
+ - **Status** — Colored dot with a label communicating the state of a system or entity
161
+ - **StructuredList** — Tabular row list for scannable data, optionally single-selectable
162
+ - **Tag** — Compact chip for labeling, categorizing, or filtering content
163
+ - **Text** — Body text with size, weight, and muted variants
164
+ - **Timeline** — Ordered sequence of events with status markers and a connector line
165
+ - **TreeView** — Hierarchical, expandable tree of nodes with keyboard navigation and selection
166
+ - **UsersTablePage** — Full users management page with table, search, and invite action.
167
+ - **VisuallyHidden** — Hides content visually while keeping it available to screen readers
168
+
169
+ ### Overlay
170
+
171
+ - **AlertDialog** — Confirmation dialog requiring explicit user action; no light-dismiss
172
+ - **CommandMenu** — Cmd+K command palette with fuzzy search over grouped commands
173
+ - **ContextMenu** — Right-click context menu anchored at pointer coordinates via CSS custom properties
174
+ - **Drawer** — Edge-anchored dialog panel that slides in from a screen edge with CSS-only enter/exit motion
175
+ - **Dropdown** — Menu of actions revealed from a trigger
176
+ - **HoverCard** — Hover-triggered popover with configurable open/close delay
177
+ - **Menu** — Dropdown menu with keyboard navigation, built on usePopover
178
+ - **Modal** — Accessible dialog overlay using native <dialog> element
179
+ - **OverflowMenu** — Kebab icon button revealing a menu of row-level actions
180
+ - **Popover** — Anchored floating panel built on CSS Anchor Positioning + Popover API
181
+ - **Sheet** — Slide-in panel from any edge, using popover=manual and @starting-style animations
182
+ - **Toast** — Transient notification surfaced via the useToast hook
183
+ - **Toggletip** — A click-triggered info popover for supplementary, selectable content
184
+ - **Tooltip** — Contextual label shown on hover or focus
185
+
186
+ ### Navigation
187
+
188
+ - **Accordion** — Vertically stacked, collapsible content sections
189
+ - **Breadcrumb** — Shows the current page location within a navigation hierarchy
190
+ - **Dock** — Fixed bottom navigation bar for mobile app shells with up to 5 items
191
+ - **Header** — App top bar with brand, primary navigation links, and an actions slot
192
+ - **HeaderPanel** — Non-modal panel anchored below the shell header at the inline-end edge — hosts notifications, app switcher, user settings
193
+ - **Link** — Styled anchor for navigation, standalone or inline within prose
194
+ - **Menubar** — Horizontal application menu bar with keyboard-navigable dropdown menus
195
+ - **MenuButton** — A button that opens an anchored action menu of one-shot commands
196
+ - **NavigationMenu** — Site navigation bar with links and dropdown flyout panels
197
+ - **Pagination** — Controls for navigating paged data sets, with page size selection
198
+ - **ProgressIndicator** — Shows progress through the steps of a multi-step flow
199
+ - **ShellHeader** — Console application header: brand with prefix, dropdown nav menus, global icon actions, hamburger, skip-to-content
200
+ - **SideNav** — Collapsible sidebar navigation with optional icons and one level of grouping
201
+ - **SkipNav** — Skip link that jumps keyboard users past the navigation to the main content
202
+ - **Steps** — Visual progress indicator for multi-step flows with horizontal and vertical orientations
203
+ - **Switcher** — App/product switcher list — lives inside HeaderPanel, renders links with active indicator and optional dividers
204
+ - **Tabs** — Switch between related panels of content
205
+
206
+ ### Layout
207
+
208
+ - **AppShell** — Sticky-header + full-height side-nav + single-scroll-container layout with an animated, accessible nav toggle.
209
+ - **AppShell** — Full-page application shell with persisted collapsible sidebar. Includes a signal-driven top progress bar with determinate progress, error state, and dismissible error strip.
210
+ - **AspectRatio** — Constrains content to a fixed width-to-height ratio
211
+ - **AuthLayout** — Centered card layout for authentication pages (login, register, forgot password).
212
+ - **AutoGrid** — Media-query-free responsive grid — columns auto-fill based on available space.
213
+ - **Center** — Horizontally centered container with a configurable max-width.
214
+ - **Columns** — Equal-width multi-column layout that collapses to single column on narrow viewports.
215
+ - **Cta** — Call-to-action band — quiet hairline-bordered section with title, description, and centered actions. Replace demo content before shipping.
216
+ - **DashboardLayout** — Dashboard page layout with stats strip, main content area, and optional aside.
217
+ - **FeatureGrid** — Feature section — AutoGrid of items with optional title, description, and icon slots. Icons are optional; the grid works text-only. Replace demo content before shipping.
218
+ - **Grid** — CSS grid layout primitive with responsive column collapsing.
219
+ - **Hero** — Page hero section — centered or split layout with eyebrow, title, description, actions and media slots. Replace demo content before shipping.
220
+ - **Indicator** — Positions an overlay element (badge, dot, count) at a corner of its child
221
+ - **Join** — Groups adjacent children into a seamless joined element by removing interior borders and radii
222
+ - **Masonry** — Masonry layout — native CSS masonry where supported, multi-column fallback elsewhere (fallback orders items top-to-bottom per column).
223
+ - **MediaMasonry** — Masonry gallery section — native CSS masonry where supported, multi-column fallback elsewhere (fallback orders tiles top-to-bottom per column). Tiles style themselves; section provides only the layout shell.
224
+ - **PageFooter** — Site footer — AutoGrid of link groups with a brand/meta bottom row. Renders a <footer> element with a <nav aria-label="Footer"> wrapping the link columns.
225
+ - **PageHeader** — Page-level header with title, description, breadcrumb, and actions slots.
226
+ - **Resizable** — Two-pane splitter whose divider can be dragged or keyboard-nudged to reallocate space
227
+ - **ScrollArea** — A scroll container with styled, slim scrollbars and overflow shadows
228
+ - **Section** — Page-section shell with block padding, centered inner width, and stack gap.
229
+ - **SettingsLayout** — Two-column settings page layout with a fixed-width menu and fluid content area.
230
+ - **Spacer** — Fixed-height spacing block using design token steps.
231
+ - **SplitView** — Resizable two-pane split layout with keyboard and pointer drag support.
232
+ - **Stack** — Overlaps children in a CSS grid stack with a configurable offset to create a card-pile effect
233
+ - **Stack** — Flex layout primitive for vertical or horizontal stacking with gap control.
234
+ - **StatsBand** — KPI strip — horizontal band of stats with optional delta and inline sparkline trend. Wraps via AutoGrid on narrow containers. No visible heading; provide aria-label for accessibility.
235
+
236
+ ### Feedback
237
+
238
+ - **InlineLoading** — Compact inline status indicator that pairs a label with a loading, success, or error state
239
+ - **Notification** — Inline, actionable notification banner that surfaces a titled message with an optional recovery action
240
+ - **Progress** — Horizontal bar showing the completion progress of a tracked operation
241
+ - **ProgressBar** — Shows determinate or indeterminate progress of a task
242
+ - **ProgressCircle** — Circular determinate progress indicator rendered as an SVG arc
243
+ - **RadialProgress** — Circular progress indicator using conic-gradient, with percentage label and variant colors
244
+ - **Spinner** — Indeterminate loading indicator
245
+
246
+ ### Charts
247
+
248
+ - **AreaChart** — Area chart with optional stacking, multi-series support, and hover tooltip.
249
+ - **BarChart** — Bar chart with vertical/horizontal orientation, grouped or stacked modes, and multi-series support.
250
+ - **Boxplot** — Box-and-whisker plot with five-number summary and outlier dots per series.
251
+ - **BubbleChart** — Bubble chart mapping x, y, and size dimensions; radius is area-proportional via sqrt scale.
252
+ - **Bullet** — Bullet chart with background range bands, measure bar, and target tick.
253
+ - **ComboChart** — Combination bar + line chart on shared or dual y-axes.
254
+ - **Heatmap** — Two-dimensional heatmap with band scales and color-mix cell interpolation.
255
+ - **Histogram** — Frequency histogram using Freedman–Diaconis binning with hover tooltips.
256
+ - **Kpi** — KPI card showing a primary metric with optional delta indicator, icon, and sparkline.
257
+ - **LineChart** — Time-series or numeric line chart with multi-series support, hover tooltip, and legend.
258
+ - **Meter** — Progress meter in bar or gauge variant with threshold coloring.
259
+ - **PieChart** — Pie or donut chart with hover segments and optional legend.
260
+ - **Radar** — Radar / spider chart with polar grid rings, spokes, and multi-series polygon overlays.
261
+ - **ScatterChart** — Scatter plot with variable point radius, multi-series, and hover tooltip.
262
+ - **Sparkline** — Compact inline sparkline for embedding trend data in dashboards or KPI cards.
263
+ - **Treemap** — Squarified treemap for visualizing part-to-whole hierarchical data.
264
+
265
+ <!-- COMPONENT_INDEX:END -->
266
+
47
267
  ## Install
48
268
 
49
269
  ```sh
50
270
  pnpm add @cascivo/react
51
271
  ```
52
272
 
53
- ## Components
54
-
55
- | Name | Category | Description |
56
- | -------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
57
- | accordion | navigation | Vertically stacked, collapsible content sections |
58
- | alert | display | Highlights a short, important message inline |
59
- | alert-dialog | overlay | Confirmation dialog requiring explicit user action; no light-dismiss |
60
- | aspect-ratio | layout | Constrains content to a fixed width-to-height ratio |
61
- | avatar | display | Displays a user image with initials fallback |
62
- | badge | display | Small status label or category indicator |
63
- | blockquote | display | Quoted passage with optional attribution footer |
64
- | breadcrumb | navigation | Shows the current page location within a navigation hierarchy |
65
- | button | inputs | Triggers an action or event |
66
- | button-group | inputs | Visually joins a set of related buttons into a single segmented control |
67
- | calendar | inputs | An accessible standalone month-grid date picker. |
68
- | card | display | Container for grouping related content |
69
- | carousel | display | Scroll-snap slide deck with previous/next controls and dot indicators |
70
- | chat-bubble | display | Message bubble for chat and messaging UIs with avatar, name, and timestamp support |
71
- | checkbox | inputs | Binary toggle for forms, with indeterminate support |
72
- | checkbox-card | inputs | Multi-selectable card backed by a native checkbox. Use multiple independent CheckboxCards for multi-select scenarios. |
73
- | code | display | Inline code span for identifiers, commands, and short snippets |
74
- | code-snippet | display | Displays code (inline, single-line, or multi-line) with an optional copy button; no syntax highlighting |
75
- | collapsible | display | A single disclosure region toggled open and closed by its trigger |
76
- | color-picker | inputs | Interactive color selection widget with saturation/lightness area, hue and alpha sliders |
77
- | combobox | inputs | Filterable single-select with an animated custom listbox, built on the dropdown open/close machine |
78
- | command-menu | overlay | Cmd+K command palette with fuzzy search over grouped commands |
79
- | contained-list | display | Labelled list of rows inside a bordered container |
80
- | context-menu | overlay | Right-click context menu anchored at pointer coordinates via CSS custom properties |
81
- | copy-button | inputs | Icon button that copies a value to the clipboard with copied feedback |
82
- | data-list | display | Key-value pairs rendered as a description list |
83
- | data-table | display | Signal-driven data table with client/server sort, filter, pagination, multi-selection, expandable rows, and CSS content-visibility row containment for large datasets |
84
- | date-picker | inputs | An accessible date-picker with a calendar popover. |
85
- | date-range-picker | inputs | A dual-calendar picker for selecting a contiguous date range. |
86
- | dock | navigation | Fixed bottom navigation bar for mobile app shells with up to 5 items |
87
- | drawer | overlay | Edge-anchored dialog panel that slides in from a screen edge with CSS-only enter/exit motion |
88
- | dropdown | overlay | Menu of actions revealed from a trigger |
89
- | editable | inputs | Inline click-to-edit text field |
90
- | empty-state | display | Placeholder for views that have no data to display |
91
- | field | inputs | Form-field wrapper composing label, control, description, and error |
92
- | file-uploader | inputs | Drag-and-drop file upload zone with file list and status indicators. |
93
- | filter | inputs | A group of toggleable pill or outline buttons for filtering content by category |
94
- | form | inputs | Typed signal-based form store (createForm/useForm) with sync/async validation and a thin Form element wrapper |
95
- | header | navigation | App top bar with brand, primary navigation links, and an actions slot |
96
- | header-panel | navigation | Non-modal panel anchored below the shell header at the inline-end edge — hosts notifications, app switcher, user settings |
97
- | heading | display | Section heading with semantic level decoupled from visual size |
98
- | hover-card | overlay | Hover-triggered popover with configurable open/close delay |
99
- | icon-button | inputs | Square, icon-only button with a required accessible label |
100
- | indicator | layout | Positions an overlay element (badge, dot, count) at a corner of its child |
101
- | inline-loading | feedback | Compact inline status indicator that pairs a label with a loading, success, or error state |
102
- | input | inputs | Text input field with optional label, hint, and error state |
103
- | input-group | inputs | Prefix/suffix addon wrapper for Input; InputGroupAddon renders inline icons/units inside the field border; ButtonGroup collapses adjacent button borders |
104
- | item | display | Generic content row primitive with media, content, and action regions |
105
- | join | layout | Groups adjacent children into a seamless joined element by removing interior borders and radii |
106
- | kbd | display | Displays a keyboard key or shortcut |
107
- | label | inputs | Accessible caption for a form control |
108
- | link | navigation | Styled anchor for navigation, standalone or inline within prose |
109
- | list | display | Styled unordered or ordered list with ListItem |
110
- | menu | overlay | Dropdown menu with keyboard navigation, built on usePopover |
111
- | menu-button | navigation | A button that opens an anchored action menu of one-shot commands |
112
- | menubar | navigation | Horizontal application menu bar with keyboard-navigable dropdown menus |
113
- | modal | overlay | Accessible dialog overlay using native <dialog> element |
114
- | multi-select | inputs | Searchable multi-value select with popover listbox |
115
- | native-select | inputs | A styled native <select> that keeps platform form/keyboard behavior with a custom chevron and focus ring |
116
- | navigation-menu | navigation | Site navigation bar with links and dropdown flyout panels |
117
- | notification | feedback | Inline, actionable notification banner that surfaces a titled message with an optional recovery action |
118
- | number-input | inputs | Numeric input with stepper buttons, clamping, precision, and locale formatting |
119
- | otp-input | inputs | Segmented one-time code input |
120
- | overflow-menu | overlay | Kebab icon button revealing a menu of row-level actions |
121
- | pagination | navigation | Controls for navigating paged data sets, with page size selection |
122
- | password-input | inputs | Password input with reveal toggle and optional strength meter |
123
- | popover | overlay | Anchored floating panel built on CSS Anchor Positioning + Popover API |
124
- | progress | feedback | Horizontal bar showing the completion progress of a tracked operation |
125
- | progress-bar | feedback | Shows determinate or indeterminate progress of a task |
126
- | progress-circle | feedback | Circular determinate progress indicator rendered as an SVG arc |
127
- | progress-indicator | navigation | Shows progress through the steps of a multi-step flow |
128
- | prose | display | Wrapper that styles raw descendant HTML — headings, lists, code, quotes, tables |
129
- | radial-progress | feedback | Circular progress indicator using conic-gradient, with percentage label and variant colors |
130
- | radio | inputs | Single choice from a set, grouped with RadioGroup |
131
- | radio-card | inputs | Selectable card backed by a native radio input. Use RadioCardGroup for single-select groups. |
132
- | rating-group | inputs | Star rating input with accessible radio group pattern |
133
- | resizable | layout | Two-pane splitter whose divider can be dragged or keyboard-nudged to reallocate space |
134
- | scroll-area | layout | A scroll container with styled, slim scrollbars and overflow shadows |
135
- | search | inputs | Search input with debounced search callback and clear button |
136
- | segmented-control | inputs | Mutually exclusive toggle group |
137
- | select | inputs | Native select menu styled to match the design system |
138
- | separator | display | Visual or semantic divider between content |
139
- | sheet | overlay | Slide-in panel from any edge, using popover=manual and @starting-style animations |
140
- | shell-header | navigation | Console application header: brand with prefix, dropdown nav menus, global icon actions, hamburger, skip-to-content |
141
- | side-nav | navigation | Collapsible sidebar navigation with optional icons and one level of grouping |
142
- | skeleton | display | Animated loading placeholder that mirrors the shape of pending content |
143
- | skip-nav | navigation | Skip link that jumps keyboard users past the navigation to the main content |
144
- | slider | inputs | Range input for selecting a value within bounds |
145
- | spinner | feedback | Indeterminate loading indicator |
146
- | stack | layout | Overlaps children in a CSS grid stack with a configurable offset to create a card-pile effect |
147
- | stat | display | Displays a key metric with optional delta, trend direction and help text |
148
- | status | display | Colored dot with a label communicating the state of a system or entity |
149
- | steps | navigation | Visual progress indicator for multi-step flows with horizontal and vertical orientations |
150
- | structured-list | display | Tabular row list for scannable data, optionally single-selectable |
151
- | swap | inputs | Animated toggle between two icon/content states with rotate or flip transition |
152
- | switcher | navigation | App/product switcher list — lives inside HeaderPanel, renders links with active indicator and optional dividers |
153
- | tabs | navigation | Switch between related panels of content |
154
- | tag | display | Compact chip for labeling, categorizing, or filtering content |
155
- | tags-input | inputs | Free-form multi-value chip input |
156
- | text | display | Body text with size, weight, and muted variants |
157
- | textarea | inputs | Multi-line text input with optional label, hint, and error state |
158
- | tile | inputs | A selectable card with radio (single) or checkbox (multi) semantics, toggled by click or keyboard |
159
- | time-picker | inputs | Native time input wrapper with label, hint, error, and size variants |
160
- | timeline | display | Ordered sequence of events with status markers and a connector line |
161
- | toast | overlay | Transient notification surfaced via the useToast hook |
162
- | toggle | inputs | On/off switch built as an accessible button |
163
- | toggle-group | inputs | A set of toggle buttons for single or multiple selection |
164
- | toggletip | overlay | A click-triggered info popover for supplementary, selectable content |
165
- | tooltip | overlay | Contextual label shown on hover or focus |
166
- | tree-view | display | Hierarchical, expandable tree of nodes with keyboard navigation and selection |
167
- | visually-hidden | display | Hides content visually while keeping it available to screen readers |
168
- | layout/app-shell | layout | Full-page application shell with persisted collapsible sidebar. Includes a signal-driven top progress bar with determinate progress, error state, and dismissible error strip. |
169
- | layout/auth-layout | layout | Centered card layout for authentication pages (login, register, forgot password). |
170
- | layout/auto-grid | layout | Media-query-free responsive grid — columns auto-fill based on available space. |
171
- | layout/center | layout | Horizontally centered container with a configurable max-width. |
172
- | layout/columns | layout | Equal-width multi-column layout that collapses to single column on narrow viewports. |
173
- | layout/dashboard-layout | layout | Dashboard page layout with stats strip, main content area, and optional aside. |
174
- | layout/grid | layout | CSS grid layout primitive with responsive column collapsing. |
175
- | layout/masonry | layout | Masonry layout — native CSS masonry where supported, multi-column fallback elsewhere (fallback orders items top-to-bottom per column). |
176
- | layout/page-header | layout | Page-level header with title, description, breadcrumb, and actions slots. |
177
- | layout/section | layout | Page-section shell with block padding, centered inner width, and stack gap. |
178
- | layout/settings-layout | layout | Two-column settings page layout with a fixed-width menu and fluid content area. |
179
- | layout/spacer | layout | Fixed-height spacing block using design token steps. |
180
- | layout/split-view | layout | Resizable two-pane split layout with keyboard and pointer drag support. |
181
- | layout/stack | layout | Flex layout primitive for vertical or horizontal stacking with gap control. |
182
- | block/console-app | display | Carbon-parity console shell: ShellHeader + icon-rail SideNav + HeaderPanel notifications/switcher + collapsible aside + main content. |
183
- | block/dashboard-charts | display | Dashboard layout with KPI tiles, line chart, bar chart, and pie chart. |
184
- | block/empty-dashboard | display | Dashboard page showing an empty state with a call-to-action button. |
185
- | block/login-page | display | Authentication login page with email and password form. |
186
- | block/notification-center | display | A list of notification alerts with a mark-all-read action. |
187
- | block/page-with-breadcrumb | display | A centered content page with a breadcrumb navigation and page header. |
188
- | block/settings-form-page | display | Settings page with profile form inside a two-column settings layout. |
189
- | block/sidebar-app | display | Full app shell with collapsible side navigation and top header. |
190
- | block/stats-cards | display | Grid of KPI stat cards with trend badges. |
191
- | block/users-table-page | display | Full users management page with table, search, and invite action. |
192
- | chart/area-chart | chart | Area chart with optional stacking, multi-series support, and hover tooltip. |
193
- | chart/bar-chart | chart | Bar chart with vertical/horizontal orientation, grouped or stacked modes, and multi-series support. |
194
- | chart/boxplot | chart | Box-and-whisker plot with five-number summary and outlier dots per series. |
195
- | chart/bubble-chart | chart | Bubble chart mapping x, y, and size dimensions; radius is area-proportional via sqrt scale. |
196
- | chart/bullet | chart | Bullet chart with background range bands, measure bar, and target tick. |
197
- | chart/combo-chart | chart | Combination bar + line chart on shared or dual y-axes. |
198
- | chart/heatmap | chart | Two-dimensional heatmap with band scales and color-mix cell interpolation. |
199
- | chart/histogram | chart | Frequency histogram using Freedman–Diaconis binning with hover tooltips. |
200
- | chart/kpi | chart | KPI card showing a primary metric with optional delta indicator, icon, and sparkline. |
201
- | chart/line-chart | chart | Time-series or numeric line chart with multi-series support, hover tooltip, and legend. |
202
- | chart/meter | chart | Progress meter in bar or gauge variant with threshold coloring. |
203
- | chart/pie-chart | chart | Pie or donut chart with hover segments and optional legend. |
204
- | chart/radar | chart | Radar / spider chart with polar grid rings, spokes, and multi-series polygon overlays. |
205
- | chart/scatter-chart | chart | Scatter plot with variable point radius, multi-series, and hover tooltip. |
206
- | chart/sparkline | chart | Compact inline sparkline for embedding trend data in dashboards or KPI cards. |
207
- | chart/treemap | chart | Squarified treemap for visualizing part-to-whole hierarchical data. |
208
- | section/cta | layout | Call-to-action band — quiet hairline-bordered section with title, description, and centered actions. Replace demo content before shipping. |
209
- | section/feature-grid | layout | Feature section — AutoGrid of items with optional title, description, and icon slots. Icons are optional; the grid works text-only. Replace demo content before shipping. |
210
- | section/hero | layout | Page hero section — centered or split layout with eyebrow, title, description, actions and media slots. Replace demo content before shipping. |
211
- | section/media-masonry | layout | Masonry gallery section — native CSS masonry where supported, multi-column fallback elsewhere (fallback orders tiles top-to-bottom per column). Tiles style themselves; section provides only the layout shell. |
212
- | section/page-footer | layout | Site footer — AutoGrid of link groups with a brand/meta bottom row. Renders a <footer> element with a <nav aria-label="Footer"> wrapping the link columns. |
213
- | section/stats-band | layout | KPI strip — horizontal band of stats with optional delta and inline sparkline trend. Wraps via AutoGrid on narrow containers. No visible heading; provide aria-label for accessibility. |
214
-
215
273
  ---
216
274
 
217
275
  [cascivo.com](https://cascivo.com) · [Docs](https://docs.cascivo.com) · [Storybook](https://storybook.cascivo.com) · [GitHub](https://github.com/urbanisierung/cascivo) · AI agents: use [`@cascivo/mcp`](https://github.com/urbanisierung/cascivo/tree/main/packages/mcp) and [`registry.json`](https://github.com/urbanisierung/cascivo/blob/main/registry.json) · MIT