@cognitiv/components-web 1.0.4 → 1.1.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 (570) hide show
  1. package/README.md +266 -0
  2. package/dist/components/accordion/accordion.d.ts +30 -0
  3. package/dist/components/accordion/accordion.js +191 -0
  4. package/dist/components/accordion/index.d.ts +25 -0
  5. package/dist/components/accordion/index.js +18 -0
  6. package/dist/components/accordion/styles.d.ts +53 -0
  7. package/dist/components/accordion/styles.js +27 -0
  8. package/dist/components/alert/alert.d.ts +15 -0
  9. package/dist/components/alert/alert.js +152 -0
  10. package/dist/components/alert/index.d.ts +21 -0
  11. package/dist/components/alert/index.js +16 -0
  12. package/dist/components/alert/styles.d.ts +75 -0
  13. package/dist/components/alert/styles.js +36 -0
  14. package/dist/components/alert-dialog/alert-dialog.d.ts +65 -0
  15. package/dist/components/alert-dialog/alert-dialog.js +309 -0
  16. package/dist/components/alert-dialog/index.d.ts +33 -0
  17. package/dist/components/alert-dialog/index.js +22 -0
  18. package/dist/components/alert-dialog/styles.d.ts +174 -0
  19. package/dist/components/alert-dialog/styles.js +71 -0
  20. package/dist/components/autocomplete/autocomplete.d.ts +31 -0
  21. package/dist/components/autocomplete/autocomplete.js +241 -0
  22. package/dist/components/autocomplete/index.d.ts +25 -0
  23. package/dist/components/autocomplete/index.js +18 -0
  24. package/dist/components/autocomplete/styles.d.ts +75 -0
  25. package/dist/components/autocomplete/styles.js +37 -0
  26. package/dist/components/avatar/avatar.d.ts +15 -0
  27. package/dist/components/avatar/avatar.js +93 -0
  28. package/dist/components/avatar/index.d.ts +17 -0
  29. package/dist/components/avatar/index.js +14 -0
  30. package/dist/components/avatar/styles.d.ts +120 -0
  31. package/dist/components/avatar/styles.js +52 -0
  32. package/dist/components/badge/badge.d.ts +19 -0
  33. package/dist/components/badge/badge.js +87 -0
  34. package/dist/components/badge/index.d.ts +17 -0
  35. package/dist/components/badge/index.js +14 -0
  36. package/dist/components/badge/styles.d.ts +177 -0
  37. package/dist/components/badge/styles.js +73 -0
  38. package/dist/components/breadcrumbs/breadcrumbs.d.ts +14 -0
  39. package/dist/components/breadcrumbs/breadcrumbs.js +84 -0
  40. package/dist/components/breadcrumbs/index.d.ts +15 -0
  41. package/dist/components/breadcrumbs/index.js +13 -0
  42. package/dist/components/breadcrumbs/styles.d.ts +45 -0
  43. package/dist/components/breadcrumbs/styles.js +13 -0
  44. package/dist/components/button/button.d.ts +10 -0
  45. package/dist/components/button/button.js +49 -0
  46. package/dist/components/button/index.d.ts +15 -0
  47. package/dist/components/button/index.js +13 -0
  48. package/dist/components/button/styles.d.ts +69 -0
  49. package/dist/components/button/styles.js +37 -0
  50. package/dist/components/button-group/button-group.d.ts +26 -0
  51. package/dist/components/button-group/button-group.js +82 -0
  52. package/dist/components/button-group/index.d.ts +16 -0
  53. package/dist/components/button-group/index.js +14 -0
  54. package/dist/components/button-group/styles.d.ts +57 -0
  55. package/dist/components/button-group/styles.js +31 -0
  56. package/dist/components/calendar/calendar.d.ts +71 -0
  57. package/dist/components/calendar/calendar.js +274 -0
  58. package/dist/components/calendar/index.d.ts +91 -0
  59. package/dist/components/calendar/index.js +29 -0
  60. package/dist/components/calendar/styles.d.ts +78 -0
  61. package/dist/components/calendar/styles.js +35 -0
  62. package/dist/components/calendar-year-picker/calendar-year-picker.d.ts +61 -0
  63. package/dist/components/calendar-year-picker/calendar-year-picker.js +407 -0
  64. package/dist/components/calendar-year-picker/index.d.ts +43 -0
  65. package/dist/components/calendar-year-picker/index.js +18 -0
  66. package/dist/components/calendar-year-picker/styles.d.ts +51 -0
  67. package/dist/components/calendar-year-picker/styles.js +14 -0
  68. package/dist/components/calendar-year-picker/year-picker-context.d.ts +28 -0
  69. package/dist/components/calendar-year-picker/year-picker-context.js +39 -0
  70. package/dist/components/card/card.d.ts +22 -0
  71. package/dist/components/card/card.js +141 -0
  72. package/dist/components/card/index.d.ts +23 -0
  73. package/dist/components/card/index.js +17 -0
  74. package/dist/components/card/styles.d.ts +70 -0
  75. package/dist/components/card/styles.js +34 -0
  76. package/dist/components/checkbox/checkbox.d.ts +22 -0
  77. package/dist/components/checkbox/checkbox.js +124 -0
  78. package/dist/components/checkbox/index.d.ts +19 -0
  79. package/dist/components/checkbox/index.js +15 -0
  80. package/dist/components/checkbox/styles.d.ts +45 -0
  81. package/dist/components/checkbox/styles.js +26 -0
  82. package/dist/components/checkbox-group/checkbox-group.d.ts +14 -0
  83. package/dist/components/checkbox-group/checkbox-group.js +33 -0
  84. package/dist/components/checkbox-group/index.d.ts +3 -0
  85. package/dist/components/checkbox-group/index.js +3 -0
  86. package/dist/components/checkbox-group/styles.d.ts +18 -0
  87. package/dist/components/checkbox-group/styles.js +17 -0
  88. package/dist/components/chip/chip.d.ts +14 -0
  89. package/dist/components/chip/chip.js +67 -0
  90. package/dist/components/chip/index.d.ts +15 -0
  91. package/dist/components/chip/index.js +13 -0
  92. package/dist/components/chip/styles.d.ts +141 -0
  93. package/dist/components/chip/styles.js +59 -0
  94. package/dist/components/close-button/close-button.d.ts +8 -0
  95. package/dist/components/close-button/close-button.js +33 -0
  96. package/dist/components/close-button/index.d.ts +13 -0
  97. package/dist/components/close-button/index.js +12 -0
  98. package/dist/components/close-button/styles.d.ts +15 -0
  99. package/dist/components/close-button/styles.js +16 -0
  100. package/dist/components/color-area/color-area.d.ts +11 -0
  101. package/dist/components/color-area/color-area.js +70 -0
  102. package/dist/components/color-area/index.d.ts +15 -0
  103. package/dist/components/color-area/index.js +13 -0
  104. package/dist/components/color-area/styles.d.ts +33 -0
  105. package/dist/components/color-area/styles.js +22 -0
  106. package/dist/components/color-field/color-field.d.ts +9 -0
  107. package/dist/components/color-field/color-field.js +29 -0
  108. package/dist/components/color-field/index.d.ts +22 -0
  109. package/dist/components/color-field/index.js +18 -0
  110. package/dist/components/color-field/styles.d.ts +18 -0
  111. package/dist/components/color-field/styles.js +17 -0
  112. package/dist/components/color-input-group/color-input-group.d.ts +19 -0
  113. package/dist/components/color-input-group/color-input-group.js +98 -0
  114. package/dist/components/color-input-group/index.d.ts +19 -0
  115. package/dist/components/color-input-group/index.js +15 -0
  116. package/dist/components/color-input-group/styles.d.ts +63 -0
  117. package/dist/components/color-input-group/styles.js +33 -0
  118. package/dist/components/color-picker/color-picker.d.ts +21 -0
  119. package/dist/components/color-picker/color-picker.js +86 -0
  120. package/dist/components/color-picker/index.d.ts +17 -0
  121. package/dist/components/color-picker/index.js +14 -0
  122. package/dist/components/color-picker/styles.d.ts +39 -0
  123. package/dist/components/color-picker/styles.js +12 -0
  124. package/dist/components/color-slider/color-slider.d.ts +50 -0
  125. package/dist/components/color-slider/color-slider.js +205 -0
  126. package/dist/components/color-slider/index.d.ts +19 -0
  127. package/dist/components/color-slider/index.js +15 -0
  128. package/dist/components/color-slider/styles.d.ts +45 -0
  129. package/dist/components/color-slider/styles.js +13 -0
  130. package/dist/components/color-swatch/color-swatch.d.ts +8 -0
  131. package/dist/components/color-swatch/color-swatch.js +31 -0
  132. package/dist/components/color-swatch/index.d.ts +13 -0
  133. package/dist/components/color-swatch/index.js +12 -0
  134. package/dist/components/color-swatch/styles.d.ts +39 -0
  135. package/dist/components/color-swatch/styles.js +25 -0
  136. package/dist/components/color-swatch-picker/color-swatch-picker.d.ts +20 -0
  137. package/dist/components/color-swatch-picker/color-swatch-picker.js +149 -0
  138. package/dist/components/color-swatch-picker/index.d.ts +19 -0
  139. package/dist/components/color-swatch-picker/index.js +15 -0
  140. package/dist/components/color-swatch-picker/styles.d.ts +120 -0
  141. package/dist/components/color-swatch-picker/styles.js +53 -0
  142. package/dist/components/combo-box/combo-box.d.ts +34 -0
  143. package/dist/components/combo-box/combo-box.js +116 -0
  144. package/dist/components/combo-box/index.d.ts +20 -0
  145. package/dist/components/combo-box/index.js +16 -0
  146. package/dist/components/combo-box/styles.d.ts +42 -0
  147. package/dist/components/combo-box/styles.js +25 -0
  148. package/dist/components/date-field/date-field.d.ts +9 -0
  149. package/dist/components/date-field/date-field.js +29 -0
  150. package/dist/components/date-field/index.d.ts +26 -0
  151. package/dist/components/date-field/index.js +20 -0
  152. package/dist/components/date-field/styles.d.ts +18 -0
  153. package/dist/components/date-field/styles.js +17 -0
  154. package/dist/components/date-input-group/date-input-group.d.ts +25 -0
  155. package/dist/components/date-input-group/date-input-group.js +146 -0
  156. package/dist/components/date-input-group/index.d.ts +23 -0
  157. package/dist/components/date-input-group/index.js +17 -0
  158. package/dist/components/date-input-group/styles.d.ts +69 -0
  159. package/dist/components/date-input-group/styles.js +35 -0
  160. package/dist/components/date-picker/date-picker.d.ts +30 -0
  161. package/dist/components/date-picker/date-picker.js +151 -0
  162. package/dist/components/date-picker/index.d.ts +31 -0
  163. package/dist/components/date-picker/index.js +15 -0
  164. package/dist/components/date-picker/styles.d.ts +45 -0
  165. package/dist/components/date-picker/styles.js +13 -0
  166. package/dist/components/date-range-picker/date-range-picker.d.ts +36 -0
  167. package/dist/components/date-range-picker/date-range-picker.js +173 -0
  168. package/dist/components/date-range-picker/index.d.ts +36 -0
  169. package/dist/components/date-range-picker/index.js +16 -0
  170. package/dist/components/date-range-picker/styles.d.ts +51 -0
  171. package/dist/components/date-range-picker/styles.js +14 -0
  172. package/dist/components/description/description.d.ts +9 -0
  173. package/dist/components/description/description.js +22 -0
  174. package/dist/components/description/index.d.ts +13 -0
  175. package/dist/components/description/index.js +12 -0
  176. package/dist/components/description/styles.d.ts +3 -0
  177. package/dist/components/description/styles.js +8 -0
  178. package/dist/components/disclosure/disclosure.d.ts +27 -0
  179. package/dist/components/disclosure/disclosure.js +157 -0
  180. package/dist/components/disclosure/index.d.ts +23 -0
  181. package/dist/components/disclosure/index.js +17 -0
  182. package/dist/components/disclosure/styles.d.ts +29 -0
  183. package/dist/components/disclosure/styles.js +20 -0
  184. package/dist/components/disclosure-group/disclosure-group.d.ts +8 -0
  185. package/dist/components/disclosure-group/disclosure-group.js +35 -0
  186. package/dist/components/disclosure-group/index.d.ts +15 -0
  187. package/dist/components/disclosure-group/index.js +13 -0
  188. package/dist/components/disclosure-group/styles.d.ts +9 -0
  189. package/dist/components/disclosure-group/styles.js +12 -0
  190. package/dist/components/disclosure-group/use-disclosure-group-navigation.d.ts +14 -0
  191. package/dist/components/disclosure-group/use-disclosure-group-navigation.js +51 -0
  192. package/dist/components/drawer/drawer.d.ts +84 -0
  193. package/dist/components/drawer/drawer.js +439 -0
  194. package/dist/components/drawer/index.d.ts +69 -0
  195. package/dist/components/drawer/index.js +22 -0
  196. package/dist/components/drawer/styles.d.ts +126 -0
  197. package/dist/components/drawer/styles.js +54 -0
  198. package/dist/components/dropdown/dropdown.d.ts +38 -0
  199. package/dist/components/dropdown/dropdown.js +156 -0
  200. package/dist/components/dropdown/index.d.ts +29 -0
  201. package/dist/components/dropdown/index.js +20 -0
  202. package/dist/components/dropdown/styles.d.ts +45 -0
  203. package/dist/components/dropdown/styles.js +13 -0
  204. package/dist/components/empty-state/empty-state.d.ts +7 -0
  205. package/dist/components/empty-state/empty-state.js +20 -0
  206. package/dist/components/empty-state/index.d.ts +13 -0
  207. package/dist/components/empty-state/index.js +12 -0
  208. package/dist/components/empty-state/styles.d.ts +3 -0
  209. package/dist/components/empty-state/styles.js +8 -0
  210. package/dist/components/error-message/error-message.d.ts +9 -0
  211. package/dist/components/error-message/error-message.js +22 -0
  212. package/dist/components/error-message/index.d.ts +13 -0
  213. package/dist/components/error-message/index.js +12 -0
  214. package/dist/components/error-message/styles.d.ts +3 -0
  215. package/dist/components/error-message/styles.js +8 -0
  216. package/dist/components/field-error/field-error.d.ts +8 -0
  217. package/dist/components/field-error/field-error.js +21 -0
  218. package/dist/components/field-error/index.d.ts +13 -0
  219. package/dist/components/field-error/index.js +12 -0
  220. package/dist/components/field-error/styles.d.ts +3 -0
  221. package/dist/components/field-error/styles.js +8 -0
  222. package/dist/components/fieldset/fieldset.d.ts +16 -0
  223. package/dist/components/fieldset/fieldset.js +88 -0
  224. package/dist/components/fieldset/index.d.ts +19 -0
  225. package/dist/components/fieldset/index.js +15 -0
  226. package/dist/components/fieldset/styles.d.ts +51 -0
  227. package/dist/components/fieldset/styles.js +14 -0
  228. package/dist/components/form/form.d.ts +7 -0
  229. package/dist/components/form/form.js +13 -0
  230. package/dist/components/form/index.d.ts +11 -0
  231. package/dist/components/form/index.js +11 -0
  232. package/dist/components/header/header.d.ts +7 -0
  233. package/dist/components/header/header.js +21 -0
  234. package/dist/components/header/index.d.ts +9 -0
  235. package/dist/components/header/index.js +10 -0
  236. package/dist/components/header/styles.d.ts +1 -0
  237. package/dist/components/header/styles.js +8 -0
  238. package/dist/components/icons.d.ts +18 -0
  239. package/dist/components/icons.js +243 -0
  240. package/dist/components/index.d.ts +84 -0
  241. package/dist/components/input/index.d.ts +13 -0
  242. package/dist/components/input/index.js +12 -0
  243. package/dist/components/input/input.d.ts +8 -0
  244. package/dist/components/input/input.js +31 -0
  245. package/dist/components/input/styles.d.ts +30 -0
  246. package/dist/components/input/styles.js +22 -0
  247. package/dist/components/input-group/index.d.ts +21 -0
  248. package/dist/components/input-group/index.js +16 -0
  249. package/dist/components/input-group/input-group.d.ts +20 -0
  250. package/dist/components/input-group/input-group.js +129 -0
  251. package/dist/components/input-group/styles.d.ts +63 -0
  252. package/dist/components/input-group/styles.js +33 -0
  253. package/dist/components/input-otp/index.d.ts +22 -0
  254. package/dist/components/input-otp/index.js +21 -0
  255. package/dist/components/input-otp/input-otp.d.ts +26 -0
  256. package/dist/components/input-otp/input-otp.js +139 -0
  257. package/dist/components/input-otp/styles.d.ts +54 -0
  258. package/dist/components/input-otp/styles.js +29 -0
  259. package/dist/components/kbd/index.d.ts +19 -0
  260. package/dist/components/kbd/index.js +15 -0
  261. package/dist/components/kbd/kbd.constants.d.ts +3 -0
  262. package/dist/components/kbd/kbd.constants.js +51 -0
  263. package/dist/components/kbd/kbd.d.ts +24 -0
  264. package/dist/components/kbd/kbd.js +76 -0
  265. package/dist/components/kbd/styles.d.ts +30 -0
  266. package/dist/components/kbd/styles.js +19 -0
  267. package/dist/components/label/index.d.ts +13 -0
  268. package/dist/components/label/index.js +12 -0
  269. package/dist/components/label/label.d.ts +8 -0
  270. package/dist/components/label/label.js +27 -0
  271. package/dist/components/label/styles.d.ts +33 -0
  272. package/dist/components/label/styles.js +24 -0
  273. package/dist/components/link/index.d.ts +15 -0
  274. package/dist/components/link/index.js +13 -0
  275. package/dist/components/link/link.d.ts +10 -0
  276. package/dist/components/link/link.js +59 -0
  277. package/dist/components/link/styles.d.ts +35 -0
  278. package/dist/components/link/styles.js +13 -0
  279. package/dist/components/list-box/index.d.ts +23 -0
  280. package/dist/components/list-box/index.js +18 -0
  281. package/dist/components/list-box/list-box.d.ts +9 -0
  282. package/dist/components/list-box/list-box.js +23 -0
  283. package/dist/components/list-box/styles.d.ts +18 -0
  284. package/dist/components/list-box/styles.js +17 -0
  285. package/dist/components/list-box-item/index.d.ts +15 -0
  286. package/dist/components/list-box-item/index.js +13 -0
  287. package/dist/components/list-box-item/list-box-item.d.ts +15 -0
  288. package/dist/components/list-box-item/list-box-item.js +77 -0
  289. package/dist/components/list-box-item/styles.d.ts +39 -0
  290. package/dist/components/list-box-item/styles.js +24 -0
  291. package/dist/components/list-box-section/index.d.ts +10 -0
  292. package/dist/components/list-box-section/index.js +10 -0
  293. package/dist/components/list-box-section/list-box-section.d.ts +8 -0
  294. package/dist/components/list-box-section/list-box-section.js +22 -0
  295. package/dist/components/list-box-section/styles.d.ts +3 -0
  296. package/dist/components/list-box-section/styles.js +8 -0
  297. package/dist/components/menu/index.d.ts +24 -0
  298. package/dist/components/menu/index.js +18 -0
  299. package/dist/components/menu/menu.d.ts +9 -0
  300. package/dist/components/menu/menu.js +20 -0
  301. package/dist/components/menu/styles.d.ts +3 -0
  302. package/dist/components/menu/styles.js +8 -0
  303. package/dist/components/menu-item/index.d.ts +17 -0
  304. package/dist/components/menu-item/index.js +14 -0
  305. package/dist/components/menu-item/menu-item.d.ts +20 -0
  306. package/dist/components/menu-item/menu-item.js +123 -0
  307. package/dist/components/menu-item/styles.d.ts +42 -0
  308. package/dist/components/menu-item/styles.js +25 -0
  309. package/dist/components/menu-section/index.d.ts +10 -0
  310. package/dist/components/menu-section/index.js +10 -0
  311. package/dist/components/menu-section/menu-section.d.ts +8 -0
  312. package/dist/components/menu-section/menu-section.js +22 -0
  313. package/dist/components/menu-section/styles.d.ts +3 -0
  314. package/dist/components/menu-section/styles.js +8 -0
  315. package/dist/components/meter/index.d.ts +34 -0
  316. package/dist/components/meter/index.js +15 -0
  317. package/dist/components/meter/meter.d.ts +29 -0
  318. package/dist/components/meter/meter.js +108 -0
  319. package/dist/components/meter/styles.d.ts +105 -0
  320. package/dist/components/meter/styles.js +47 -0
  321. package/dist/components/modal/index.d.ts +33 -0
  322. package/dist/components/modal/index.js +22 -0
  323. package/dist/components/modal/modal.d.ts +53 -0
  324. package/dist/components/modal/modal.js +288 -0
  325. package/dist/components/modal/styles.d.ts +168 -0
  326. package/dist/components/modal/styles.js +69 -0
  327. package/dist/components/number-field/index.d.ts +21 -0
  328. package/dist/components/number-field/index.js +16 -0
  329. package/dist/components/number-field/number-field.d.ts +20 -0
  330. package/dist/components/number-field/number-field.js +127 -0
  331. package/dist/components/number-field/styles.d.ts +69 -0
  332. package/dist/components/number-field/styles.js +35 -0
  333. package/dist/components/pagination/index.d.ts +64 -0
  334. package/dist/components/pagination/index.js +21 -0
  335. package/dist/components/pagination/pagination.d.ts +84 -0
  336. package/dist/components/pagination/pagination.js +230 -0
  337. package/dist/components/pagination/styles.d.ts +60 -0
  338. package/dist/components/pagination/styles.js +31 -0
  339. package/dist/components/popover/index.d.ts +23 -0
  340. package/dist/components/popover/index.js +17 -0
  341. package/dist/components/popover/popover.d.ts +24 -0
  342. package/dist/components/popover/popover.js +153 -0
  343. package/dist/components/popover/styles.d.ts +45 -0
  344. package/dist/components/popover/styles.js +13 -0
  345. package/dist/components/progress-bar/index.d.ts +34 -0
  346. package/dist/components/progress-bar/index.js +15 -0
  347. package/dist/components/progress-bar/progress-bar.d.ts +29 -0
  348. package/dist/components/progress-bar/progress-bar.js +108 -0
  349. package/dist/components/progress-bar/styles.d.ts +105 -0
  350. package/dist/components/progress-bar/styles.js +47 -0
  351. package/dist/components/progress-circle/index.d.ts +34 -0
  352. package/dist/components/progress-circle/index.js +15 -0
  353. package/dist/components/progress-circle/progress-circle.d.ts +29 -0
  354. package/dist/components/progress-circle/progress-circle.js +126 -0
  355. package/dist/components/progress-circle/styles.d.ts +105 -0
  356. package/dist/components/progress-circle/styles.js +47 -0
  357. package/dist/components/rac/components.d.ts +1 -0
  358. package/dist/components/rac/index.d.ts +4 -0
  359. package/dist/components/rac/index.js +2 -0
  360. package/dist/components/rac/types.d.ts +3 -0
  361. package/dist/components/rac/utils.d.ts +1 -0
  362. package/dist/components/radio/index.d.ts +19 -0
  363. package/dist/components/radio/index.js +15 -0
  364. package/dist/components/radio/radio.d.ts +21 -0
  365. package/dist/components/radio/radio.js +97 -0
  366. package/dist/components/radio/styles.d.ts +45 -0
  367. package/dist/components/radio/styles.js +13 -0
  368. package/dist/components/radio-group/index.d.ts +13 -0
  369. package/dist/components/radio-group/index.js +12 -0
  370. package/dist/components/radio-group/radio-group.d.ts +8 -0
  371. package/dist/components/radio-group/radio-group.js +27 -0
  372. package/dist/components/radio-group/styles.d.ts +18 -0
  373. package/dist/components/radio-group/styles.js +17 -0
  374. package/dist/components/range-calendar/index.d.ts +91 -0
  375. package/dist/components/range-calendar/index.js +29 -0
  376. package/dist/components/range-calendar/range-calendar.d.ts +71 -0
  377. package/dist/components/range-calendar/range-calendar.js +289 -0
  378. package/dist/components/range-calendar/styles.d.ts +78 -0
  379. package/dist/components/range-calendar/styles.js +35 -0
  380. package/dist/components/scroll-shadow/index.d.ts +21 -0
  381. package/dist/components/scroll-shadow/index.js +13 -0
  382. package/dist/components/scroll-shadow/scroll-shadow.d.ts +32 -0
  383. package/dist/components/scroll-shadow/scroll-shadow.js +76 -0
  384. package/dist/components/scroll-shadow/styles.d.ts +69 -0
  385. package/dist/components/scroll-shadow/styles.js +36 -0
  386. package/dist/components/scroll-shadow/use-scroll-shadow.d.ts +11 -0
  387. package/dist/components/scroll-shadow/use-scroll-shadow.js +121 -0
  388. package/dist/components/search-field/index.d.ts +21 -0
  389. package/dist/components/search-field/index.js +16 -0
  390. package/dist/components/search-field/search-field.d.ts +23 -0
  391. package/dist/components/search-field/search-field.js +127 -0
  392. package/dist/components/search-field/styles.d.ts +69 -0
  393. package/dist/components/search-field/styles.js +35 -0
  394. package/dist/components/select/index.d.ts +21 -0
  395. package/dist/components/select/index.js +16 -0
  396. package/dist/components/select/select.d.ts +24 -0
  397. package/dist/components/select/select.js +140 -0
  398. package/dist/components/select/styles.d.ts +69 -0
  399. package/dist/components/select/styles.js +35 -0
  400. package/dist/components/separator/index.d.ts +13 -0
  401. package/dist/components/separator/index.js +12 -0
  402. package/dist/components/separator/separator.d.ts +8 -0
  403. package/dist/components/separator/separator.js +27 -0
  404. package/dist/components/separator/styles.d.ts +34 -0
  405. package/dist/components/separator/styles.js +23 -0
  406. package/dist/components/skeleton/index.d.ts +13 -0
  407. package/dist/components/skeleton/index.js +12 -0
  408. package/dist/components/skeleton/skeleton.d.ts +7 -0
  409. package/dist/components/skeleton/skeleton.js +25 -0
  410. package/dist/components/skeleton/styles.d.ts +27 -0
  411. package/dist/components/skeleton/styles.js +20 -0
  412. package/dist/components/slider/index.d.ts +23 -0
  413. package/dist/components/slider/index.js +17 -0
  414. package/dist/components/slider/slider.d.ts +23 -0
  415. package/dist/components/slider/slider.js +177 -0
  416. package/dist/components/slider/styles.d.ts +57 -0
  417. package/dist/components/slider/styles.js +15 -0
  418. package/dist/components/spinner/index.d.ts +13 -0
  419. package/dist/components/spinner/index.js +12 -0
  420. package/dist/components/spinner/spinner.d.ts +7 -0
  421. package/dist/components/spinner/spinner.js +88 -0
  422. package/dist/components/spinner/styles.d.ts +45 -0
  423. package/dist/components/spinner/styles.js +27 -0
  424. package/dist/components/surface/index.d.ts +14 -0
  425. package/dist/components/surface/index.js +13 -0
  426. package/dist/components/surface/styles.d.ts +24 -0
  427. package/dist/components/surface/styles.js +19 -0
  428. package/dist/components/surface/surface.d.ts +12 -0
  429. package/dist/components/surface/surface.js +34 -0
  430. package/dist/components/switch/index.d.ts +21 -0
  431. package/dist/components/switch/index.js +16 -0
  432. package/dist/components/switch/styles.d.ts +57 -0
  433. package/dist/components/switch/styles.js +30 -0
  434. package/dist/components/switch/switch.d.ts +20 -0
  435. package/dist/components/switch/switch.js +118 -0
  436. package/dist/components/switch-group/index.d.ts +13 -0
  437. package/dist/components/switch-group/index.js +12 -0
  438. package/dist/components/switch-group/styles.d.ts +39 -0
  439. package/dist/components/switch-group/styles.js +24 -0
  440. package/dist/components/switch-group/switch-group.d.ts +7 -0
  441. package/dist/components/switch-group/switch-group.js +25 -0
  442. package/dist/components/table/index.d.ts +38 -0
  443. package/dist/components/table/index.js +25 -0
  444. package/dist/components/table/styles.d.ts +74 -0
  445. package/dist/components/table/styles.js +37 -0
  446. package/dist/components/table/table.d.ts +50 -0
  447. package/dist/components/table/table.js +283 -0
  448. package/dist/components/tabs/index.d.ts +25 -0
  449. package/dist/components/tabs/index.js +18 -0
  450. package/dist/components/tabs/styles.d.ts +50 -0
  451. package/dist/components/tabs/styles.js +29 -0
  452. package/dist/components/tabs/tabs.d.ts +37 -0
  453. package/dist/components/tabs/tabs.js +156 -0
  454. package/dist/components/tag/index.d.ts +15 -0
  455. package/dist/components/tag/index.js +13 -0
  456. package/dist/components/tag/styles.d.ts +72 -0
  457. package/dist/components/tag/styles.js +36 -0
  458. package/dist/components/tag/tag.d.ts +14 -0
  459. package/dist/components/tag/tag.js +85 -0
  460. package/dist/components/tag-group/index.d.ts +15 -0
  461. package/dist/components/tag-group/index.js +14 -0
  462. package/dist/components/tag-group/styles.d.ts +33 -0
  463. package/dist/components/tag-group/styles.js +11 -0
  464. package/dist/components/tag-group/tag-group.d.ts +20 -0
  465. package/dist/components/tag-group/tag-group.js +59 -0
  466. package/dist/components/text/index.d.ts +13 -0
  467. package/dist/components/text/index.js +12 -0
  468. package/dist/components/text/styles.d.ts +48 -0
  469. package/dist/components/text/styles.js +28 -0
  470. package/dist/components/text/text.d.ts +8 -0
  471. package/dist/components/text/text.js +25 -0
  472. package/dist/components/textarea/index.d.ts +13 -0
  473. package/dist/components/textarea/index.js +12 -0
  474. package/dist/components/textarea/styles.d.ts +30 -0
  475. package/dist/components/textarea/styles.js +22 -0
  476. package/dist/components/textarea/textarea.d.ts +8 -0
  477. package/dist/components/textarea/textarea.js +27 -0
  478. package/dist/components/textfield/index.d.ts +14 -0
  479. package/dist/components/textfield/index.js +13 -0
  480. package/dist/components/textfield/styles.d.ts +18 -0
  481. package/dist/components/textfield/styles.js +17 -0
  482. package/dist/components/textfield/textfield.d.ts +18 -0
  483. package/dist/components/textfield/textfield.js +39 -0
  484. package/dist/components/time-field/index.d.ts +26 -0
  485. package/dist/components/time-field/index.js +20 -0
  486. package/dist/components/time-field/styles.d.ts +18 -0
  487. package/dist/components/time-field/styles.js +17 -0
  488. package/dist/components/time-field/time-field.d.ts +9 -0
  489. package/dist/components/time-field/time-field.js +29 -0
  490. package/dist/components/toast/constants.d.ts +6 -0
  491. package/dist/components/toast/constants.js +15 -0
  492. package/dist/components/toast/index.d.ts +75 -0
  493. package/dist/components/toast/index.js +23 -0
  494. package/dist/components/toast/styles.d.ts +162 -0
  495. package/dist/components/toast/styles.js +66 -0
  496. package/dist/components/toast/toast-queue.d.ts +70 -0
  497. package/dist/components/toast/toast-queue.js +147 -0
  498. package/dist/components/toast/toast.d.ts +69 -0
  499. package/dist/components/toast/toast.js +365 -0
  500. package/dist/components/toggle-button/index.d.ts +13 -0
  501. package/dist/components/toggle-button/index.js +12 -0
  502. package/dist/components/toggle-button/styles.d.ts +42 -0
  503. package/dist/components/toggle-button/styles.js +27 -0
  504. package/dist/components/toggle-button/toggle-button.d.ts +8 -0
  505. package/dist/components/toggle-button/toggle-button.js +36 -0
  506. package/dist/components/toggle-button-group/index.d.ts +16 -0
  507. package/dist/components/toggle-button-group/index.js +14 -0
  508. package/dist/components/toggle-button-group/styles.d.ts +75 -0
  509. package/dist/components/toggle-button-group/styles.js +38 -0
  510. package/dist/components/toggle-button-group/toggle-button-group.d.ts +26 -0
  511. package/dist/components/toggle-button-group/toggle-button-group.js +70 -0
  512. package/dist/components/toolbar/index.d.ts +19 -0
  513. package/dist/components/toolbar/index.js +12 -0
  514. package/dist/components/toolbar/styles.d.ts +28 -0
  515. package/dist/components/toolbar/styles.js +21 -0
  516. package/dist/components/toolbar/toolbar.d.ts +11 -0
  517. package/dist/components/toolbar/toolbar.js +39 -0
  518. package/dist/components/tooltip/index.d.ts +19 -0
  519. package/dist/components/tooltip/index.js +15 -0
  520. package/dist/components/tooltip/styles.d.ts +33 -0
  521. package/dist/components/tooltip/styles.js +11 -0
  522. package/dist/components/tooltip/tooltip.d.ts +20 -0
  523. package/dist/components/tooltip/tooltip.js +106 -0
  524. package/dist/css/base.css +17 -0
  525. package/dist/css/components.css +117 -0
  526. package/dist/css/index.css +22 -0
  527. package/dist/css/themes/default/index.css +5 -0
  528. package/dist/css/themes/default/variables.css +162 -0
  529. package/dist/css/themes/shared/theme.css +191 -0
  530. package/dist/css/utilities.css +56 -0
  531. package/dist/css/variants.css +106 -0
  532. package/dist/hooks/index.d.ts +9 -0
  533. package/dist/hooks/use-css-variable.d.ts +36 -0
  534. package/dist/hooks/use-css-variable.js +72 -0
  535. package/dist/hooks/use-is-hydrated.d.ts +19 -0
  536. package/dist/hooks/use-is-hydrated.js +28 -0
  537. package/dist/hooks/use-isomorphic-layout-effect.d.ts +2 -0
  538. package/dist/hooks/use-isomorphic-layout-effect.js +6 -0
  539. package/dist/hooks/use-list-data.d.ts +111 -0
  540. package/dist/hooks/use-list-data.js +296 -0
  541. package/dist/hooks/use-measured-height.d.ts +4 -0
  542. package/dist/hooks/use-measured-height.js +47 -0
  543. package/dist/hooks/use-media-query.d.ts +6 -0
  544. package/dist/hooks/use-media-query.js +50 -0
  545. package/dist/hooks/use-mounted.d.ts +1 -0
  546. package/dist/hooks/use-mounted.js +15 -0
  547. package/dist/hooks/use-overlay-state.d.ts +52 -0
  548. package/dist/hooks/use-overlay-state.js +70 -0
  549. package/dist/hooks/use-safe-layout-effect.d.ts +2 -0
  550. package/dist/hooks/use-safe-layout-effect.js +6 -0
  551. package/dist/index.d.ts +3 -3740
  552. package/dist/index.js +262 -982
  553. package/dist/styles/components/index.d.ts +83 -0
  554. package/dist/styles/index.d.ts +3 -0
  555. package/dist/styles/utils/index.d.ts +7 -0
  556. package/dist/styles.css +2 -0
  557. package/dist/utils/assertion.d.ts +9 -0
  558. package/dist/utils/assertion.js +3 -0
  559. package/dist/utils/calendar.d.ts +5 -0
  560. package/dist/utils/calendar.js +19 -0
  561. package/dist/utils/children.d.ts +9 -0
  562. package/dist/utils/children.js +17 -0
  563. package/dist/utils/compose.d.ts +7 -0
  564. package/dist/utils/compose.js +18 -0
  565. package/dist/utils/index.d.ts +6 -0
  566. package/dist/utils/logger.d.ts +23 -0
  567. package/dist/utils/tv.d.ts +3 -0
  568. package/dist/utils/variants.d.ts +73 -0
  569. package/package.json +119 -70
  570. package/dist/component-manifest.json +0 -749
