@nebula-demo/ui 0.1.3

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 (366) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/LICENSE +21 -0
  3. package/README.md +109 -0
  4. package/dist/components/Accordion/Accordion.cjs +1 -0
  5. package/dist/components/Accordion/Accordion.d.ts +8 -0
  6. package/dist/components/Accordion/Accordion.d.ts.map +1 -0
  7. package/dist/components/Accordion/Accordion.js +59 -0
  8. package/dist/components/Accordion/index.d.ts +2 -0
  9. package/dist/components/Accordion/index.d.ts.map +1 -0
  10. package/dist/components/AlertDialog/AlertDialog.cjs +1 -0
  11. package/dist/components/AlertDialog/AlertDialog.d.ts +26 -0
  12. package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -0
  13. package/dist/components/AlertDialog/AlertDialog.js +160 -0
  14. package/dist/components/AlertDialog/index.d.ts +3 -0
  15. package/dist/components/AlertDialog/index.d.ts.map +1 -0
  16. package/dist/components/AspectRatio/AspectRatio.cjs +1 -0
  17. package/dist/components/AspectRatio/AspectRatio.d.ts +17 -0
  18. package/dist/components/AspectRatio/AspectRatio.d.ts.map +1 -0
  19. package/dist/components/AspectRatio/AspectRatio.js +45 -0
  20. package/dist/components/AspectRatio/index.d.ts +3 -0
  21. package/dist/components/AspectRatio/index.d.ts.map +1 -0
  22. package/dist/components/Avatar/Avatar.cjs +1 -0
  23. package/dist/components/Avatar/Avatar.d.ts +18 -0
  24. package/dist/components/Avatar/Avatar.d.ts.map +1 -0
  25. package/dist/components/Avatar/Avatar.js +48 -0
  26. package/dist/components/Avatar/Avatar.variants.cjs +1 -0
  27. package/dist/components/Avatar/Avatar.variants.d.ts +7 -0
  28. package/dist/components/Avatar/Avatar.variants.d.ts.map +1 -0
  29. package/dist/components/Avatar/Avatar.variants.js +37 -0
  30. package/dist/components/Avatar/index.d.ts +5 -0
  31. package/dist/components/Avatar/index.d.ts.map +1 -0
  32. package/dist/components/AvatarGroup/AvatarGroup.cjs +1 -0
  33. package/dist/components/AvatarGroup/AvatarGroup.d.ts +19 -0
  34. package/dist/components/AvatarGroup/AvatarGroup.d.ts.map +1 -0
  35. package/dist/components/AvatarGroup/AvatarGroup.js +106 -0
  36. package/dist/components/AvatarGroup/index.d.ts +3 -0
  37. package/dist/components/AvatarGroup/index.d.ts.map +1 -0
  38. package/dist/components/AvatarLabelGroup/AvatarLabelGroup.cjs +1 -0
  39. package/dist/components/AvatarLabelGroup/AvatarLabelGroup.d.ts +19 -0
  40. package/dist/components/AvatarLabelGroup/AvatarLabelGroup.d.ts.map +1 -0
  41. package/dist/components/AvatarLabelGroup/AvatarLabelGroup.js +43 -0
  42. package/dist/components/AvatarLabelGroup/index.d.ts +3 -0
  43. package/dist/components/AvatarLabelGroup/index.d.ts.map +1 -0
  44. package/dist/components/Badge/Badge.cjs +1 -0
  45. package/dist/components/Badge/Badge.d.ts +11 -0
  46. package/dist/components/Badge/Badge.d.ts.map +1 -0
  47. package/dist/components/Badge/Badge.js +70 -0
  48. package/dist/components/Badge/Badge.variants.cjs +1 -0
  49. package/dist/components/Badge/Badge.variants.d.ts +8 -0
  50. package/dist/components/Badge/Badge.variants.d.ts.map +1 -0
  51. package/dist/components/Badge/Badge.variants.js +46 -0
  52. package/dist/components/Badge/index.d.ts +5 -0
  53. package/dist/components/Badge/index.d.ts.map +1 -0
  54. package/dist/components/BadgeCounter/BadgeCounter.cjs +1 -0
  55. package/dist/components/BadgeCounter/BadgeCounter.d.ts +13 -0
  56. package/dist/components/BadgeCounter/BadgeCounter.d.ts.map +1 -0
  57. package/dist/components/BadgeCounter/BadgeCounter.js +43 -0
  58. package/dist/components/BadgeCounter/BadgeCounter.variants.cjs +1 -0
  59. package/dist/components/BadgeCounter/BadgeCounter.variants.d.ts +6 -0
  60. package/dist/components/BadgeCounter/BadgeCounter.variants.d.ts.map +1 -0
  61. package/dist/components/BadgeCounter/BadgeCounter.variants.js +19 -0
  62. package/dist/components/BadgeCounter/index.d.ts +5 -0
  63. package/dist/components/BadgeCounter/index.d.ts.map +1 -0
  64. package/dist/components/Button/Button.cjs +1 -0
  65. package/dist/components/Button/Button.d.ts +13 -0
  66. package/dist/components/Button/Button.d.ts.map +1 -0
  67. package/dist/components/Button/Button.js +23 -0
  68. package/dist/components/Button/Button.variants.cjs +1 -0
  69. package/dist/components/Button/Button.variants.d.ts +7 -0
  70. package/dist/components/Button/Button.variants.d.ts.map +1 -0
  71. package/dist/components/Button/Button.variants.js +40 -0
  72. package/dist/components/Button/index.d.ts +5 -0
  73. package/dist/components/Button/index.d.ts.map +1 -0
  74. package/dist/components/ButtonIcon/ButtonIcon.cjs +1 -0
  75. package/dist/components/ButtonIcon/ButtonIcon.d.ts +13 -0
  76. package/dist/components/ButtonIcon/ButtonIcon.d.ts.map +1 -0
  77. package/dist/components/ButtonIcon/ButtonIcon.js +37 -0
  78. package/dist/components/ButtonIcon/ButtonIcon.variants.cjs +1 -0
  79. package/dist/components/ButtonIcon/ButtonIcon.variants.d.ts +7 -0
  80. package/dist/components/ButtonIcon/ButtonIcon.variants.d.ts.map +1 -0
  81. package/dist/components/ButtonIcon/ButtonIcon.variants.js +37 -0
  82. package/dist/components/ButtonIcon/index.d.ts +5 -0
  83. package/dist/components/ButtonIcon/index.d.ts.map +1 -0
  84. package/dist/components/Calendar/Calendar.cjs +1 -0
  85. package/dist/components/Calendar/Calendar.d.ts +28 -0
  86. package/dist/components/Calendar/Calendar.d.ts.map +1 -0
  87. package/dist/components/Calendar/Calendar.js +365 -0
  88. package/dist/components/Calendar/index.d.ts +3 -0
  89. package/dist/components/Calendar/index.d.ts.map +1 -0
  90. package/dist/components/Card/Card.cjs +1 -0
  91. package/dist/components/Card/Card.d.ts +41 -0
  92. package/dist/components/Card/Card.d.ts.map +1 -0
  93. package/dist/components/Card/Card.js +103 -0
  94. package/dist/components/Card/index.d.ts +3 -0
  95. package/dist/components/Card/index.d.ts.map +1 -0
  96. package/dist/components/Carousel/Carousel.cjs +1 -0
  97. package/dist/components/Carousel/Carousel.d.ts +35 -0
  98. package/dist/components/Carousel/Carousel.d.ts.map +1 -0
  99. package/dist/components/Carousel/Carousel.js +217 -0
  100. package/dist/components/Carousel/index.d.ts +3 -0
  101. package/dist/components/Carousel/index.d.ts.map +1 -0
  102. package/dist/components/Checkbox/Checkbox.cjs +1 -0
  103. package/dist/components/Checkbox/Checkbox.d.ts +17 -0
  104. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  105. package/dist/components/Checkbox/Checkbox.js +68 -0
  106. package/dist/components/Checkbox/index.d.ts +3 -0
  107. package/dist/components/Checkbox/index.d.ts.map +1 -0
  108. package/dist/components/ContextMenu/ContextMenu.cjs +1 -0
  109. package/dist/components/ContextMenu/ContextMenu.d.ts +33 -0
  110. package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -0
  111. package/dist/components/ContextMenu/ContextMenu.js +182 -0
  112. package/dist/components/ContextMenu/index.d.ts +3 -0
  113. package/dist/components/ContextMenu/index.d.ts.map +1 -0
  114. package/dist/components/DatePicker/DatePicker.cjs +1 -0
  115. package/dist/components/DatePicker/DatePicker.d.ts +49 -0
  116. package/dist/components/DatePicker/DatePicker.d.ts.map +1 -0
  117. package/dist/components/DatePicker/DatePicker.js +238 -0
  118. package/dist/components/DatePicker/index.d.ts +3 -0
  119. package/dist/components/DatePicker/index.d.ts.map +1 -0
  120. package/dist/components/Drawer/Drawer.cjs +1 -0
  121. package/dist/components/Drawer/Drawer.d.ts +29 -0
  122. package/dist/components/Drawer/Drawer.d.ts.map +1 -0
  123. package/dist/components/Drawer/Drawer.js +130 -0
  124. package/dist/components/Drawer/index.d.ts +3 -0
  125. package/dist/components/Drawer/index.d.ts.map +1 -0
  126. package/dist/components/DropdownMenu/DropdownMenu.cjs +1 -0
  127. package/dist/components/DropdownMenu/DropdownMenu.d.ts +33 -0
  128. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -0
  129. package/dist/components/DropdownMenu/DropdownMenu.js +184 -0
  130. package/dist/components/DropdownMenu/index.d.ts +3 -0
  131. package/dist/components/DropdownMenu/index.d.ts.map +1 -0
  132. package/dist/components/DropdownSelect/DropdownSelect.cjs +1 -0
  133. package/dist/components/DropdownSelect/DropdownSelect.d.ts +45 -0
  134. package/dist/components/DropdownSelect/DropdownSelect.d.ts.map +1 -0
  135. package/dist/components/DropdownSelect/DropdownSelect.js +342 -0
  136. package/dist/components/DropdownSelect/index.d.ts +3 -0
  137. package/dist/components/DropdownSelect/index.d.ts.map +1 -0
  138. package/dist/components/FileStatus/FileStatus.cjs +1 -0
  139. package/dist/components/FileStatus/FileStatus.d.ts +25 -0
  140. package/dist/components/FileStatus/FileStatus.d.ts.map +1 -0
  141. package/dist/components/FileStatus/FileStatus.js +127 -0
  142. package/dist/components/FileStatus/index.d.ts +3 -0
  143. package/dist/components/FileStatus/index.d.ts.map +1 -0
  144. package/dist/components/FileUpload/FileUpload.cjs +1 -0
  145. package/dist/components/FileUpload/FileUpload.d.ts +38 -0
  146. package/dist/components/FileUpload/FileUpload.d.ts.map +1 -0
  147. package/dist/components/FileUpload/FileUpload.js +151 -0
  148. package/dist/components/FileUpload/index.d.ts +3 -0
  149. package/dist/components/FileUpload/index.d.ts.map +1 -0
  150. package/dist/components/FilterChip/FilterChip.cjs +1 -0
  151. package/dist/components/FilterChip/FilterChip.d.ts +43 -0
  152. package/dist/components/FilterChip/FilterChip.d.ts.map +1 -0
  153. package/dist/components/FilterChip/FilterChip.js +71 -0
  154. package/dist/components/FilterChip/FilterChip.variants.cjs +1 -0
  155. package/dist/components/FilterChip/FilterChip.variants.d.ts +22 -0
  156. package/dist/components/FilterChip/FilterChip.variants.d.ts.map +1 -0
  157. package/dist/components/FilterChip/FilterChip.variants.js +103 -0
  158. package/dist/components/FilterChip/index.d.ts +3 -0
  159. package/dist/components/FilterChip/index.d.ts.map +1 -0
  160. package/dist/components/FilterChipGroup/FilterChipGroup.cjs +1 -0
  161. package/dist/components/FilterChipGroup/FilterChipGroup.d.ts +54 -0
  162. package/dist/components/FilterChipGroup/FilterChipGroup.d.ts.map +1 -0
  163. package/dist/components/FilterChipGroup/FilterChipGroup.js +112 -0
  164. package/dist/components/FilterChipGroup/index.d.ts +3 -0
  165. package/dist/components/FilterChipGroup/index.d.ts.map +1 -0
  166. package/dist/components/Icon/Icon.cjs +1 -0
  167. package/dist/components/Icon/Icon.d.ts +16 -0
  168. package/dist/components/Icon/Icon.d.ts.map +1 -0
  169. package/dist/components/Icon/Icon.js +34 -0
  170. package/dist/components/Icon/icons.cjs +1 -0
  171. package/dist/components/Icon/icons.d.ts +5 -0
  172. package/dist/components/Icon/icons.d.ts.map +1 -0
  173. package/dist/components/Icon/icons.js +1396 -0
  174. package/dist/components/Icon/index.d.ts +5 -0
  175. package/dist/components/Icon/index.d.ts.map +1 -0
  176. package/dist/components/InlineNotification/InlineNotification.cjs +1 -0
  177. package/dist/components/InlineNotification/InlineNotification.d.ts +17 -0
  178. package/dist/components/InlineNotification/InlineNotification.d.ts.map +1 -0
  179. package/dist/components/InlineNotification/InlineNotification.js +80 -0
  180. package/dist/components/InlineNotification/InlineNotification.variants.cjs +1 -0
  181. package/dist/components/InlineNotification/InlineNotification.variants.d.ts +6 -0
  182. package/dist/components/InlineNotification/InlineNotification.variants.d.ts.map +1 -0
  183. package/dist/components/InlineNotification/InlineNotification.variants.js +22 -0
  184. package/dist/components/InlineNotification/index.d.ts +5 -0
  185. package/dist/components/InlineNotification/index.d.ts.map +1 -0
  186. package/dist/components/Input/Input.cjs +1 -0
  187. package/dist/components/Input/Input.d.ts +44 -0
  188. package/dist/components/Input/Input.d.ts.map +1 -0
  189. package/dist/components/Input/Input.js +104 -0
  190. package/dist/components/Input/Input.variants.cjs +1 -0
  191. package/dist/components/Input/Input.variants.d.ts +70 -0
  192. package/dist/components/Input/Input.variants.d.ts.map +1 -0
  193. package/dist/components/Input/Input.variants.js +91 -0
  194. package/dist/components/Input/index.d.ts +3 -0
  195. package/dist/components/Input/index.d.ts.map +1 -0
  196. package/dist/components/InputSearch/InputSearch.cjs +1 -0
  197. package/dist/components/InputSearch/InputSearch.d.ts +62 -0
  198. package/dist/components/InputSearch/InputSearch.d.ts.map +1 -0
  199. package/dist/components/InputSearch/InputSearch.js +289 -0
  200. package/dist/components/InputSearch/index.d.ts +3 -0
  201. package/dist/components/InputSearch/index.d.ts.map +1 -0
  202. package/dist/components/Line/Line.cjs +1 -0
  203. package/dist/components/Line/Line.d.ts +16 -0
  204. package/dist/components/Line/Line.d.ts.map +1 -0
  205. package/dist/components/Line/Line.js +29 -0
  206. package/dist/components/Line/index.d.ts +3 -0
  207. package/dist/components/Line/index.d.ts.map +1 -0
  208. package/dist/components/Pagination/Pagination.cjs +1 -0
  209. package/dist/components/Pagination/Pagination.d.ts +49 -0
  210. package/dist/components/Pagination/Pagination.d.ts.map +1 -0
  211. package/dist/components/Pagination/Pagination.js +225 -0
  212. package/dist/components/Pagination/index.d.ts +3 -0
  213. package/dist/components/Pagination/index.d.ts.map +1 -0
  214. package/dist/components/Popover/Popover.cjs +1 -0
  215. package/dist/components/Popover/Popover.d.ts +11 -0
  216. package/dist/components/Popover/Popover.d.ts.map +1 -0
  217. package/dist/components/Popover/Popover.js +26 -0
  218. package/dist/components/Popover/index.d.ts +3 -0
  219. package/dist/components/Popover/index.d.ts.map +1 -0
  220. package/dist/components/ProgressBar/ProgressBar.cjs +1 -0
  221. package/dist/components/ProgressBar/ProgressBar.d.ts +23 -0
  222. package/dist/components/ProgressBar/ProgressBar.d.ts.map +1 -0
  223. package/dist/components/ProgressBar/ProgressBar.js +74 -0
  224. package/dist/components/ProgressBar/index.d.ts +3 -0
  225. package/dist/components/ProgressBar/index.d.ts.map +1 -0
  226. package/dist/components/ProgressCircle/ProgressCircle.cjs +1 -0
  227. package/dist/components/ProgressCircle/ProgressCircle.d.ts +23 -0
  228. package/dist/components/ProgressCircle/ProgressCircle.d.ts.map +1 -0
  229. package/dist/components/ProgressCircle/ProgressCircle.js +155 -0
  230. package/dist/components/ProgressCircle/index.d.ts +3 -0
  231. package/dist/components/ProgressCircle/index.d.ts.map +1 -0
  232. package/dist/components/RadioGroup/RadioGroup.cjs +1 -0
  233. package/dist/components/RadioGroup/RadioGroup.d.ts +22 -0
  234. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -0
  235. package/dist/components/RadioGroup/RadioGroup.js +75 -0
  236. package/dist/components/RadioGroup/index.d.ts +3 -0
  237. package/dist/components/RadioGroup/index.d.ts.map +1 -0
  238. package/dist/components/ScrollArea/ScrollArea.cjs +1 -0
  239. package/dist/components/ScrollArea/ScrollArea.d.ts +8 -0
  240. package/dist/components/ScrollArea/ScrollArea.d.ts.map +1 -0
  241. package/dist/components/ScrollArea/ScrollArea.js +10 -0
  242. package/dist/components/ScrollArea/index.d.ts +3 -0
  243. package/dist/components/ScrollArea/index.d.ts.map +1 -0
  244. package/dist/components/Select/Select.cjs +1 -0
  245. package/dist/components/Select/Select.d.ts +12 -0
  246. package/dist/components/Select/Select.d.ts.map +1 -0
  247. package/dist/components/Select/Select.js +171 -0
  248. package/dist/components/Select/index.d.ts +2 -0
  249. package/dist/components/Select/index.d.ts.map +1 -0
  250. package/dist/components/Skeleton/Skeleton.cjs +1 -0
  251. package/dist/components/Skeleton/Skeleton.d.ts +8 -0
  252. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -0
  253. package/dist/components/Skeleton/Skeleton.js +22 -0
  254. package/dist/components/Skeleton/index.d.ts +3 -0
  255. package/dist/components/Skeleton/index.d.ts.map +1 -0
  256. package/dist/components/Slider/Slider.cjs +1 -0
  257. package/dist/components/Slider/Slider.d.ts +19 -0
  258. package/dist/components/Slider/Slider.d.ts.map +1 -0
  259. package/dist/components/Slider/Slider.js +101 -0
  260. package/dist/components/Slider/index.d.ts +3 -0
  261. package/dist/components/Slider/index.d.ts.map +1 -0
  262. package/dist/components/Switch/Switch.cjs +1 -0
  263. package/dist/components/Switch/Switch.d.ts +10 -0
  264. package/dist/components/Switch/Switch.d.ts.map +1 -0
  265. package/dist/components/Switch/Switch.js +20 -0
  266. package/dist/components/Switch/Switch.variants.cjs +1 -0
  267. package/dist/components/Switch/Switch.variants.d.ts +7 -0
  268. package/dist/components/Switch/Switch.variants.d.ts.map +1 -0
  269. package/dist/components/Switch/Switch.variants.js +39 -0
  270. package/dist/components/Switch/index.d.ts +4 -0
  271. package/dist/components/Switch/index.d.ts.map +1 -0
  272. package/dist/components/SwitchGroup/SwitchGroup.cjs +1 -0
  273. package/dist/components/SwitchGroup/SwitchGroup.d.ts +24 -0
  274. package/dist/components/SwitchGroup/SwitchGroup.d.ts.map +1 -0
  275. package/dist/components/SwitchGroup/SwitchGroup.js +36 -0
  276. package/dist/components/SwitchGroup/SwitchGroup.variants.cjs +1 -0
  277. package/dist/components/SwitchGroup/SwitchGroup.variants.d.ts +4 -0
  278. package/dist/components/SwitchGroup/SwitchGroup.variants.d.ts.map +1 -0
  279. package/dist/components/SwitchGroup/SwitchGroup.variants.js +5 -0
  280. package/dist/components/SwitchGroup/index.d.ts +3 -0
  281. package/dist/components/SwitchGroup/index.d.ts.map +1 -0
  282. package/dist/components/TabNavigation/TabNavigation.cjs +1 -0
  283. package/dist/components/TabNavigation/TabNavigation.d.ts +31 -0
  284. package/dist/components/TabNavigation/TabNavigation.d.ts.map +1 -0
  285. package/dist/components/TabNavigation/TabNavigation.js +107 -0
  286. package/dist/components/TabNavigation/index.d.ts +4 -0
  287. package/dist/components/TabNavigation/index.d.ts.map +1 -0
  288. package/dist/components/Table/Table.cjs +1 -0
  289. package/dist/components/Table/Table.d.ts +103 -0
  290. package/dist/components/Table/Table.d.ts.map +1 -0
  291. package/dist/components/Table/Table.js +278 -0
  292. package/dist/components/Table/index.d.ts +3 -0
  293. package/dist/components/Table/index.d.ts.map +1 -0
  294. package/dist/components/TablePagination/TablePagination.cjs +1 -0
  295. package/dist/components/TablePagination/TablePagination.d.ts +26 -0
  296. package/dist/components/TablePagination/TablePagination.d.ts.map +1 -0
  297. package/dist/components/TablePagination/TablePagination.js +80 -0
  298. package/dist/components/TablePagination/index.d.ts +3 -0
  299. package/dist/components/TablePagination/index.d.ts.map +1 -0
  300. package/dist/components/Tag/Tag.cjs +1 -0
  301. package/dist/components/Tag/Tag.d.ts +25 -0
  302. package/dist/components/Tag/Tag.d.ts.map +1 -0
  303. package/dist/components/Tag/Tag.js +84 -0
  304. package/dist/components/Tag/Tag.variants.cjs +1 -0
  305. package/dist/components/Tag/Tag.variants.d.ts +8 -0
  306. package/dist/components/Tag/Tag.variants.d.ts.map +1 -0
  307. package/dist/components/Tag/Tag.variants.js +41 -0
  308. package/dist/components/Tag/TagGroup.cjs +1 -0
  309. package/dist/components/Tag/TagGroup.d.ts +8 -0
  310. package/dist/components/Tag/TagGroup.d.ts.map +1 -0
  311. package/dist/components/Tag/TagGroup.js +20 -0
  312. package/dist/components/Tag/TagGroup.variants.cjs +1 -0
  313. package/dist/components/Tag/TagGroup.variants.d.ts +6 -0
  314. package/dist/components/Tag/TagGroup.variants.d.ts.map +1 -0
  315. package/dist/components/Tag/TagGroup.variants.js +16 -0
  316. package/dist/components/Tag/index.d.ts +9 -0
  317. package/dist/components/Tag/index.d.ts.map +1 -0
  318. package/dist/components/Textarea/Textarea.cjs +1 -0
  319. package/dist/components/Textarea/Textarea.d.ts +54 -0
  320. package/dist/components/Textarea/Textarea.d.ts.map +1 -0
  321. package/dist/components/Textarea/Textarea.js +162 -0
  322. package/dist/components/Textarea/Textarea.variants.cjs +1 -0
  323. package/dist/components/Textarea/Textarea.variants.d.ts +60 -0
  324. package/dist/components/Textarea/Textarea.variants.d.ts.map +1 -0
  325. package/dist/components/Textarea/Textarea.variants.js +116 -0
  326. package/dist/components/Textarea/index.d.ts +3 -0
  327. package/dist/components/Textarea/index.d.ts.map +1 -0
  328. package/dist/components/Toast/Toast.cjs +1 -0
  329. package/dist/components/Toast/Toast.d.ts +71 -0
  330. package/dist/components/Toast/Toast.d.ts.map +1 -0
  331. package/dist/components/Toast/Toast.js +242 -0
  332. package/dist/components/Toast/index.d.ts +3 -0
  333. package/dist/components/Toast/index.d.ts.map +1 -0
  334. package/dist/components/Toggle/Toggle.cjs +1 -0
  335. package/dist/components/Toggle/Toggle.d.ts +18 -0
  336. package/dist/components/Toggle/Toggle.d.ts.map +1 -0
  337. package/dist/components/Toggle/Toggle.js +60 -0
  338. package/dist/components/Toggle/Toggle.variants.cjs +1 -0
  339. package/dist/components/Toggle/Toggle.variants.d.ts +13 -0
  340. package/dist/components/Toggle/Toggle.variants.d.ts.map +1 -0
  341. package/dist/components/Toggle/Toggle.variants.js +76 -0
  342. package/dist/components/Toggle/index.d.ts +4 -0
  343. package/dist/components/Toggle/index.d.ts.map +1 -0
  344. package/dist/components/Tooltip/Tooltip.cjs +1 -0
  345. package/dist/components/Tooltip/Tooltip.d.ts +13 -0
  346. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
  347. package/dist/components/Tooltip/Tooltip.js +41 -0
  348. package/dist/components/Tooltip/index.d.ts +3 -0
  349. package/dist/components/Tooltip/index.d.ts.map +1 -0
  350. package/dist/components/_shared/SelectionIndicators.cjs +1 -0
  351. package/dist/components/_shared/SelectionIndicators.d.ts +33 -0
  352. package/dist/components/_shared/SelectionIndicators.d.ts.map +1 -0
  353. package/dist/components/_shared/SelectionIndicators.js +49 -0
  354. package/dist/index.cjs +1 -0
  355. package/dist/index.d.ts +96 -0
  356. package/dist/index.d.ts.map +1 -0
  357. package/dist/index.js +202 -0
  358. package/dist/utils/cn.cjs +1 -0
  359. package/dist/utils/cn.d.ts +3 -0
  360. package/dist/utils/cn.d.ts.map +1 -0
  361. package/dist/utils/cn.js +9 -0
  362. package/dist/utils/focusRing.cjs +1 -0
  363. package/dist/utils/focusRing.d.ts +20 -0
  364. package/dist/utils/focusRing.d.ts.map +1 -0
  365. package/dist/utils/focusRing.js +5 -0
  366. package/package.json +82 -0