package/README.md ADDED
@@ -0,0 +1,266 @@
1
+ # @cognitiv/components-web
2
+
3
+ A modern React UI component library built with Tailwind CSS v4, React Aria Components, and TypeScript. Ships 87 accessible, composable components following compound component patterns inspired by Radix UI.
4
+
5
+ ## Tech Stack
6
+
7
+ | Category | Technology |
8
+ | --------------- | ----------------------------------------------------- |
9
+ | Framework | React 19+ |
10
+ | Styling | Tailwind CSS 4.2, tailwind-variants, tailwind-merge |
11
+ | Accessibility | React Aria Components (Adobe) |
12
+ | Language | TypeScript 6.0 |
13
+ | Bundler | Rollup 4 |
14
+ | Dev Environment | Storybook 10 |
15
+ | Package Manager | npm |
16
+ | Node | v22+ (see `.nvmrc`) |
17
+ | Icons | Iconify + @gravity-ui/icons |
18
+
19
+ ## Prerequisites
20
+
21
+ - **Node.js v22+** — install via [nvm](https://github.com/nvm-sh/nvm):
22
+ ```bash
23
+ nvm install
24
+ nvm use
25
+ ```
26
+ - **npm** (ships with Node)
27
+
28
+ ## Getting Started
29
+
30
+ ```bash
31
+ # Install dependencies
32
+ npm install
33
+
34
+ # Start Storybook dev server (http://127.0.0.1:6006)
35
+ npm run dev
36
+
37
+ # Build the package
38
+ npm run build
39
+ ```
40
+
41
+ ## Scripts
42
+
43
+ | Command | Description |
44
+ | ------------------------ | ---------------------------------------- |
45
+ | `npm run dev` | Start Storybook on port 6006 |
46
+ | `npm run build` | Build with TypeScript declarations |
47
+ | `npm run build:fast` | Build without type declarations (faster) |
48
+ | `npm run build:storybook`| Build static Storybook site |
49
+ | `npm run lint` | Run ESLint |
50
+ | `npm run lint:fix` | Run ESLint with auto-fix |
51
+ | `npm run format` | Check formatting with Prettier |
52
+ | `npm run format:fix` | Fix formatting with Prettier |
53
+ | `npm run typecheck` | Run TypeScript type-checking |
54
+ | `npm run clean` | Remove `dist/` and `node_modules/` |
55
+
56
+ ## Project Structure
57
+
58
+ ```
59
+ ├── src/
60
+ │ ├── components/ # 87 UI components
61
+ │ ├── css/ # Global CSS, theme layers, component CSS imports
62
+ │ ├── styles/ # Utility styles
63
+ │ ├── utils/ # Shared utilities (composeTwRenderProps, etc.)
64
+ │ └── index.ts # Package entry point
65
+ ├── storybook/
66
+ │ ├── .storybook/ # Storybook config (main.ts, preview.tsx)
67
+ │ ├── stories/ # Global/demo stories
68
+ │ └── public/ # Static assets
69
+ ├── config/ # Shared ESLint, Prettier, TypeScript configs
70
+ ├── scripts/ # Build and scaffolding scripts
71
+ ├── infra/ # AWS CDK infrastructure (S3 + CloudFront)
72
+ ├── .claude/ # Claude Code agents and guides
73
+ ├── .agents/ # Installable agent skills
74
+ ├── rollup.config.mjs # Build configuration
75
+ └── package.json
76
+ ```
77
+
78
+ ## Component Architecture
79
+
80
+ Each component follows this file structure:
81
+
82
+ ```
83
+ src/components/button/
84
+ ├── button.tsx # Component implementation (React Aria + compound pattern)
85
+ ├── styles.ts # Tailwind Variants definitions (tv())
86
+ ├── styles.css # BEM CSS implementation (co-located)
87
+ ├── button.stories.tsx # Storybook stories
88
+ └── index.ts # Barrel exports
89
+ ```
90
+
91
+ ### Key Patterns
92
+
93
+ - **Compound components** — Complex components export composable parts (Root, Item, Trigger, Content, etc.) connected via React Context
94
+ - **React Aria foundation** — All components use React Aria for accessibility (ARIA patterns, keyboard navigation, screen reader support)
95
+ - **BEM CSS naming** — `.block`, `.block--modifier`, `.block__element`
96
+ - **Default size pattern** — Base classes include `--md` dimensions; size variants override them
97
+ - **Dual styling** — Components use both `tv()` (tailwind-variants) for variant mapping and co-located `.css` files for BEM classes
98
+
99
+ ### Creating a New Component
100
+
101
+ ```bash
102
+ npm run add:component ComponentName
103
+ ```
104
+
105
+ This scaffolds all files and adds the export to `src/components/index.ts`. Then implement following the patterns in `src/components/accordion/` (compound) or `src/components/button/` (simple).
106
+
107
+ ## Git Conventions
108
+
109
+ This repo enforces [Conventional Commits](https://www.conventionalcommits.org/) via Husky + commitlint.
110
+
111
+ ```
112
+ <type>(<scope>): <message>
113
+ ```
114
+
115
+ **Allowed types:** `feat`, `feature`, `fix`, `refactor`, `docs`, `build`, `test`, `ci`, `chore`, `revert`, `style`
116
+
117
+ ```bash
118
+ # Examples
119
+ git commit -m "feat(components): add Tooltip component"
120
+ git commit -m "fix(button): resolve focus ring not showing"
121
+ git commit -m "refactor(card): migrate to CSS-based styles"
122
+ ```
123
+
124
+ Commits that don't match this format are rejected by the pre-commit hook. Staged files are also auto-linted and formatted via lint-staged.
125
+
126
+ ## Code Quality
127
+
128
+ Before committing, always run:
129
+
130
+ ```bash
131
+ npm run lint && npm run typecheck
132
+ ```
133
+
134
+ ### Linting & Formatting
135
+
136
+ - **ESLint 9** (flat config) with plugins for React, TypeScript, accessibility, import ordering, and Storybook
137
+ - **Prettier** with `prettier-plugin-tailwindcss` and `prettier-plugin-css-order`
138
+ - **Husky** pre-commit hooks run lint-staged on all staged files
139
+
140
+ ### Tailwind CSS Rules
141
+
142
+ Tailwind scans files as plain text. **Never construct class names dynamically:**
143
+
144
+ ```tsx
145
+ // BAD — Tailwind can't detect these
146
+ <div className={`text-${color}-600`} />
147
+ <span className={`button--${size}`} />
148
+
149
+ // GOOD — Use complete class name mappings
150
+ const colorMap = { red: "text-red-600", blue: "text-blue-600" };
151
+ <div className={colorMap[color]} />
152
+ ```
153
+
154
+ ## Storybook
155
+
156
+ Storybook is the primary development environment. It runs on [http://127.0.0.1:6006](http://127.0.0.1:6006).
157
+
158
+ ```bash
159
+ npm run dev
160
+ ```
161
+
162
+ ### Story Conventions
163
+
164
+ - All component stories use the title format: `"Components/ComponentName"`
165
+ - Stories live next to their component: `src/components/button/button.stories.tsx`
166
+ - Global/demo stories live in `storybook/stories/`
167
+
168
+ ### Addons
169
+
170
+ - **@storybook/addon-a11y** — Accessibility auditing
171
+ - **@storybook/addon-docs** — Auto-generated documentation
172
+ - **@storybook/addon-mcp** — MCP server integration (see below)
173
+ - Custom decorators: React Strict Mode, Theme switcher, Reduce Motion, React Scan
174
+
175
+ ## Storybook MCP Server
176
+
177
+ The project includes an MCP (Model Context Protocol) server that exposes Storybook component data to AI agents like Claude Code.
178
+
179
+ ### Setup
180
+
181
+ 1. Start Storybook:
182
+ ```bash
183
+ npm run dev
184
+ ```
185
+
186
+ 2. The MCP server is automatically available at `http://localhost:6006/mcp` (configured in `.mcp.json`).
187
+
188
+ 3. Claude Code will automatically connect to the Storybook MCP when the dev server is running, giving it access to component stories, documentation, and live component context.
189
+
190
+ ### Configuration
191
+
192
+ The MCP server is defined in `.mcp.json` at the project root:
193
+
194
+ ```json
195
+ {
196
+ "mcpServers": {
197
+ "storybook-mcp": {
198
+ "url": "http://localhost:6006/mcp",
199
+ "type": "http"
200
+ }
201
+ }
202
+ }
203
+ ```
204
+
205
+ This is powered by `@storybook/addon-mcp` (v0.4.2) configured in `storybook/.storybook/main.ts`.
206
+
207
+ ## Claude Code Agent Skills
208
+
209
+ This project includes specialized Claude Code agents for common development tasks. These are defined in `.claude/agents/` and are automatically available when using Claude Code in this repository.
210
+
211
+ ### Available Agents
212
+
213
+ | Agent | Color | Purpose |
214
+ | ----- | ----- | ------- |
215
+ | **component-builder** | Blue | Creates new components or updates existing ones. Handles compound component patterns, React Aria integration, variants, and Storybook stories. |
216
+ | **style-migrator** | Orange | Migrates component styles from TypeScript-based `tv()` definitions to CSS-based BEM classes. Preserves all variants and visual styles. |
217
+ | **tailwind-v4-css-expert** | Green | Analyzes, creates, and debugs Tailwind CSS v4 component CSS files. Assists with `@apply` directives, CSS nesting, and Lightning CSS. |
218
+ | **storybook-debugger** | Cyan | Debugs Storybook runtime issues — CSS transformation errors, Tailwind v4 compatibility, and component styling problems. |
219
+
220
+ ### Guides
221
+
222
+ - `.claude/guides/tailwindcss-v4-css-guide.md` — Comprehensive Tailwind CSS v4 reference used by the style-migrator and tailwind-v4-css-expert agents.
223
+
224
+ ### Installed Skills
225
+
226
+ - **npm-updater** (`.agents/skills/npm-updater/`) — Workflow for safely updating npm dependencies with changelog analysis and migration guide discovery.
227
+
228
+ ### Using Agents
229
+
230
+ Agents are invoked automatically by Claude Code when relevant tasks are detected. You can also reference them directly:
231
+
232
+ - Ask Claude Code to "create a new Select component" → triggers **component-builder**
233
+ - Ask to "migrate the chip styles to CSS" → triggers **style-migrator**
234
+ - Ask to "fix the button.css file" → triggers **tailwind-v4-css-expert**
235
+ - Ask to "debug why tooltip is broken in Storybook" → triggers **storybook-debugger**
236
+
237
+ ## CI/CD
238
+
239
+ GitHub Actions workflows in `.github/workflows/`:
240
+
241
+ | Workflow | Trigger | What it does |
242
+ | -------- | ------- | ------------ |
243
+ | `ci.yml` | Pull requests to `main` | Runs ESLint + Prettier checks |
244
+ | `deploy-storybook.yml` | Push to `main` / manual | Builds & deploys Storybook to S3 + CloudFront |
245
+ | `release.yml` | Manual (workflow_dispatch) | Bumps version, builds, publishes to npm |
246
+
247
+ ## Package Consumption
248
+
249
+ Install in a consuming project:
250
+
251
+ ```bash
252
+ npm install @cognitiv/components-web
253
+ ```
254
+
255
+ **Peer dependencies:** React >=19.0.0, React DOM >=19.0.0, Tailwind CSS >=4.0.0
256
+
257
+ Import components and styles:
258
+
259
+ ```tsx
260
+ import { Button } from "@cognitiv/components-web";
261
+ import "@cognitiv/components-web/styles";
262
+ ```
263
+
264
+ ## License
265
+
266
+ MIT
@@ -0,0 +1,30 @@
1
+ import type { AccordionVariants } from "./styles";
2
+ import type { ComponentPropsWithRef } from "react";
3
+ import { Button, Disclosure, DisclosureGroup, Heading as DisclosureHeading, DisclosurePanel } from "react-aria-components";
4
+ interface AccordionRootProps extends ComponentPropsWithRef<typeof DisclosureGroup>, AccordionVariants {
5
+ hideSeparator?: boolean;
6
+ }
7
+ declare const AccordionRoot: ({ children, className, hideSeparator, variant, ...props }: AccordionRootProps) => import("react/jsx-runtime").JSX.Element;
8
+ interface AccordionItemProps extends ComponentPropsWithRef<typeof Disclosure> {
9
+ }
10
+ declare const AccordionItem: ({ className, ...props }: AccordionItemProps) => import("react/jsx-runtime").JSX.Element;
11
+ interface AccordionIndicatorProps extends ComponentPropsWithRef<"svg"> {
12
+ className?: string;
13
+ }
14
+ declare const AccordionIndicator: ({ children, className, ...props }: AccordionIndicatorProps) => import("react/jsx-runtime").JSX.Element;
15
+ interface AccordionHeadingProps extends ComponentPropsWithRef<typeof DisclosureHeading> {
16
+ className?: string;
17
+ }
18
+ declare const AccordionHeading: ({ className, ...props }: AccordionHeadingProps) => import("react/jsx-runtime").JSX.Element;
19
+ interface AccordionTriggerProps extends ComponentPropsWithRef<typeof Button> {
20
+ }
21
+ declare const AccordionTrigger: ({ className, ...props }: AccordionTriggerProps) => import("react/jsx-runtime").JSX.Element;
22
+ interface AccordionBodyProps extends ComponentPropsWithRef<"div"> {
23
+ className?: string;
24
+ }
25
+ declare const AccordionBody: ({ children, className, ...props }: AccordionBodyProps) => import("react/jsx-runtime").JSX.Element;
26
+ interface AccordionPanelProps extends ComponentPropsWithRef<typeof DisclosurePanel> {
27
+ }
28
+ declare const AccordionPanel: ({ children, className, ...props }: AccordionPanelProps) => import("react/jsx-runtime").JSX.Element;
29
+ export { AccordionRoot, AccordionItem, AccordionTrigger, AccordionPanel, AccordionIndicator, AccordionBody, AccordionHeading, };
30
+ export type { AccordionRootProps, AccordionItemProps, AccordionTriggerProps, AccordionPanelProps, AccordionIndicatorProps, AccordionBodyProps, AccordionHeadingProps, };
@@ -0,0 +1,191 @@
1
+ "use client";
2
+ import React__default, { useContext, createContext } from 'react';
3
+ import { DisclosureGroup, Button, DisclosureStateContext, DisclosurePanel, Disclosure, Heading } from 'react-aria-components';
4
+ import { dataAttr } from '../../utils/assertion.js';
5
+ import { composeTwRenderProps, composeSlotClassName } from '../../utils/compose.js';
6
+ import { IconChevronDown } from '../icons.js';
7
+ import { accordionVariants } from './styles.js';
8
+ import { jsx, Fragment } from 'react/jsx-runtime';
9
+ import { SurfaceContext } from '../surface/surface.js';
10
+
11
+ const AccordionContext = /*#__PURE__*/createContext({});
12
+
13
+ /* -------------------------------------------------------------------------------------------------
14
+ * Accordion Root
15
+ * -----------------------------------------------------------------------------------------------*/
16
+
17
+ const AccordionRoot = ({
18
+ children,
19
+ className,
20
+ hideSeparator = false,
21
+ variant,
22
+ ...props
23
+ }) => {
24
+ const slots = React__default.useMemo(() => accordionVariants({
25
+ variant
26
+ }), [variant]);
27
+ const content = /*#__PURE__*/jsx(DisclosureGroup, {
28
+ className: composeTwRenderProps(className, slots.base()),
29
+ "data-slot": "accordion",
30
+ ...props,
31
+ children: values => /*#__PURE__*/jsx(Fragment, {
32
+ children: typeof children === "function" ? children(values) : children
33
+ })
34
+ });
35
+ return /*#__PURE__*/jsx(AccordionContext, {
36
+ value: {
37
+ hideSeparator,
38
+ slots
39
+ },
40
+ children: variant === "surface" ?
41
+ /*#__PURE__*/
42
+ // Allows inner components to apply "on-surface" colors for proper contrast
43
+ jsx(SurfaceContext, {
44
+ value: {
45
+ variant: "default"
46
+ },
47
+ children: content
48
+ }) : content
49
+ });
50
+ };
51
+
52
+ /* -------------------------------------------------------------------------------------------------
53
+ * AccordionItem
54
+ * -----------------------------------------------------------------------------------------------*/
55
+
56
+ const AccordionItem = ({
57
+ className,
58
+ ...props
59
+ }) => {
60
+ const {
61
+ hideSeparator,
62
+ slots
63
+ } = useContext(AccordionContext);
64
+ return /*#__PURE__*/jsx(Disclosure, {
65
+ className: composeTwRenderProps(className, slots?.item()),
66
+ "data-hide-separator": hideSeparator ? "true" : undefined,
67
+ "data-slot": "accordion-item",
68
+ ...props,
69
+ children: props.children
70
+ });
71
+ };
72
+
73
+ /* -------------------------------------------------------------------------------------------------
74
+ * AccordionIndicator
75
+ * -----------------------------------------------------------------------------------------------*/
76
+
77
+ const AccordionIndicator = ({
78
+ children,
79
+ className,
80
+ ...props
81
+ }) => {
82
+ const {
83
+ slots
84
+ } = useContext(AccordionContext);
85
+ const {
86
+ isExpanded
87
+ } = useContext(DisclosureStateContext);
88
+ if (children && /*#__PURE__*/React__default.isValidElement(children)) {
89
+ return /*#__PURE__*/React__default.cloneElement(children, {
90
+ ...props,
91
+ className: composeSlotClassName(slots?.indicator, className),
92
+ "data-expanded": dataAttr(isExpanded),
93
+ "data-slot": "accordion-indicator"
94
+ });
95
+ }
96
+ return /*#__PURE__*/jsx(IconChevronDown, {
97
+ className: composeSlotClassName(slots?.indicator, className),
98
+ "data-expanded": dataAttr(isExpanded),
99
+ "data-slot": "accordion-indicator",
100
+ ...props
101
+ });
102
+ };
103
+
104
+ /* -------------------------------------------------------------------------------------------------
105
+ * AccordionHeading
106
+ * -----------------------------------------------------------------------------------------------*/
107
+
108
+ const AccordionHeading = ({
109
+ className,
110
+ ...props
111
+ }) => {
112
+ const {
113
+ slots
114
+ } = useContext(AccordionContext);
115
+ return /*#__PURE__*/jsx(Heading, {
116
+ className: composeSlotClassName(slots?.heading, className),
117
+ "data-slot": "accordion-heading",
118
+ ...props
119
+ });
120
+ };
121
+
122
+ /* -------------------------------------------------------------------------------------------------
123
+ * AccordionTrigger
124
+ * -----------------------------------------------------------------------------------------------*/
125
+
126
+ const AccordionTrigger = ({
127
+ className,
128
+ ...props
129
+ }) => {
130
+ const {
131
+ slots
132
+ } = useContext(AccordionContext);
133
+ return /*#__PURE__*/jsx(Button, {
134
+ className: composeTwRenderProps(className, slots?.trigger()),
135
+ "data-slot": "accordion-trigger",
136
+ slot: "trigger",
137
+ ...props,
138
+ children: values => /*#__PURE__*/jsx(Fragment, {
139
+ children: typeof props.children === "function" ? props.children(values) : props.children
140
+ })
141
+ });
142
+ };
143
+
144
+ /* -------------------------------------------------------------------------------------------------
145
+ * AccordionBody
146
+ * -----------------------------------------------------------------------------------------------*/
147
+
148
+ const AccordionBody = ({
149
+ children,
150
+ className,
151
+ ...props
152
+ }) => {
153
+ const {
154
+ slots
155
+ } = useContext(AccordionContext);
156
+ return /*#__PURE__*/jsx("div", {
157
+ className: slots?.body({}),
158
+ "data-slot": "accordion-body",
159
+ ...props,
160
+ children: /*#__PURE__*/jsx("div", {
161
+ className: composeSlotClassName(slots?.bodyInner, className),
162
+ children: children
163
+ })
164
+ });
165
+ };
166
+
167
+ /* -------------------------------------------------------------------------------------------------
168
+ * AccordionPanel
169
+ * -----------------------------------------------------------------------------------------------*/
170
+
171
+ const AccordionPanel = ({
172
+ children,
173
+ className,
174
+ ...props
175
+ }) => {
176
+ const {
177
+ slots
178
+ } = useContext(AccordionContext);
179
+ const {
180
+ isExpanded
181
+ } = useContext(DisclosureStateContext);
182
+ return /*#__PURE__*/jsx(DisclosurePanel, {
183
+ className: composeTwRenderProps(className, slots?.panel()),
184
+ "data-expanded": dataAttr(isExpanded),
185
+ "data-slot": "accordion-panel",
186
+ ...props,
187
+ children: children
188
+ });
189
+ };
190
+
191
+ export { AccordionBody, AccordionHeading, AccordionIndicator, AccordionItem, AccordionPanel, AccordionRoot, AccordionTrigger };
@@ -0,0 +1,25 @@
1
+ import type { ComponentProps } from "react";
2
+ import { AccordionBody, AccordionHeading, AccordionIndicator, AccordionItem, AccordionPanel, AccordionRoot, AccordionTrigger } from "./accordion";
3
+ export declare const Accordion: (({ children, className, hideSeparator, variant, ...props }: import("./accordion").AccordionRootProps) => import("react/jsx-runtime").JSX.Element) & {
4
+ Body: ({ children, className, ...props }: import("./accordion").AccordionBodyProps) => import("react/jsx-runtime").JSX.Element;
5
+ Heading: ({ className, ...props }: import("./accordion").AccordionHeadingProps) => import("react/jsx-runtime").JSX.Element;
6
+ Indicator: ({ children, className, ...props }: import("./accordion").AccordionIndicatorProps) => import("react/jsx-runtime").JSX.Element;
7
+ Item: ({ className, ...props }: import("./accordion").AccordionItemProps) => import("react/jsx-runtime").JSX.Element;
8
+ Panel: ({ children, className, ...props }: import("./accordion").AccordionPanelProps) => import("react/jsx-runtime").JSX.Element;
9
+ Root: ({ children, className, hideSeparator, variant, ...props }: import("./accordion").AccordionRootProps) => import("react/jsx-runtime").JSX.Element;
10
+ Trigger: ({ className, ...props }: import("./accordion").AccordionTriggerProps) => import("react/jsx-runtime").JSX.Element;
11
+ };
12
+ export type Accordion = {
13
+ Props: ComponentProps<typeof AccordionRoot>;
14
+ RootProps: ComponentProps<typeof AccordionRoot>;
15
+ ItemProps: ComponentProps<typeof AccordionItem>;
16
+ HeadingProps: ComponentProps<typeof AccordionHeading>;
17
+ TriggerProps: ComponentProps<typeof AccordionTrigger>;
18
+ PanelProps: ComponentProps<typeof AccordionPanel>;
19
+ IndicatorProps: ComponentProps<typeof AccordionIndicator>;
20
+ BodyProps: ComponentProps<typeof AccordionBody>;
21
+ };
22
+ export { AccordionRoot, AccordionItem, AccordionHeading, AccordionTrigger, AccordionPanel, AccordionIndicator, AccordionBody, };
23
+ export type { AccordionRootProps, AccordionRootProps as AccordionProps, AccordionItemProps, AccordionHeadingProps, AccordionTriggerProps, AccordionPanelProps, AccordionIndicatorProps, AccordionBodyProps, } from "./accordion";
24
+ export { accordionVariants } from "./styles";
25
+ export type { AccordionVariants } from "./styles";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ import { AccordionRoot, AccordionTrigger, AccordionPanel, AccordionItem, AccordionIndicator, AccordionHeading, AccordionBody } from './accordion.js';
3
+ export { accordionVariants } from './styles.js';
4
+
5
+ /* -------------------------------------------------------------------------------------------------
6
+ * Compound Component
7
+ * -----------------------------------------------------------------------------------------------*/
8
+ const Accordion = Object.assign(AccordionRoot, {
9
+ Body: AccordionBody,
10
+ Heading: AccordionHeading,
11
+ Indicator: AccordionIndicator,
12
+ Item: AccordionItem,
13
+ Panel: AccordionPanel,
14
+ Root: AccordionRoot,
15
+ Trigger: AccordionTrigger
16
+ });
17
+
18
+ export { Accordion, AccordionBody, AccordionHeading, AccordionIndicator, AccordionItem, AccordionPanel, AccordionRoot, AccordionTrigger };
@@ -0,0 +1,53 @@
1
+ import type { VariantProps } from "tailwind-variants";
2
+ export declare const accordionVariants: import("tailwind-variants").TVReturnType<{
3
+ variant: {
4
+ default: {};
5
+ surface: {
6
+ base: string;
7
+ };
8
+ };
9
+ }, {
10
+ base: string;
11
+ body: string;
12
+ bodyInner: string;
13
+ heading: string;
14
+ indicator: string;
15
+ item: string;
16
+ panel: string;
17
+ trigger: string;
18
+ }, undefined, {
19
+ variant: {
20
+ default: {};
21
+ surface: {
22
+ base: string;
23
+ };
24
+ };
25
+ }, {
26
+ base: string;
27
+ body: string;
28
+ bodyInner: string;
29
+ heading: string;
30
+ indicator: string;
31
+ item: string;
32
+ panel: string;
33
+ trigger: string;
34
+ }, import("tailwind-variants").TVReturnType<{
35
+ variant: {
36
+ default: {};
37
+ surface: {
38
+ base: string;
39
+ };
40
+ };
41
+ }, {
42
+ base: string;
43
+ body: string;
44
+ bodyInner: string;
45
+ heading: string;
46
+ indicator: string;
47
+ item: string;
48
+ panel: string;
49
+ trigger: string;
50
+ }, undefined, unknown, unknown, undefined>>;
51
+ type DisclosureRenderPropsKeys = "isExpanded" | "isDisabled" | "state";
52
+ export type AccordionVariants = Omit<VariantProps<typeof accordionVariants>, DisclosureRenderPropsKeys>;
53
+ export {};
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ import { tv } from 'tailwind-variants';
3
+
4
+ const accordionVariants = tv({
5
+ slots: {
6
+ base: "accordion",
7
+ body: "accordion__body",
8
+ bodyInner: "accordion__body-inner",
9
+ heading: "accordion__heading",
10
+ indicator: "accordion__indicator",
11
+ item: "accordion__item",
12
+ panel: "accordion__panel",
13
+ trigger: "accordion__trigger"
14
+ },
15
+ variants: {
16
+ variant: {
17
+ default: {},
18
+ surface: {
19
+ base: "accordion--surface"
20
+ }
21
+ }
22
+ }
23
+ });
24
+
25
+ // Render props that should be excluded from AccordionVariants (framework-specific)
26
+
27
+ export { accordionVariants };
@@ -0,0 +1,15 @@
1
+ import type { AlertVariants } from "./styles";
2
+ import type { ComponentPropsWithRef } from "react";
3
+ interface AlertRootProps extends ComponentPropsWithRef<"div">, AlertVariants {
4
+ }
5
+ declare const AlertRoot: ({ children, className, status, ...rest }: AlertRootProps) => import("react/jsx-runtime").JSX.Element;
6
+ type AlertIndicatorProps = ComponentPropsWithRef<"div">;
7
+ declare const AlertIndicator: ({ children, className, ...rest }: AlertIndicatorProps) => import("react/jsx-runtime").JSX.Element;
8
+ type AlertContentProps = ComponentPropsWithRef<"div">;
9
+ declare const AlertContent: ({ children, className, ...rest }: AlertContentProps) => import("react/jsx-runtime").JSX.Element;
10
+ type AlertTitleProps = ComponentPropsWithRef<"p">;
11
+ declare const AlertTitle: ({ children, className, ...rest }: AlertTitleProps) => import("react/jsx-runtime").JSX.Element;
12
+ type AlertDescriptionProps = ComponentPropsWithRef<"span">;
13
+ declare const AlertDescription: ({ children, className, ...rest }: AlertDescriptionProps) => import("react/jsx-runtime").JSX.Element;
14
+ export { AlertRoot, AlertIndicator, AlertContent, AlertTitle, AlertDescription };
15
+ export type { AlertRootProps, AlertIndicatorProps, AlertContentProps, AlertTitleProps, AlertDescriptionProps, };