@@ -0,0 +1,151 @@
1
+ import { jsx as n, jsxs as v } from "react/jsx-runtime";
2
+ import * as t from "react";
3
+ import { cn as w } from "../../utils/cn.js";
4
+ import { FOCUS_RING as G } from "../../utils/focusRing.js";
5
+ import { Icon as X } from "../Icon/Icon.js";
6
+ const _ = t.forwardRef(
7
+ ({
8
+ name: I,
9
+ accept: o,
10
+ multiple: c = !1,
11
+ maxSize: l,
12
+ disabled: r = !1,
13
+ files: p,
14
+ icon: L,
15
+ instructionTextStrong: $ = "Select to upload",
16
+ instructionTextNormal: O = "or drag and drop",
17
+ uploadSpecificationText: b = "PDF or TXT files only (3 MB max)",
18
+ ariaLabel: R = "File upload drop zone",
19
+ onChange: d,
20
+ onDrag: x,
21
+ onDrop: g,
22
+ onError: u,
23
+ className: A,
24
+ ...M
25
+ }, P) => {
26
+ const k = t.useId(), D = `${k}-file-input`, m = `${k}-file-spec`, [T, h] = t.useState(!1), y = t.useRef(null), C = t.useCallback(
27
+ (e) => {
28
+ const a = [];
29
+ for (const i of e) {
30
+ if (o) {
31
+ const W = o.split(",").map((s) => s.trim().toLowerCase()), z = `.${i.name.split(".").pop()?.toLowerCase()}`, N = i.type.toLowerCase();
32
+ if (!W.some(
33
+ (s) => s === z || s === N || s.endsWith("/*") && N.startsWith(s.replace("/*", "/"))
34
+ )) {
35
+ u?.(new Error(`File "${i.name}" is not an accepted file type.`));
36
+ continue;
37
+ }
38
+ }
39
+ if (l && i.size > l) {
40
+ u?.(
41
+ new Error(
42
+ `File "${i.name}" exceeds the maximum size of ${Math.round(l / 1024 / 1024)} MB.`
43
+ )
44
+ );
45
+ continue;
46
+ }
47
+ a.push(i);
48
+ }
49
+ return a;
50
+ },
51
+ [o, l, u]
52
+ ), f = t.useCallback(
53
+ (e) => {
54
+ const a = C(e);
55
+ a.length !== 0 && d?.(p !== void 0 && c ? [...p, ...a] : a);
56
+ },
57
+ [C, p, d, c]
58
+ ), E = t.useCallback(
59
+ (e) => {
60
+ const a = e.target.files;
61
+ !a || a.length === 0 || (f(Array.from(a)), e.target.value = "");
62
+ },
63
+ [f]
64
+ ), F = t.useCallback(
65
+ (e) => {
66
+ e.preventDefault(), e.stopPropagation(), !r && (h(!0), x?.(e));
67
+ },
68
+ [r, x]
69
+ ), U = t.useCallback((e) => {
70
+ e.preventDefault(), e.stopPropagation(), h(!1);
71
+ }, []), j = t.useCallback(
72
+ (e) => {
73
+ if (e.preventDefault(), e.stopPropagation(), h(!1), r) return;
74
+ const a = Array.from(e.dataTransfer.files);
75
+ if (a.length === 0) return;
76
+ const i = c ? a : [a[0]];
77
+ g?.(i), f(i);
78
+ },
79
+ [r, c, g, f]
80
+ ), B = t.useCallback(() => {
81
+ r || y.current?.click();
82
+ }, [r]), K = t.useCallback(
83
+ (e) => {
84
+ r || (e.key === "Enter" || e.key === " ") && (e.preventDefault(), y.current?.click());
85
+ },
86
+ [r]
87
+ );
88
+ return /* @__PURE__ */ n("div", { ref: P, className: w("cai-w-full", A), ...M, children: /* @__PURE__ */ v("label", { htmlFor: D, className: "cai-block cai-cursor-pointer", children: [
89
+ /* @__PURE__ */ v(
90
+ "div",
91
+ {
92
+ role: "button",
93
+ tabIndex: r ? -1 : 0,
94
+ "aria-label": R,
95
+ "aria-disabled": r || void 0,
96
+ "aria-describedby": m,
97
+ onDragOver: F,
98
+ onDragEnter: F,
99
+ onDragLeave: U,
100
+ onDrop: j,
101
+ onClick: B,
102
+ onKeyDown: K,
103
+ className: w(
104
+ "cai-flex cai-w-full cai-flex-col cai-items-center",
105
+ "cai-rounded-xl cai-border",
106
+ "cai-bg-secondary cai-px-3xl cai-py-4xl",
107
+ "cai-transition-colors cai-cursor-pointer",
108
+ G,
109
+ T ? "cai-border-2 cai-border-brand-primary" : "cai-border-tertiary hover:cai-border-brand-primary",
110
+ r && "cai-pointer-events-none cai-opacity-40"
111
+ ),
112
+ children: [
113
+ /* @__PURE__ */ n("span", { className: "cai-text-primary cai-mb-2", children: L ?? /* @__PURE__ */ n(X, { name: "upload-02", size: 24 }) }),
114
+ /* @__PURE__ */ v("div", { className: "cai-font-sans cai-text-base", children: [
115
+ /* @__PURE__ */ n("span", { className: "cai-font-semibold cai-text-primary", children: $ }),
116
+ /* @__PURE__ */ n("span", { className: "cai-ml-1 cai-font-medium cai-text-secondary", children: O })
117
+ ] }),
118
+ b && /* @__PURE__ */ n(
119
+ "p",
120
+ {
121
+ id: m,
122
+ className: "cai-font-sans cai-text-sm cai-font-normal cai-text-tertiary cai-mt-1",
123
+ children: b
124
+ }
125
+ )
126
+ ]
127
+ }
128
+ ),
129
+ /* @__PURE__ */ n(
130
+ "input",
131
+ {
132
+ ref: y,
133
+ id: D,
134
+ type: "file",
135
+ name: I,
136
+ accept: o,
137
+ multiple: c,
138
+ disabled: r,
139
+ onChange: E,
140
+ "aria-describedby": m,
141
+ className: "cai-sr-only",
142
+ tabIndex: -1
143
+ }
144
+ )
145
+ ] }) });
146
+ }
147
+ );
148
+ _.displayName = "FileUpload";
149
+ export {
150
+ _ as FileUpload
151
+ };
@@ -0,0 +1,3 @@
1
+ export { FileUpload } from './FileUpload';
2
+ export type { FileUploadProps } from './FileUpload';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),k=require("react"),j=require("../../utils/cn.cjs"),h=require("./FilterChip.variants.cjs"),g=require("../Icon/Icon.cjs");function q(e){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const a in e)if(a!=="default"){const t=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(s,a,t.get?t:{enumerable:!0,get:()=>e[a]})}}return s.default=e,Object.freeze(s)}const C=q(k),N=C.forwardRef(({type:e="selectable",variant:s="primary",size:a="sm",selected:t=!1,open:o=!1,disabled:r=!1,onSelect:f,onOpen:u,onDismiss:m,icon:d,avatar:p,children:n,value:I,className:v,onClick:x,..._},w)=>{const b=h.FILTER_CHIP_ICON_SIZES[a??"sm"],O=C.useCallback(S=>{r||(x?.(S),e==="selectable"&&f?.(),e==="dropdown"&&u?.(),e==="dismissible"&&m?.())},[r,x,e,f,u,m]);let c=null;e==="dropdown"?c=i.jsx("span",{className:j.cn("cai-flex cai-items-center cai-transition-transform cai-duration-150",o&&"cai-rotate-180"),children:i.jsx(g.Icon,{name:"chevron-down",size:b-2})}):e==="dismissible"&&(c=i.jsx("span",{className:"cai-flex cai-items-center",children:i.jsx(g.Icon,{name:"x-close",size:b-2})}));let l=null;p?l=i.jsx("span",{className:"cai-flex cai-items-center cai-shrink-0",children:p}):d&&(l=i.jsx("span",{className:"cai-flex cai-items-center cai-shrink-0",children:d}));const R=e==="dropdown"?{"aria-haspopup":"listbox","aria-expanded":o}:e==="dismissible"?{"aria-label":typeof n=="string"?`Remove ${n}`:void 0}:{"aria-pressed":t};return i.jsxs("button",{ref:w,type:"button","aria-disabled":r||void 0,disabled:r,"data-value":I,onClick:O,className:j.cn(h.filterChipVariants({variant:s,size:a,selected:t,disabled:r}),v),...R,..._,children:[l,i.jsx("span",{className:"cai-truncate",children:n}),c]})});N.displayName="FilterChip";exports.FilterChip=N;
@@ -0,0 +1,43 @@
1
+ import { FilterChipVariantsProps } from './FilterChip.variants';
2
+ import * as React from 'react';
3
+ export interface FilterChipProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'type'>, Omit<FilterChipVariantsProps, 'disabled'> {
4
+ /** Chip behavior type. Defaults to 'selectable'. */
5
+ type?: 'selectable' | 'dropdown' | 'dismissible';
6
+ /**
7
+ * Visual selected state. Indicates the chip has an active filter applied
8
+ * (e.g. "Price Range (1)" with one selection inside its dropdown). For a
9
+ * dropdown chip, `selected` and `open` are independent: a chip can be
10
+ * closed-but-selected (filter applied, menu collapsed) or open-but-unselected
11
+ * (menu expanded, no filter chosen yet).
12
+ */
13
+ selected?: boolean;
14
+ /**
15
+ * Dropdown popover open state. Drives chevron rotation and `aria-expanded`.
16
+ * Only meaningful for `type="dropdown"`.
17
+ */
18
+ open?: boolean;
19
+ /** Disables interaction. */
20
+ disabled?: boolean;
21
+ /** Toggle handler for selectable chips. */
22
+ onSelect?: () => void;
23
+ /** Open handler for dropdown chips. */
24
+ onOpen?: () => void;
25
+ /** Remove handler for dismissible chips. */
26
+ onDismiss?: () => void;
27
+ /** Optional leading icon element. */
28
+ icon?: React.ReactNode;
29
+ /** Optional leading avatar element. */
30
+ avatar?: React.ReactNode;
31
+ /** Label text. */
32
+ children: React.ReactNode;
33
+ /**
34
+ * Stable identifier for the chip, surfaced as `data-value` and used by
35
+ * FilterChipGroup to coordinate selection state across child chips.
36
+ */
37
+ value?: string;
38
+ /** Additional class names. */
39
+ className?: string;
40
+ }
41
+ declare const FilterChip: React.ForwardRefExoticComponent<FilterChipProps & React.RefAttributes<HTMLButtonElement>>;
42
+ export { FilterChip };
43
+ //# sourceMappingURL=FilterChip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterChip.d.ts","sourceRoot":"","sources":["../../../src/components/FilterChip/FilterChip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAA;AAM9B,MAAM,WAAW,eACf,SACE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,EAC3D,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC;IAC3C,oDAAoD;IACpD,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,aAAa,CAAA;IAChD;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,qCAAqC;IACrC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,uCAAuC;IACvC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,kBAAkB;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD,QAAA,MAAM,UAAU,2FA+Ff,CAAA;AAID,OAAO,EAAE,UAAU,EAAE,CAAA"}
@@ -0,0 +1,71 @@
1
+ import { jsx as a, jsxs as F } from "react/jsx-runtime";
2
+ import * as x from "react";
3
+ import { cn as N } from "../../utils/cn.js";
4
+ import { filterChipVariants as _, FILTER_CHIP_ICON_SIZES as j } from "./FilterChip.variants.js";
5
+ import { Icon as b } from "../Icon/Icon.js";
6
+ const z = x.forwardRef(
7
+ ({
8
+ type: i = "selectable",
9
+ variant: C = "primary",
10
+ size: n = "sm",
11
+ selected: t = !1,
12
+ open: c = !1,
13
+ disabled: e = !1,
14
+ onSelect: o,
15
+ onOpen: m,
16
+ onDismiss: f,
17
+ icon: p,
18
+ avatar: d,
19
+ children: s,
20
+ value: I,
21
+ className: w,
22
+ onClick: h,
23
+ ...k
24
+ }, v) => {
25
+ const u = j[n ?? "sm"], R = x.useCallback(
26
+ (E) => {
27
+ e || (h?.(E), i === "selectable" && o?.(), i === "dropdown" && m?.(), i === "dismissible" && f?.());
28
+ },
29
+ [e, h, i, o, m, f]
30
+ );
31
+ let r = null;
32
+ i === "dropdown" ? r = /* @__PURE__ */ a(
33
+ "span",
34
+ {
35
+ className: N(
36
+ "cai-flex cai-items-center cai-transition-transform cai-duration-150",
37
+ c && "cai-rotate-180"
38
+ ),
39
+ children: /* @__PURE__ */ a(b, { name: "chevron-down", size: u - 2 })
40
+ }
41
+ ) : i === "dismissible" && (r = /* @__PURE__ */ a("span", { className: "cai-flex cai-items-center", children: /* @__PURE__ */ a(b, { name: "x-close", size: u - 2 }) }));
42
+ let l = null;
43
+ d ? l = /* @__PURE__ */ a("span", { className: "cai-flex cai-items-center cai-shrink-0", children: d }) : p && (l = /* @__PURE__ */ a("span", { className: "cai-flex cai-items-center cai-shrink-0", children: p }));
44
+ const g = i === "dropdown" ? { "aria-haspopup": "listbox", "aria-expanded": c } : i === "dismissible" ? {
45
+ "aria-label": typeof s == "string" ? `Remove ${s}` : void 0
46
+ } : { "aria-pressed": t };
47
+ return /* @__PURE__ */ F(
48
+ "button",
49
+ {
50
+ ref: v,
51
+ type: "button",
52
+ "aria-disabled": e || void 0,
53
+ disabled: e,
54
+ "data-value": I,
55
+ onClick: R,
56
+ className: N(_({ variant: C, size: n, selected: t, disabled: e }), w),
57
+ ...g,
58
+ ...k,
59
+ children: [
60
+ l,
61
+ /* @__PURE__ */ a("span", { className: "cai-truncate", children: s }),
62
+ r
63
+ ]
64
+ }
65
+ );
66
+ }
67
+ );
68
+ z.displayName = "FilterChip";
69
+ export {
70
+ z as FilterChip
71
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("class-variance-authority"),r=require("../../utils/focusRing.cjs"),e=a.cva(["cai-inline-flex cai-items-center cai-font-sans cai-font-medium","cai-rounded-full cai-border cai-select-none cai-transition-all cai-duration-150","cai-max-w-[200px] cai-cursor-pointer",r.FOCUS_RING],{variants:{variant:{primary:"",brand:""},size:{sm:"cai-h-7 cai-px-3 cai-text-xs cai-gap-1.5",lg:"cai-h-9 cai-px-4 cai-text-sm cai-gap-2"},selected:{true:"",false:""},disabled:{true:"cai-opacity-40 cai-cursor-not-allowed",false:""}},compoundVariants:[{variant:"primary",selected:!1,disabled:!1,className:["cai-border-septenary cai-bg-primary-invert cai-bg-opacity-0 cai-text-primary","hover:cai-bg-secondary hover:cai-border-octonary"]},{variant:"primary",selected:!1,disabled:!0,className:"cai-border-septenary cai-bg-primary-invert cai-bg-opacity-0 cai-text-primary"},{variant:"primary",selected:!0,disabled:!1,className:"cai-border-quaternary cai-bg-quaternary cai-text-primary-invert"},{variant:"primary",selected:!0,disabled:!0,className:"cai-border-quaternary cai-bg-quaternary cai-text-primary-invert"},{variant:"brand",selected:!1,disabled:!1,className:["cai-border-brand-primary cai-bg-transparent cai-text-brand-primary","hover:cai-bg-brand-secondary hover:cai-border-brand-primary"]},{variant:"brand",selected:!1,disabled:!0,className:"cai-border-brand-primary cai-bg-transparent cai-text-brand-primary"},{variant:"brand",selected:!0,disabled:!1,className:"cai-border-brand-primary cai-bg-brand-primary cai-text-primary-invert"},{variant:"brand",selected:!0,disabled:!0,className:"cai-border-brand-primary cai-bg-brand-primary cai-text-primary-invert"}],defaultVariants:{variant:"primary",size:"sm",selected:!1,disabled:!1}}),i={sm:14,lg:18};exports.FILTER_CHIP_ICON_SIZES=i;exports.filterChipVariants=e;
@@ -0,0 +1,22 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ /**
3
+ * Root chip element. Pill-shaped button with type, variant, size,
4
+ * and selected state combinations.
5
+ *
6
+ * Variant tokens (from spec):
7
+ * primary → border-septenary, bg-primary-invert (transparent), text-primary
8
+ * brand → border-brand-primary, bg-transparent, text-brand-primary
9
+ * primary:hover → bg-secondary, border-octonary
10
+ * brand:hover → bg-brand-secondary, border-brand-primary
11
+ * primary:selected→ bg-quaternary, text-primary-invert
12
+ * brand:selected → bg-brand-primary, text-primary-invert
13
+ */
14
+ export declare const filterChipVariants: (props?: ({
15
+ variant?: "brand" | "primary" | null | undefined;
16
+ size?: "sm" | "lg" | null | undefined;
17
+ selected?: boolean | null | undefined;
18
+ disabled?: boolean | null | undefined;
19
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
20
+ export type FilterChipVariantsProps = VariantProps<typeof filterChipVariants>;
21
+ export declare const FILTER_CHIP_ICON_SIZES: Record<string, number>;
22
+ //# sourceMappingURL=FilterChip.variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterChip.variants.d.ts","sourceRoot":"","sources":["../../../src/components/FilterChip/FilterChip.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAOjE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB;;;;;8EA6F9B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAM7E,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGzD,CAAA"}
@@ -0,0 +1,103 @@
1
+ import { cva as a } from "class-variance-authority";
2
+ import { FOCUS_RING as r } from "../../utils/focusRing.js";
3
+ const t = a(
4
+ [
5
+ "cai-inline-flex cai-items-center cai-font-sans cai-font-medium",
6
+ "cai-rounded-full cai-border cai-select-none cai-transition-all cai-duration-150",
7
+ "cai-max-w-[200px] cai-cursor-pointer",
8
+ r
9
+ ],
10
+ {
11
+ variants: {
12
+ variant: {
13
+ primary: "",
14
+ brand: ""
15
+ },
16
+ size: {
17
+ sm: "cai-h-7 cai-px-3 cai-text-xs cai-gap-1.5",
18
+ lg: "cai-h-9 cai-px-4 cai-text-sm cai-gap-2"
19
+ },
20
+ selected: {
21
+ true: "",
22
+ false: ""
23
+ },
24
+ disabled: {
25
+ true: "cai-opacity-40 cai-cursor-not-allowed",
26
+ false: ""
27
+ }
28
+ },
29
+ compoundVariants: [
30
+ /* ---- primary, unselected ---- */
31
+ {
32
+ variant: "primary",
33
+ selected: !1,
34
+ disabled: !1,
35
+ className: [
36
+ "cai-border-septenary cai-bg-primary-invert cai-bg-opacity-0 cai-text-primary",
37
+ "hover:cai-bg-secondary hover:cai-border-octonary"
38
+ ]
39
+ },
40
+ {
41
+ variant: "primary",
42
+ selected: !1,
43
+ disabled: !0,
44
+ className: "cai-border-septenary cai-bg-primary-invert cai-bg-opacity-0 cai-text-primary"
45
+ },
46
+ /* ---- primary, selected ---- */
47
+ {
48
+ variant: "primary",
49
+ selected: !0,
50
+ disabled: !1,
51
+ className: "cai-border-quaternary cai-bg-quaternary cai-text-primary-invert"
52
+ },
53
+ {
54
+ variant: "primary",
55
+ selected: !0,
56
+ disabled: !0,
57
+ className: "cai-border-quaternary cai-bg-quaternary cai-text-primary-invert"
58
+ },
59
+ /* ---- brand, unselected ---- */
60
+ {
61
+ variant: "brand",
62
+ selected: !1,
63
+ disabled: !1,
64
+ className: [
65
+ "cai-border-brand-primary cai-bg-transparent cai-text-brand-primary",
66
+ "hover:cai-bg-brand-secondary hover:cai-border-brand-primary"
67
+ ]
68
+ },
69
+ {
70
+ variant: "brand",
71
+ selected: !1,
72
+ disabled: !0,
73
+ className: "cai-border-brand-primary cai-bg-transparent cai-text-brand-primary"
74
+ },
75
+ /* ---- brand, selected ---- */
76
+ {
77
+ variant: "brand",
78
+ selected: !0,
79
+ disabled: !1,
80
+ className: "cai-border-brand-primary cai-bg-brand-primary cai-text-primary-invert"
81
+ },
82
+ {
83
+ variant: "brand",
84
+ selected: !0,
85
+ disabled: !0,
86
+ className: "cai-border-brand-primary cai-bg-brand-primary cai-text-primary-invert"
87
+ }
88
+ ],
89
+ defaultVariants: {
90
+ variant: "primary",
91
+ size: "sm",
92
+ selected: !1,
93
+ disabled: !1
94
+ }
95
+ }
96
+ ), c = {
97
+ sm: 14,
98
+ lg: 18
99
+ };
100
+ export {
101
+ c as FILTER_CHIP_ICON_SIZES,
102
+ t as filterChipVariants
103
+ };
@@ -0,0 +1,3 @@
1
+ export { FilterChip } from './FilterChip';
2
+ export type { FilterChipProps } from './FilterChip';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FilterChip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react/jsx-runtime"),T=require("react"),_=require("../../utils/cn.cjs");function K(o){const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const l in o)if(l!=="default"){const u=Object.getOwnPropertyDescriptor(o,l);Object.defineProperty(c,l,u.get?u:{enumerable:!0,get:()=>o[l]})}}return c.default=o,Object.freeze(c)}const t=K(T),j=t.createContext(null),w=t.forwardRef(({variant:o="primary",size:c="sm",value:l,onValueChange:u,mode:m="multi",openValue:p,onOpenChange:h,announceChanges:g=!1,"aria-label":S,className:D,children:C,...R},f)=>{const[O,I]=t.useState([]),i=t.useMemo(()=>l===void 0?O:Array.isArray(l)?l:l?[l]:[],[l,O]),b=t.useCallback(e=>{let r;m==="single"?r=i.includes(e)?[]:[e]:r=i.includes(e)?i.filter(n=>n!==e):[...i,e],l===void 0&&I(r),u?.(m==="single"?r[0]??"":r)},[m,i,l,u]),[A,E]=t.useState(null),v=p!==void 0?p:A,M=t.useCallback(e=>{const r=v===e?null:e;p===void 0&&E(r),h?.(r)},[v,p,h]),k=t.useRef(null),F=t.useCallback(e=>{k.current=e,typeof f=="function"?f(e):f&&(f.current=e)},[f]),G=t.useCallback(e=>{const r=k.current;if(!r)return;const n=Array.from(r.querySelectorAll("[data-value]")),s=n.findIndex(x=>x===document.activeElement);if(s===-1)return;let a;switch(e.key){case"ArrowRight":e.preventDefault(),a=(s+1)%n.length;break;case"ArrowLeft":e.preventDefault(),a=(s-1+n.length)%n.length;break;case"Home":e.preventDefault(),a=0;break;case"End":e.preventDefault(),a=n.length-1;break;default:return}n[a]?.focus()},[]),N=t.useMemo(()=>({variant:o,size:c,selectedValues:i,onToggle:b}),[o,c,i,b]);let d=-1;t.Children.forEach(C,(e,r)=>{if(d!==-1||!t.isValidElement(e))return;const n=e.props.value;n&&i.includes(n)&&(d=r)}),d===-1&&(d=0);const q=t.Children.map(C,(e,r)=>{if(!t.isValidElement(e))return e;const n=e,s=n.props.value,a=s?i.includes(s):!1,x=s?v===s:!1;return t.cloneElement(n,{variant:o,size:c,selected:a,onSelect:s?()=>b(s):void 0,open:x,onOpen:s?()=>M(s):void 0,tabIndex:r===d?0:-1})}),P=t.useMemo(()=>{if(!g)return"";const e=i.length;return e===0?"No filters active":`${e} ${e===1?"filter":"filters"} active`},[g,i]);return y.jsxs(j.Provider,{value:N,children:[y.jsx("div",{ref:F,role:"group","aria-label":S,onKeyDown:G,className:_.cn("cai-flex cai-flex-wrap cai-gap-2 cai-items-center",D),...R,children:q}),g&&y.jsx("div",{role:"status","aria-live":"polite",className:"cai-sr-only",children:P})]})});w.displayName="FilterChipGroup";exports.FilterChipGroup=w;exports.FilterChipGroupContext=j;
@@ -0,0 +1,54 @@
1
+ import * as React from 'react';
2
+ export interface FilterChipGroupProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
3
+ /** Applied to all child FilterChip elements. Defaults to 'primary'. */
4
+ variant?: 'primary' | 'brand';
5
+ /** Applied to all child FilterChip elements. Defaults to 'sm'. */
6
+ size?: 'sm' | 'lg';
7
+ /** Controlled selected value(s). String for single mode, string[] for multi. */
8
+ value?: string | string[];
9
+ /** Selection change callback. */
10
+ onValueChange?: (value: string | string[]) => void;
11
+ /** Selection mode. Defaults to 'multi'. */
12
+ mode?: 'single' | 'multi';
13
+ /**
14
+ * Controlled open value for dropdown chips. Only one dropdown can be open
15
+ * at a time. Pass `null` to close all. When undefined, the group manages
16
+ * open state internally.
17
+ */
18
+ openValue?: string | null;
19
+ /**
20
+ * Callback fired when the open dropdown chip changes. Receives the value
21
+ * of the newly-opened chip, or `null` when all dropdowns close.
22
+ */
23
+ onOpenChange?: (value: string | null) => void;
24
+ /**
25
+ * When true, renders a visually-hidden `aria-live="polite"` status region
26
+ * that announces selection changes (e.g. "3 filters active"). Opt-in to
27
+ * avoid duplicate announcements when consumers manage their own live region.
28
+ */
29
+ announceChanges?: boolean;
30
+ /** Required accessible label for the group. */
31
+ 'aria-label': string;
32
+ /** Additional class names. */
33
+ className?: string;
34
+ /**
35
+ * FilterChip children. The group injects `variant`, `size`, `selected`,
36
+ * `onSelect`, `open`, `onOpen`, and `tabIndex` into each child via
37
+ * `React.cloneElement`. Child-supplied `tabIndex` is overridden by the
38
+ * group's roving-tabindex focus model — this is intentional, so the
39
+ * group owns keyboard navigation. Children are matched by their `value`
40
+ * prop (also rendered as `data-value`).
41
+ */
42
+ children: React.ReactNode;
43
+ }
44
+ interface FilterChipGroupContextValue {
45
+ variant: 'primary' | 'brand';
46
+ size: 'sm' | 'lg';
47
+ selectedValues: string[];
48
+ onToggle: (value: string) => void;
49
+ }
50
+ export declare const FilterChipGroupContext: React.Context<FilterChipGroupContextValue | null>;
51
+ export declare function useFilterChipGroup(): FilterChipGroupContextValue | null;
52
+ declare const FilterChipGroup: React.ForwardRefExoticComponent<FilterChipGroupProps & React.RefAttributes<HTMLDivElement>>;
53
+ export { FilterChipGroup };
54
+ //# sourceMappingURL=FilterChipGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterChipGroup.d.ts","sourceRoot":"","sources":["../../../src/components/FilterChipGroup/FilterChipGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EACpC,UAAU,CACX;IACC,uEAAuE;IACvE,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IAC7B,kEAAkE;IAClE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IAClB,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,iCAAiC;IACjC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAA;IAClD,2CAA2C;IAC3C,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IACzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC7C;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAA;IACpB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;;OAOG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAMD,UAAU,2BAA2B;IACnC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAA;IAC5B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;IACjB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAClC;AAED,eAAO,MAAM,sBAAsB,mDAAgE,CAAA;AAEnG,wBAAgB,kBAAkB,uCAEjC;AAMD,QAAA,MAAM,eAAe,6FA+LpB,CAAA;AAID,OAAO,EAAE,eAAe,EAAE,CAAA"}
@@ -0,0 +1,112 @@
1
+ import { jsxs as K, jsx as w } from "react/jsx-runtime";
2
+ import * as t from "react";
3
+ import { cn as T } from "../../utils/cn.js";
4
+ const $ = t.createContext(null), q = t.forwardRef(
5
+ ({
6
+ variant: f = "primary",
7
+ size: d = "sm",
8
+ value: i,
9
+ onValueChange: p,
10
+ mode: m = "multi",
11
+ openValue: u,
12
+ onOpenChange: b,
13
+ announceChanges: v = !1,
14
+ "aria-label": I,
15
+ className: A,
16
+ children: h,
17
+ ...D
18
+ }, c) => {
19
+ const [k, E] = t.useState([]), s = t.useMemo(() => i === void 0 ? k : Array.isArray(i) ? i : i ? [i] : [], [i, k]), x = t.useCallback(
20
+ (e) => {
21
+ let r;
22
+ m === "single" ? r = s.includes(e) ? [] : [e] : r = s.includes(e) ? s.filter((n) => n !== e) : [...s, e], i === void 0 && E(r), p?.(m === "single" ? r[0] ?? "" : r);
23
+ },
24
+ [m, s, i, p]
25
+ ), [O, R] = t.useState(null), g = u !== void 0 ? u : O, S = t.useCallback(
26
+ (e) => {
27
+ const r = g === e ? null : e;
28
+ u === void 0 && R(r), b?.(r);
29
+ },
30
+ [g, u, b]
31
+ ), C = t.useRef(null), M = t.useCallback(
32
+ (e) => {
33
+ C.current = e, typeof c == "function" ? c(e) : c && (c.current = e);
34
+ },
35
+ [c]
36
+ ), N = t.useCallback((e) => {
37
+ const r = C.current;
38
+ if (!r) return;
39
+ const n = Array.from(r.querySelectorAll("[data-value]")), l = n.findIndex((y) => y === document.activeElement);
40
+ if (l === -1) return;
41
+ let o;
42
+ switch (e.key) {
43
+ case "ArrowRight":
44
+ e.preventDefault(), o = (l + 1) % n.length;
45
+ break;
46
+ case "ArrowLeft":
47
+ e.preventDefault(), o = (l - 1 + n.length) % n.length;
48
+ break;
49
+ case "Home":
50
+ e.preventDefault(), o = 0;
51
+ break;
52
+ case "End":
53
+ e.preventDefault(), o = n.length - 1;
54
+ break;
55
+ default:
56
+ return;
57
+ }
58
+ n[o]?.focus();
59
+ }, []), F = t.useMemo(
60
+ () => ({
61
+ variant: f,
62
+ size: d,
63
+ selectedValues: s,
64
+ onToggle: x
65
+ }),
66
+ [f, d, s, x]
67
+ );
68
+ let a = -1;
69
+ t.Children.forEach(h, (e, r) => {
70
+ if (a !== -1 || !t.isValidElement(e)) return;
71
+ const n = e.props.value;
72
+ n && s.includes(n) && (a = r);
73
+ }), a === -1 && (a = 0);
74
+ const G = t.Children.map(h, (e, r) => {
75
+ if (!t.isValidElement(e)) return e;
76
+ const n = e, l = n.props.value, o = l ? s.includes(l) : !1, y = l ? g === l : !1;
77
+ return t.cloneElement(n, {
78
+ variant: f,
79
+ size: d,
80
+ selected: o,
81
+ onSelect: l ? () => x(l) : void 0,
82
+ open: y,
83
+ onOpen: l ? () => S(l) : void 0,
84
+ tabIndex: r === a ? 0 : -1
85
+ });
86
+ }), j = t.useMemo(() => {
87
+ if (!v) return "";
88
+ const e = s.length;
89
+ return e === 0 ? "No filters active" : `${e} ${e === 1 ? "filter" : "filters"} active`;
90
+ }, [v, s]);
91
+ return /* @__PURE__ */ K($.Provider, { value: F, children: [
92
+ /* @__PURE__ */ w(
93
+ "div",
94
+ {
95
+ ref: M,
96
+ role: "group",
97
+ "aria-label": I,
98
+ onKeyDown: N,
99
+ className: T("cai-flex cai-flex-wrap cai-gap-2 cai-items-center", A),
100
+ ...D,
101
+ children: G
102
+ }
103
+ ),
104
+ v && /* @__PURE__ */ w("div", { role: "status", "aria-live": "polite", className: "cai-sr-only", children: j })
105
+ ] });
106
+ }
107
+ );
108
+ q.displayName = "FilterChipGroup";
109
+ export {
110
+ q as FilterChipGroup,
111
+ $ as FilterChipGroupContext
112
+ };
@@ -0,0 +1,3 @@
1
+ export { FilterChipGroup } from './FilterChipGroup';
2
+ export type { FilterChipGroupProps } from './FilterChipGroup';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FilterChipGroup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),a=require("react"),l=require("../../utils/cn.cjs"),f=require("./icons.cjs");function p(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const d=p(a);function g(e){return typeof e=="string"?[o.jsx("path",{d:e},"0")]:e.paths.map((n,t)=>o.jsx("path",{d:n},t))}const s=d.forwardRef(({name:e,size:n=20,strokeWidth:t=2,className:r,...i},u)=>{const c=f.UTUI_ICONS[e];return c?o.jsx("svg",{ref:u,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:n,height:n,fill:"none",stroke:"currentColor",strokeWidth:t,strokeLinecap:"round",strokeLinejoin:"round",className:l.cn(r),...i,children:g(c)}):(typeof process<"u"&&process.env?.NODE_ENV!=="production"&&console.warn(`[Icon] Unknown icon name: "${e}"`),null)});s.displayName="Icon";exports.Icon=s;
@@ -0,0 +1,16 @@
1
+ import { UTUI_ICONS } from './icons';
2
+ import * as React from 'react';
3
+ export type IconName = keyof typeof UTUI_ICONS;
4
+ export interface IconProps extends Omit<React.SVGAttributes<SVGSVGElement>, 'name'> {
5
+ /** Icon name — key from the UTUI_ICONS dictionary (Untitled UI set) */
6
+ name: IconName | (string & {});
7
+ /** Pixel size for width and height. Defaults to 20. */
8
+ size?: number;
9
+ /** Stroke width. Defaults to 2. */
10
+ strokeWidth?: number;
11
+ /** Additional class names */
12
+ className?: string;
13
+ }
14
+ declare const Icon: React.ForwardRefExoticComponent<IconProps & React.RefAttributes<SVGSVGElement>>;
15
+ export { Icon };
16
+ //# sourceMappingURL=Icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,UAAU,EAAqB,MAAM,SAAS,CAAA;AAEvD,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,UAAU,CAAA;AAE9C,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IACjF,uEAAuE;IACvE,IAAI,EAAE,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;IAC9B,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AASD,QAAA,MAAM,IAAI,iFA+BT,CAAA;AAID,OAAO,EAAE,IAAI,EAAE,CAAA"}