@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,5 @@
1
+ export { Icon } from './Icon';
2
+ export type { IconProps, IconName } from './Icon';
3
+ export { UTUI_ICONS } from './icons';
4
+ export type { IconPathData } from './icons';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Icon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),h=require("react"),t=require("../../utils/cn.cjs"),y=require("../../utils/focusRing.cjs"),N=require("./InlineNotification.variants.cjs"),s=require("../Icon/Icon.cjs");function v(a){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const i in a)if(i!=="default"){const r=Object.getOwnPropertyDescriptor(a,i);Object.defineProperty(e,i,r.get?r:{enumerable:!0,get:()=>a[i]})}}return e.default=a,Object.freeze(e)}const l=v(h),j={information:"info-circle",success:"check-circle",warning:"alert-triangle",error:"alert-circle","brand-primary":"announcement-02","brand-secondary":"announcement-02"},I={information:"cai-text-[var(--icon-primary-alt)]",success:"cai-text-[var(--icon-success-alt)]",warning:"cai-text-[var(--icon-warning-alt)]",error:"cai-text-[var(--icon-error-alt)]","brand-primary":"cai-text-[var(--icon-primary-invert)]","brand-secondary":"cai-text-[var(--icon-primary-invert)]"},d=l.forwardRef(({className:a,variant:e="information",title:i,description:r,close:u=!1,onClose:m,headingLevel:f=2,...b},x)=>{const p=j[e],g=I[e],c=l.useId(),o=e==="error"||e==="warning";return n.jsxs("div",{ref:x,role:o?"alert":"status","aria-live":o?"assertive":"polite",className:t.cn(N.inlineNotificationVariants({variant:e}),a),...b,children:[n.jsx("div",{className:t.cn("cai-flex-shrink-0 cai-mt-0.5",g),children:n.jsx(s.Icon,{name:p,width:18,height:18,"aria-hidden":"true"})}),n.jsxs("div",{className:"cai-flex-1 cai-min-w-0",children:[i&&n.jsx("div",{id:c,role:"heading","aria-level":f,className:"cai-text-subbody cai-font-semibold",children:i}),n.jsx("div",{className:"cai-text-subbody cai-font-normal cai-leading-normal",children:r})]}),u&&n.jsx("button",{type:"button",onClick:m,"aria-label":"Close","aria-describedby":i?c:void 0,className:t.cn("cai-flex-shrink-0 cai-mt-0.5 cai-cursor-pointer","cai-bg-transparent cai-border-none cai-p-0","hover:cai-opacity-70 cai-transition-opacity",y.FOCUS_RING),children:n.jsx(s.Icon,{name:"x-close",width:14,height:14,"aria-hidden":"true"})})]})});d.displayName="InlineNotification";exports.InlineNotification=d;
@@ -0,0 +1,17 @@
1
+ import { InlineNotificationVariantsProps } from './InlineNotification.variants';
2
+ import * as React from 'react';
3
+ export interface InlineNotificationProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'>, InlineNotificationVariantsProps {
4
+ /** Optional heading text */
5
+ title?: string;
6
+ /** Required body text */
7
+ description: string;
8
+ /** Show close icon */
9
+ close?: boolean;
10
+ /** Close handler (required when close is true) */
11
+ onClose?: () => void;
12
+ /** Heading level for screen readers (1 to 6) */
13
+ headingLevel?: 1 | 2 | 3 | 4 | 5 | 6;
14
+ }
15
+ declare const InlineNotification: React.ForwardRefExoticComponent<InlineNotificationProps & React.RefAttributes<HTMLDivElement>>;
16
+ export { InlineNotification };
17
+ //# sourceMappingURL=InlineNotification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InlineNotification.d.ts","sourceRoot":"","sources":["../../../src/components/InlineNotification/InlineNotification.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,+BAA+B,CAAA;AAoCtC,MAAM,WAAW,uBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,EACzD,+BAA+B;IACjC,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,sBAAsB;IACtB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,gDAAgD;IAChD,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;CACrC;AAED,QAAA,MAAM,kBAAkB,gGAiEvB,CAAA;AAID,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
@@ -0,0 +1,80 @@
1
+ import { jsxs as o, jsx as i } from "react/jsx-runtime";
2
+ import * as t from "react";
3
+ import { cn as e } from "../../utils/cn.js";
4
+ import { FOCUS_RING as N } from "../../utils/focusRing.js";
5
+ import { inlineNotificationVariants as v } from "./InlineNotification.variants.js";
6
+ import { Icon as s } from "../Icon/Icon.js";
7
+ const y = {
8
+ information: "info-circle",
9
+ success: "check-circle",
10
+ warning: "alert-triangle",
11
+ error: "alert-circle",
12
+ "brand-primary": "announcement-02",
13
+ "brand-secondary": "announcement-02"
14
+ }, g = {
15
+ information: "cai-text-[var(--icon-primary-alt)]",
16
+ success: "cai-text-[var(--icon-success-alt)]",
17
+ warning: "cai-text-[var(--icon-warning-alt)]",
18
+ error: "cai-text-[var(--icon-error-alt)]",
19
+ "brand-primary": "cai-text-[var(--icon-primary-invert)]",
20
+ "brand-secondary": "cai-text-[var(--icon-primary-invert)]"
21
+ }, I = t.forwardRef(
22
+ ({
23
+ className: l,
24
+ variant: a = "information",
25
+ title: r,
26
+ description: m,
27
+ close: d = !1,
28
+ onClose: f,
29
+ headingLevel: p = 2,
30
+ ...h
31
+ }, b) => {
32
+ const u = y[a], x = g[a], n = t.useId(), c = a === "error" || a === "warning";
33
+ return /* @__PURE__ */ o(
34
+ "div",
35
+ {
36
+ ref: b,
37
+ role: c ? "alert" : "status",
38
+ "aria-live": c ? "assertive" : "polite",
39
+ className: e(v({ variant: a }), l),
40
+ ...h,
41
+ children: [
42
+ /* @__PURE__ */ i("div", { className: e("cai-flex-shrink-0 cai-mt-0.5", x), children: /* @__PURE__ */ i(s, { name: u, width: 18, height: 18, "aria-hidden": "true" }) }),
43
+ /* @__PURE__ */ o("div", { className: "cai-flex-1 cai-min-w-0", children: [
44
+ r && /* @__PURE__ */ i(
45
+ "div",
46
+ {
47
+ id: n,
48
+ role: "heading",
49
+ "aria-level": p,
50
+ className: "cai-text-subbody cai-font-semibold",
51
+ children: r
52
+ }
53
+ ),
54
+ /* @__PURE__ */ i("div", { className: "cai-text-subbody cai-font-normal cai-leading-normal", children: m })
55
+ ] }),
56
+ d && /* @__PURE__ */ i(
57
+ "button",
58
+ {
59
+ type: "button",
60
+ onClick: f,
61
+ "aria-label": "Close",
62
+ "aria-describedby": r ? n : void 0,
63
+ className: e(
64
+ "cai-flex-shrink-0 cai-mt-0.5 cai-cursor-pointer",
65
+ "cai-bg-transparent cai-border-none cai-p-0",
66
+ "hover:cai-opacity-70 cai-transition-opacity",
67
+ N
68
+ ),
69
+ children: /* @__PURE__ */ i(s, { name: "x-close", width: 14, height: 14, "aria-hidden": "true" })
70
+ }
71
+ )
72
+ ]
73
+ }
74
+ );
75
+ }
76
+ );
77
+ I.displayName = "InlineNotification";
78
+ export {
79
+ I as InlineNotification
80
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("class-variance-authority"),r=a.cva("cai-relative cai-flex cai-items-start cai-gap-2.5 cai-rounded-lg cai-border-[1.5px] cai-px-4 cai-py-3",{variants:{variant:{information:"cai-border-information-alt cai-bg-information cai-text-primary-alt",success:"cai-border-success-alt cai-bg-success cai-text-primary-alt",warning:"cai-border-warning-alt cai-bg-warning cai-text-primary-alt",error:"cai-border-error-alt cai-bg-error cai-text-primary-alt","brand-primary":"cai-border-brand-primary cai-bg-brand-primary cai-text-primary-invert","brand-secondary":"cai-border-brand-tertiary cai-bg-brand-tertiary cai-text-primary-invert"}},defaultVariants:{variant:"information"}});exports.inlineNotificationVariants=r;
@@ -0,0 +1,6 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ export declare const inlineNotificationVariants: (props?: ({
3
+ variant?: "success" | "warning" | "error" | "information" | "brand-primary" | "brand-secondary" | null | undefined;
4
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
5
+ export type InlineNotificationVariantsProps = VariantProps<typeof inlineNotificationVariants>;
6
+ //# sourceMappingURL=InlineNotification.variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InlineNotification.variants.d.ts","sourceRoot":"","sources":["../../../src/components/InlineNotification/InlineNotification.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEjE,eAAO,MAAM,0BAA0B;;8EAkBtC,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,YAAY,CAAC,OAAO,0BAA0B,CAAC,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { cva as a } from "class-variance-authority";
2
+ const i = a(
3
+ "cai-relative cai-flex cai-items-start cai-gap-2.5 cai-rounded-lg cai-border-[1.5px] cai-px-4 cai-py-3",
4
+ {
5
+ variants: {
6
+ variant: {
7
+ information: "cai-border-information-alt cai-bg-information cai-text-primary-alt",
8
+ success: "cai-border-success-alt cai-bg-success cai-text-primary-alt",
9
+ warning: "cai-border-warning-alt cai-bg-warning cai-text-primary-alt",
10
+ error: "cai-border-error-alt cai-bg-error cai-text-primary-alt",
11
+ "brand-primary": "cai-border-brand-primary cai-bg-brand-primary cai-text-primary-invert",
12
+ "brand-secondary": "cai-border-brand-tertiary cai-bg-brand-tertiary cai-text-primary-invert"
13
+ }
14
+ },
15
+ defaultVariants: {
16
+ variant: "information"
17
+ }
18
+ }
19
+ );
20
+ export {
21
+ i as inlineNotificationVariants
22
+ };
@@ -0,0 +1,5 @@
1
+ export { InlineNotification } from './InlineNotification';
2
+ export type { InlineNotificationProps } from './InlineNotification';
3
+ export { inlineNotificationVariants } from './InlineNotification.variants';
4
+ export type { InlineNotificationVariantsProps } from './InlineNotification.variants';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/InlineNotification/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,YAAY,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAA"}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),B=require("react"),f=require("../../utils/cn.cjs"),n=require("./Input.variants.cjs"),N=require("../Icon/Icon.cjs");function G(s){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const r in s)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(s,r);Object.defineProperty(a,r,o.get?o:{enumerable:!0,get:()=>s[r]})}}return a.default=s,Object.freeze(a)}const l=G(B),C=l.forwardRef(({label:s,labelRight:a,required:r=!1,placeholder:o,type:S="text",contextualIcon:I,suffixIcon:x,error:t=!1,errorText:h,counter:j=!1,maxLength:y=200,hintBottomLeft:d,hintBottomRight:p,disabled:b=!1,id:z,className:_,onChange:g,value:i,defaultValue:m,...P},k)=>{const D=l.useId(),u=z??D,[E,v]=l.useState(()=>typeof i=="string"?i.length:typeof m=="string"?m.length:0);l.useEffect(()=>{typeof i=="string"&&v(i.length)},[i]);const F=l.useCallback(c=>{v(c.target.value.length),g?.(c)},[g]),w=!!I,$=!!(t||x),T=c=>{if(!c)return null;if(typeof c=="string")return e.jsx(N.Icon,{name:c,size:16,"aria-hidden":"true"});const q=c;return l.cloneElement(q,{"aria-hidden":"true",...q.props})},O=h?`${u}-error`:void 0,R=d||p?`${u}-hint`:void 0,H=[O,R].filter(Boolean).join(" ")||void 0,W=!!(s||a||j),A=!!((d||p)&&!t);return e.jsxs("div",{className:n.inputWrapper({disabled:b}),children:[W&&e.jsxs("span",{className:n.labelRow(),children:[s?e.jsxs("label",{htmlFor:u,className:f.cn(n.labelText(),"cai-flex-1"),children:[s,r&&e.jsx("span",{className:"cai-text-primary cai-ml-0.5","aria-hidden":"true",children:"*"})]}):e.jsx("span",{className:"cai-flex-1"}),j?e.jsxs("span",{className:n.labelText(),"aria-live":"polite","aria-atomic":"true",children:[E,"/",y]}):a?e.jsx("span",{className:n.labelText(),children:a}):null]}),e.jsxs("span",{className:n.inputRow(),children:[w&&e.jsx("span",{className:n.leftIcon({error:t}),children:T(I)}),e.jsx("input",{ref:k,id:u,type:S,placeholder:o,disabled:b,maxLength:j?y:void 0,"aria-invalid":t||void 0,"aria-describedby":H,"aria-required":r||void 0,value:i,defaultValue:m,onChange:F,className:f.cn(n.inputField({error:t,hasLeftIcon:w,hasRightIcon:$}),_),...P}),t?e.jsx("span",{className:n.rightIcon({variant:"error"}),children:e.jsx(N.Icon,{name:"alert-circle",size:16,"aria-hidden":"true"})}):x?e.jsx("span",{className:n.rightIcon({variant:"suffix"}),children:T(x)}):null]}),A&&e.jsxs("span",{className:n.hintRow(),id:R,children:[d&&e.jsx("span",{className:f.cn(n.hintText(),"cai-flex-1"),children:d}),p&&e.jsx("span",{className:n.hintText(),children:p})]}),t&&h&&e.jsxs("span",{className:n.errorRow(),id:O,role:"alert",children:[e.jsx("span",{className:n.errorIcon(),children:e.jsx(N.Icon,{name:"alert-circle",size:16,"aria-hidden":"true"})}),e.jsx("span",{className:n.errorText(),children:h})]})]})});C.displayName="Input";exports.Input=C;
@@ -0,0 +1,44 @@
1
+ import * as React from 'react';
2
+ export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> {
3
+ /** Label text above the input. */
4
+ label?: string;
5
+ /** Right-aligned label text (e.g. "Optional"). */
6
+ labelRight?: string;
7
+ /** Shows an asterisk after the label to indicate a required field. */
8
+ required?: boolean;
9
+ /** Placeholder text inside the input. */
10
+ placeholder?: string;
11
+ /** Native input type. Defaults to "text". */
12
+ type?: 'text' | 'email' | 'search' | 'password' | 'number' | 'tel' | 'url';
13
+ /**
14
+ * Left icon slot. Pass a React element (e.g. an SVG icon) or a string
15
+ * that your icon system resolves.
16
+ */
17
+ contextualIcon?: React.ReactElement | string;
18
+ /**
19
+ * Right icon slot. Rendered only when the input is NOT in the error state,
20
+ * as the error state reserves the right slot for the alert-circle icon.
21
+ */
22
+ suffixIcon?: React.ReactElement | string;
23
+ /** Enables the error visual state. */
24
+ error?: boolean;
25
+ /** Error message text rendered below the input. */
26
+ errorText?: string;
27
+ /** Shows a character counter in the label-right position (charCount / maxLength). */
28
+ counter?: boolean;
29
+ /** Maximum character count. Defaults to 200. */
30
+ maxLength?: number;
31
+ /** Hint text displayed bottom-left. */
32
+ hintBottomLeft?: string;
33
+ /** Hint text displayed bottom-right. */
34
+ hintBottomRight?: string;
35
+ /** Disables the input (opacity-40, pointer-events-none). */
36
+ disabled?: boolean;
37
+ /** Input id. Auto-generated if omitted. */
38
+ id?: string;
39
+ /** Additional class names applied to the `<input>` element. */
40
+ className?: string;
41
+ }
42
+ declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
43
+ export { Input };
44
+ //# sourceMappingURL=Input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC3F,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAA;IAC1E;;;OAGG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,MAAM,CAAA;IAC5C;;;OAGG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,MAAM,CAAA;IACxC,sCAAsC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,2CAA2C;IAC3C,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD,QAAA,MAAM,KAAK,qFA4KV,CAAA;AAID,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -0,0 +1,104 @@
1
+ import { jsxs as s, jsx as a } from "react/jsx-runtime";
2
+ import * as i from "react";
3
+ import { cn as N } from "../../utils/cn.js";
4
+ import { labelText as u, labelRow as P, leftIcon as Q, inputField as U, rightIcon as E, inputRow as X, hintText as F, hintRow as Y, errorIcon as Z, errorText as _, errorRow as L, inputWrapper as M } from "./Input.variants.js";
5
+ import { Icon as I } from "../Icon/Icon.js";
6
+ const V = i.forwardRef(
7
+ ({
8
+ label: o,
9
+ labelRight: d,
10
+ required: x = !1,
11
+ placeholder: $,
12
+ type: k = "text",
13
+ contextualIcon: w,
14
+ suffixIcon: p,
15
+ error: e = !1,
16
+ errorText: m,
17
+ counter: h = !1,
18
+ maxLength: y = 200,
19
+ hintBottomLeft: c,
20
+ hintBottomRight: l,
21
+ disabled: v = !1,
22
+ id: H,
23
+ className: S,
24
+ onChange: g,
25
+ value: r,
26
+ defaultValue: f,
27
+ ...W
28
+ }, q) => {
29
+ const A = i.useId(), t = H ?? A, [B, C] = i.useState(() => typeof r == "string" ? r.length : typeof f == "string" ? f.length : 0);
30
+ i.useEffect(() => {
31
+ typeof r == "string" && C(r.length);
32
+ }, [r]);
33
+ const D = i.useCallback(
34
+ (n) => {
35
+ C(n.target.value.length), g?.(n);
36
+ },
37
+ [g]
38
+ ), R = !!w, G = !!(e || p), T = (n) => {
39
+ if (!n) return null;
40
+ if (typeof n == "string")
41
+ return /* @__PURE__ */ a(I, { name: n, size: 16, "aria-hidden": "true" });
42
+ const z = n;
43
+ return i.cloneElement(z, {
44
+ "aria-hidden": "true",
45
+ ...z.props
46
+ });
47
+ }, b = m ? `${t}-error` : void 0, j = c || l ? `${t}-hint` : void 0, J = [b, j].filter(Boolean).join(" ") || void 0, K = !!(o || d || h), O = !!((c || l) && !e);
48
+ return /* @__PURE__ */ s("div", { className: M({ disabled: v }), children: [
49
+ K && /* @__PURE__ */ s("span", { className: P(), children: [
50
+ o ? /* @__PURE__ */ s("label", { htmlFor: t, className: N(u(), "cai-flex-1"), children: [
51
+ o,
52
+ x && /* @__PURE__ */ a("span", { className: "cai-text-primary cai-ml-0.5", "aria-hidden": "true", children: "*" })
53
+ ] }) : /* @__PURE__ */ a("span", { className: "cai-flex-1" }),
54
+ h ? /* @__PURE__ */ s("span", { className: u(), "aria-live": "polite", "aria-atomic": "true", children: [
55
+ B,
56
+ "/",
57
+ y
58
+ ] }) : d ? /* @__PURE__ */ a("span", { className: u(), children: d }) : null
59
+ ] }),
60
+ /* @__PURE__ */ s("span", { className: X(), children: [
61
+ R && /* @__PURE__ */ a("span", { className: Q({ error: e }), children: T(w) }),
62
+ /* @__PURE__ */ a(
63
+ "input",
64
+ {
65
+ ref: q,
66
+ id: t,
67
+ type: k,
68
+ placeholder: $,
69
+ disabled: v,
70
+ maxLength: h ? y : void 0,
71
+ "aria-invalid": e || void 0,
72
+ "aria-describedby": J,
73
+ "aria-required": x || void 0,
74
+ value: r,
75
+ defaultValue: f,
76
+ onChange: D,
77
+ className: N(
78
+ U({
79
+ error: e,
80
+ hasLeftIcon: R,
81
+ hasRightIcon: G
82
+ }),
83
+ S
84
+ ),
85
+ ...W
86
+ }
87
+ ),
88
+ e ? /* @__PURE__ */ a("span", { className: E({ variant: "error" }), children: /* @__PURE__ */ a(I, { name: "alert-circle", size: 16, "aria-hidden": "true" }) }) : p ? /* @__PURE__ */ a("span", { className: E({ variant: "suffix" }), children: T(p) }) : null
89
+ ] }),
90
+ O && /* @__PURE__ */ s("span", { className: Y(), id: j, children: [
91
+ c && /* @__PURE__ */ a("span", { className: N(F(), "cai-flex-1"), children: c }),
92
+ l && /* @__PURE__ */ a("span", { className: F(), children: l })
93
+ ] }),
94
+ e && m && /* @__PURE__ */ s("span", { className: L(), id: b, role: "alert", children: [
95
+ /* @__PURE__ */ a("span", { className: Z(), children: /* @__PURE__ */ a(I, { name: "alert-circle", size: 16, "aria-hidden": "true" }) }),
96
+ /* @__PURE__ */ a("span", { className: _(), children: m })
97
+ ] })
98
+ ] });
99
+ }
100
+ );
101
+ V.displayName = "Input";
102
+ export {
103
+ V as Input
104
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("class-variance-authority"),e=require("../../utils/focusRing.cjs"),i=a.cva("cai-relative cai-flex cai-flex-col cai-w-full",{variants:{disabled:{true:"cai-opacity-40 cai-pointer-events-none",false:""}},defaultVariants:{disabled:!1}}),c=a.cva("cai-flex cai-items-baseline cai-gap-x-2 cai-mb-1.5"),t=a.cva("cai-font-sans cai-text-micro1 cai-font-medium cai-text-primary"),r=a.cva("cai-group cai-relative cai-flex cai-items-center"),o=a.cva(["cai-w-full cai-h-10 cai-rounded-md","cai-font-sans cai-text-subbody cai-font-medium","cai-outline-none cai-transition-colors","placeholder:cai-font-sans placeholder:cai-text-subbody placeholder:cai-font-medium",e.FOCUS_RING],{variants:{error:{true:["cai-border cai-border-error-alt","cai-bg-error","cai-text-primary-alt","placeholder:cai-text-primary-alt placeholder:cai-opacity-60"],false:["cai-border cai-border-septenary","cai-bg-primary-invert cai-bg-opacity-0","cai-text-primary","placeholder:cai-text-primary placeholder:cai-opacity-45","hover:cai-border-nonary hover:cai-bg-secondary","focus-visible:cai-border-brand-primary"]},hasLeftIcon:{true:"cai-pl-10",false:"cai-pl-3"},hasRightIcon:{true:"cai-pr-10",false:"cai-pr-3"}},defaultVariants:{error:!1,hasLeftIcon:!1,hasRightIcon:!1}}),n=a.cva(["cai-absolute cai-left-3","cai-flex cai-items-center","cai-pointer-events-none"],{variants:{error:{true:"cai-text-icon-primary-alt",false:"cai-text-icon-primary"}},defaultVariants:{error:!1}}),s=a.cva(["cai-absolute cai-right-3","cai-flex cai-items-center"],{variants:{variant:{error:"cai-text-icon-error",suffix:"cai-text-icon-primary cai-pointer-events-none"}},defaultVariants:{variant:"suffix"}}),l=a.cva("cai-flex cai-items-baseline cai-gap-x-2 cai-mt-1.5"),f=a.cva("cai-font-sans cai-text-micro1 cai-font-medium cai-text-primary"),p=a.cva("cai-flex cai-items-center cai-gap-1 cai-mt-1.5"),u=a.cva("cai-font-sans cai-text-xs cai-font-medium cai-text-error-alt"),d=a.cva("cai-flex cai-items-center cai-text-icon-error");exports.errorIcon=d;exports.errorRow=p;exports.errorText=u;exports.hintRow=l;exports.hintText=f;exports.inputField=o;exports.inputRow=r;exports.inputWrapper=i;exports.labelRow=c;exports.labelText=t;exports.leftIcon=n;exports.rightIcon=s;
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Wrapper — outermost flex-col container that holds the entire Input
3
+ * anatomy: label row, input row, hint row, error text.
4
+ */
5
+ export declare const inputWrapper: (props?: ({
6
+ disabled?: boolean | null | undefined;
7
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
8
+ /**
9
+ * Label row — horizontal flex that holds the left label and the
10
+ * right label (or counter).
11
+ */
12
+ export declare const labelRow: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
13
+ /**
14
+ * Label text — shared between left label and right label / counter.
15
+ */
16
+ export declare const labelText: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
17
+ /**
18
+ * Input row — the relative container that holds the `<input>` and
19
+ * optional left/right icon slots.
20
+ */
21
+ export declare const inputRow: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
22
+ /**
23
+ * The `<input>` element itself.
24
+ *
25
+ * State tokens:
26
+ * Default → border-septenary, bg-primary-invert (transparent), text-primary
27
+ * Hover → border-nonary, bg-senary
28
+ * Focus → border-brand-primary + FOCUS_RING (system-shared 2px outline / 2px offset)
29
+ * Error → border-error-alt, bg-error, text-primary-alt
30
+ * Disabled → handled at wrapper level (opacity-40, pointer-events-none)
31
+ */
32
+ export declare const inputField: (props?: ({
33
+ error?: boolean | null | undefined;
34
+ hasLeftIcon?: boolean | null | undefined;
35
+ hasRightIcon?: boolean | null | undefined;
36
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
37
+ /**
38
+ * Left icon slot (contextualIcon) — absolutely positioned, decorative.
39
+ */
40
+ export declare const leftIcon: (props?: ({
41
+ error?: boolean | null | undefined;
42
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
43
+ /**
44
+ * Right icon slot — shows either suffixIcon or the error alert-circle.
45
+ */
46
+ export declare const rightIcon: (props?: ({
47
+ variant?: "error" | "suffix" | null | undefined;
48
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
49
+ /**
50
+ * Bottom hints row — flex row below the input for hintBottomLeft
51
+ * and hintBottomRight.
52
+ */
53
+ export declare const hintRow: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
54
+ /**
55
+ * Individual hint text (left or right).
56
+ */
57
+ export declare const hintText: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
58
+ /**
59
+ * Error text row — rendered below the input when `error` is true.
60
+ */
61
+ export declare const errorRow: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
62
+ /**
63
+ * Error message text.
64
+ */
65
+ export declare const errorText: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
66
+ /**
67
+ * Error icon (alert-circle) next to the error message.
68
+ */
69
+ export declare const errorIcon: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
70
+ //# sourceMappingURL=Input.variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.variants.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.variants.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,eAAO,MAAM,YAAY;;8EAUvB,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,oFAA4D,CAAA;AAEjF;;GAEG;AACH,eAAO,MAAM,SAAS,oFAAwE,CAAA;AAE9F;;;GAGG;AACH,eAAO,MAAM,QAAQ,oFAA0D,CAAA;AAE/E;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU;;;;8EAyCtB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ;;8EAapB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,SAAS;;8EAUpB,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,oFAA4D,CAAA;AAEhF;;GAEG;AACH,eAAO,MAAM,QAAQ,oFAAwE,CAAA;AAE7F;;GAEG;AACH,eAAO,MAAM,QAAQ,oFAAwD,CAAA;AAE7E;;GAEG;AACH,eAAO,MAAM,SAAS,oFAAsE,CAAA;AAE5F;;GAEG;AACH,eAAO,MAAM,SAAS,oFAAuD,CAAA"}
@@ -0,0 +1,91 @@
1
+ import { cva as a } from "class-variance-authority";
2
+ import { FOCUS_RING as i } from "../../utils/focusRing.js";
3
+ const c = a("cai-relative cai-flex cai-flex-col cai-w-full", {
4
+ variants: {
5
+ disabled: {
6
+ true: "cai-opacity-40 cai-pointer-events-none",
7
+ false: ""
8
+ }
9
+ },
10
+ defaultVariants: {
11
+ disabled: !1
12
+ }
13
+ }), r = a("cai-flex cai-items-baseline cai-gap-x-2 cai-mb-1.5"), o = a("cai-font-sans cai-text-micro1 cai-font-medium cai-text-primary"), n = a("cai-group cai-relative cai-flex cai-items-center"), s = a(
14
+ [
15
+ "cai-w-full cai-h-10 cai-rounded-md",
16
+ "cai-font-sans cai-text-subbody cai-font-medium",
17
+ "cai-outline-none cai-transition-colors",
18
+ "placeholder:cai-font-sans placeholder:cai-text-subbody placeholder:cai-font-medium",
19
+ i
20
+ ],
21
+ {
22
+ variants: {
23
+ error: {
24
+ true: [
25
+ "cai-border cai-border-error-alt",
26
+ "cai-bg-error",
27
+ "cai-text-primary-alt",
28
+ "placeholder:cai-text-primary-alt placeholder:cai-opacity-60"
29
+ ],
30
+ false: [
31
+ "cai-border cai-border-septenary",
32
+ "cai-bg-primary-invert cai-bg-opacity-0",
33
+ "cai-text-primary",
34
+ "placeholder:cai-text-primary placeholder:cai-opacity-45",
35
+ "hover:cai-border-nonary hover:cai-bg-secondary",
36
+ "focus-visible:cai-border-brand-primary"
37
+ ]
38
+ },
39
+ hasLeftIcon: {
40
+ true: "cai-pl-10",
41
+ false: "cai-pl-3"
42
+ },
43
+ hasRightIcon: {
44
+ true: "cai-pr-10",
45
+ false: "cai-pr-3"
46
+ }
47
+ },
48
+ defaultVariants: {
49
+ error: !1,
50
+ hasLeftIcon: !1,
51
+ hasRightIcon: !1
52
+ }
53
+ }
54
+ ), l = a(
55
+ ["cai-absolute cai-left-3", "cai-flex cai-items-center", "cai-pointer-events-none"],
56
+ {
57
+ variants: {
58
+ error: {
59
+ true: "cai-text-icon-primary-alt",
60
+ false: "cai-text-icon-primary"
61
+ }
62
+ },
63
+ defaultVariants: {
64
+ error: !1
65
+ }
66
+ }
67
+ ), f = a(["cai-absolute cai-right-3", "cai-flex cai-items-center"], {
68
+ variants: {
69
+ variant: {
70
+ error: "cai-text-icon-error",
71
+ suffix: "cai-text-icon-primary cai-pointer-events-none"
72
+ }
73
+ },
74
+ defaultVariants: {
75
+ variant: "suffix"
76
+ }
77
+ }), p = a("cai-flex cai-items-baseline cai-gap-x-2 cai-mt-1.5"), m = a("cai-font-sans cai-text-micro1 cai-font-medium cai-text-primary"), x = a("cai-flex cai-items-center cai-gap-1 cai-mt-1.5"), d = a("cai-font-sans cai-text-xs cai-font-medium cai-text-error-alt"), u = a("cai-flex cai-items-center cai-text-icon-error");
78
+ export {
79
+ u as errorIcon,
80
+ x as errorRow,
81
+ d as errorText,
82
+ p as hintRow,
83
+ m as hintText,
84
+ s as inputField,
85
+ n as inputRow,
86
+ c as inputWrapper,
87
+ r as labelRow,
88
+ o as labelText,
89
+ l as leftIcon,
90
+ f as rightIcon
91
+ };
@@ -0,0 +1,3 @@
1
+ export { Input } from './Input';
2
+ export type { InputProps } from './Input';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),ia=require("react"),o=require("../../utils/cn.cjs"),ta=require("../../utils/focusRing.cjs"),y=require("../Input/Input.variants.cjs"),q=require("../Icon/Icon.cjs"),sa=require("../Tag/Tag.cjs");function na(n){const u=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const p=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(u,t,p.get?p:{enumerable:!0,get:()=>n[t]})}}return u.default=n,Object.freeze(u)}const r=na(ia),oa=({showStatus:n})=>e.jsxs("div",{className:"cai-flex cai-items-center cai-gap-2 cai-px-3 cai-py-2",children:[n&&e.jsx("div",{className:"cai-h-2 cai-w-2 cai-rounded-full cai-bg-secondary cai-animate-pulse"}),e.jsx("div",{className:"cai-h-xl cai-flex-1 cai-rounded cai-bg-secondary cai-animate-pulse"})]}),B=r.forwardRef(({items:n=[],onChange:u,onSearchValueChange:t,selectedValue:p,isLoading:O=!1,showStatus:k=!1,statusVariants:E={},alphabeticalSort:A=!0,clearAllLabel:H="Clear All",placeholder:_="Search...",label:m,disabled:I=!1,error:w,customLoader:K,open:L=!1,id:U,className:W},G)=>{const J=r.useId(),C=U??J,$=`${C}-input`,h=`${C}-listbox`,[l,S]=r.useState(""),[d,R]=r.useState(L),[Q,X]=r.useState([]),[x,v]=r.useState(0),i=p??Q,f=r.useCallback(a=>{p||X(a),u?.(a)},[p,u]),g=r.useRef(null),j=r.useMemo(()=>{const a=[...n];return A&&a.sort((c,s)=>c.label.localeCompare(s.label)),a},[n,A]),b=r.useMemo(()=>{const a=j.filter(c=>!i.includes(c.value));return l?a.filter(c=>c.label.toLowerCase().includes(l.toLowerCase())):a},[j,i,l]),z=r.useMemo(()=>j.filter(a=>i.includes(a.value)),[j,i]),Y=r.useCallback(a=>{const c=a.target.value;S(c),t?.(c),d||R(!0)},[t,d]),Z=r.useCallback(()=>{S(""),t?.(""),g.current?.focus()},[t]),D=r.useCallback(a=>{i.includes(a)||f([...i,a]),S(""),t?.(""),g.current?.focus()},[i,f,t]),T=r.useCallback(a=>{f(i.filter(c=>c!==a))},[i,f]),V=r.useCallback(()=>{f([]),g.current?.focus()},[f]),aa=r.useCallback(()=>{d||R(!0)},[d]);r.useEffect(()=>{v(0)},[l,i]);const ea=r.useCallback(a=>{if(a.key==="Escape"){R(!1);return}if(a.key==="Backspace"&&!l&&i.length>0){T(i[i.length-1]);return}if(!d)return;const c=b.length;if(c!==0){if(a.key==="ArrowDown")a.preventDefault(),v(s=>(s+1)%c);else if(a.key==="ArrowUp")a.preventDefault(),v(s=>(s-1+c)%c);else if(a.key==="Home")a.preventDefault(),v(0);else if(a.key==="End")a.preventDefault(),v(c-1);else if(a.key==="Enter"){a.preventDefault();const s=b[x];s&&!s.disabled&&D(s.value)}}},[l,i,T,d,b,x,D]),F=w?`${C}-error`:void 0,M=!!w,ca=z.length>0,N=d&&!I;return e.jsxs("div",{ref:G,className:o.cn(y.inputWrapper({disabled:I}),W),children:[m&&e.jsx("span",{className:y.labelRow(),children:e.jsx("label",{htmlFor:$,className:o.cn(y.labelText(),"cai-flex-1"),children:m})}),M&&e.jsxs("span",{className:y.errorRow(),id:F,role:"alert",children:[e.jsx("span",{className:y.errorIcon(),children:e.jsx(q.Icon,{name:"alert-circle",size:14,"aria-hidden":"true"})}),e.jsx("span",{className:"cai-font-sans cai-text-xs cai-font-medium cai-text-error",children:w})]}),e.jsxs("div",{className:o.cn("cai-rounded-md cai-border cai-overflow-hidden cai-transition-colors",ta.FOCUS_WITHIN_RING,M?"cai-border-error-alt":d?"cai-border-nonary":"cai-border-septenary hover:cai-bg-secondary hover:cai-border-nonary focus-within:cai-bg-transparent focus-within:cai-border-nonary"),children:[e.jsxs("div",{className:"cai-flex cai-items-center cai-gap-2 cai-px-3 cai-py-2",children:[e.jsx("span",{className:"cai-flex cai-items-center cai-text-icon-primary cai-shrink-0",children:e.jsx(q.Icon,{name:"search-md",size:16,"aria-hidden":"true"})}),e.jsx("input",{ref:g,id:$,type:"text",role:"combobox","aria-expanded":N,"aria-controls":h,"aria-autocomplete":"list","aria-activedescendant":N&&b[x]?`${h}-opt-${x}`:void 0,"aria-describedby":F,"aria-label":m?void 0:_,placeholder:_,disabled:I,value:l,onChange:Y,onFocus:aa,onKeyDown:ea,className:o.cn("cai-flex-1 cai-bg-transparent cai-border-none cai-outline-none","cai-font-sans cai-text-[12px] cai-font-medium cai-text-primary","placeholder:cai-text-primary placeholder:cai-opacity-45")}),l&&e.jsx("button",{type:"button",onClick:Z,"aria-label":"Clear search",className:"cai-flex cai-items-center cai-text-icon-primary cai-cursor-pointer cai-shrink-0",children:e.jsx(q.Icon,{name:"x-close",size:14,"aria-hidden":"true"})})]}),ca&&e.jsxs("div",{className:"cai-border-t cai-border-quaternary cai-px-3 cai-py-2.5",children:[e.jsx("button",{type:"button",onClick:V,className:o.cn("cai-mb-2 cai-font-sans cai-text-xs cai-text-tertiary","cai-underline cai-cursor-pointer cai-bg-transparent cai-border-none cai-p-0","hover:cai-text-secondary"),children:H}),e.jsx("div",{className:"cai-flex cai-flex-wrap cai-gap-1.5",children:z.map(a=>{const c=a.error===!0,s=!c&&a.variant==="avatar"&&a.avatar,ra=!c&&k&&a.status?e.jsx("span",{"aria-hidden":"true",className:o.cn("cai-inline-block cai-w-1.5 cai-h-1.5 cai-rounded-full cai-shrink-0 cai-mr-1",E[a.status]??"cai-bg-icon-information")}):null,P=e.jsxs(sa.Tag,{size:"sm",variant:c?"error":"primary",isClose:!0,onClose:()=>T(a.value),labelClose:"Remove",avatar:s?a.avatar:void 0,children:[ra,a.label]});return c?e.jsxs("span",{className:"cai-relative cai-group/tag",children:[P,e.jsx("span",{className:o.cn("cai-absolute cai-bottom-full cai-left-1/2 cai--translate-x-1/2 cai-mb-2","cai-hidden group-hover/tag:cai-block","cai-bg-quaternary cai-text-primary-invert","cai-text-[11px] cai-leading-snug cai-px-2.5 cai-py-1.5","cai-rounded-md cai-w-[220px] cai-text-center","cai-shadow-medium cai-pointer-events-none cai-z-10"),children:a.errorTooltipLabel??"Invalid Entry"})]},a.value):r.cloneElement(P,{key:a.value})})})]})]}),N&&!O&&e.jsx("div",{id:h,role:"listbox","aria-label":m??"Search results",className:o.cn("cai-mt-1 cai-rounded-md cai-border cai-border-tertiary cai-bg-primary-invert","cai-p-lg cai-shadow-shallow","cai-max-h-[220px] cai-overflow-y-auto"),children:b.length===0?e.jsx("div",{role:"status",className:"cai-p-lg cai-font-sans cai-text-subbody cai-font-medium cai-text-tertiary",children:"No results available"}):b.map((a,c)=>e.jsxs("div",{id:`${h}-opt-${c}`,role:"option","aria-selected":c===x,"aria-disabled":a.disabled,onClick:()=>!a.disabled&&D(a.value),className:o.cn("cai-flex cai-items-center cai-gap-2 cai-rounded-md cai-border cai-border-transparent cai-p-lg","cai-font-sans cai-text-subbody cai-font-medium cai-text-primary","cai-cursor-pointer cai-transition-colors","hover:cai-bg-tertiary",c===x&&"cai-bg-tertiary",a.disabled&&"cai-opacity-40 cai-pointer-events-none"),children:[k&&a.status&&e.jsx("span",{className:o.cn("cai-w-2 cai-h-2 cai-rounded-full cai-shrink-0",E[a.status]??"cai-bg-icon-information")}),a.variant==="avatar"&&a.avatar&&e.jsx("span",{className:"cai-shrink-0",children:a.avatar}),a.variant==="icon"&&a.icon&&e.jsx("span",{className:"cai-shrink-0 cai-text-icon-primary",children:a.icon}),e.jsx("span",{className:"cai-flex-1 cai-truncate",children:a.label}),a.supportText&&e.jsx("span",{className:"cai-text-tertiary cai-text-sm cai-truncate cai-shrink-0",children:a.supportText})]},a.value))}),N&&O&&e.jsx("div",{id:h,role:"listbox","aria-label":m??"Search results","aria-busy":"true",className:"cai-mt-1 cai-rounded-md cai-border cai-border-tertiary cai-bg-primary-invert cai-p-lg cai-shadow-shallow cai-overflow-hidden",children:K??e.jsx(e.Fragment,{children:Array.from({length:5}).map((a,c)=>e.jsx(oa,{showStatus:k},c))})})]})});B.displayName="InputSearch";exports.InputSearch=B;
@@ -0,0 +1,62 @@
1
+ import * as React from 'react';
2
+ export interface InputSearchItemProps {
3
+ /** Display text (required). */
4
+ label: string;
5
+ /** Unique identifier (required). */
6
+ value: string;
7
+ /** Visual type for the item row. */
8
+ variant?: 'default' | 'avatar' | 'icon';
9
+ /** Icon element (used when variant is 'icon'). */
10
+ icon?: React.ReactElement;
11
+ /** Avatar element (used when variant is 'avatar'). Pass an `<Avatar />` atom; size='md' (24px) is the recommended default for dropdown rows. */
12
+ avatar?: React.ReactElement;
13
+ /** Status indicator key. */
14
+ status?: string;
15
+ /** Secondary text displayed to the right. */
16
+ supportText?: string;
17
+ /** Prevents selection of this item. */
18
+ disabled?: boolean;
19
+ /** Marks item as invalid (shows error badge). */
20
+ error?: boolean;
21
+ /** Custom error tooltip text. */
22
+ errorTooltipLabel?: string;
23
+ }
24
+ export interface InputSearchProps {
25
+ /** List of searchable items. */
26
+ items?: InputSearchItemProps[];
27
+ /** Selection change callback. */
28
+ onChange?: (value: string[]) => void;
29
+ /** Search text change callback. */
30
+ onSearchValueChange?: (inputValue: string) => void;
31
+ /** Controlled selected values. */
32
+ selectedValue?: string[];
33
+ /** Shows skeleton loaders in the dropdown. */
34
+ isLoading?: boolean;
35
+ /** Displays status dots on items. */
36
+ showStatus?: boolean;
37
+ /** Status dot class map (e.g. { success: 'cai-bg-icon-success' }). */
38
+ statusVariants?: Record<string, string>;
39
+ /** Sort items alphabetically (default: true). */
40
+ alphabeticalSort?: boolean;
41
+ /** Label for the clear button (default: 'Clear All'). */
42
+ clearAllLabel?: string;
43
+ /** Input placeholder text (default: 'Search...'). */
44
+ placeholder?: string;
45
+ /** Field label above the component. */
46
+ label?: string;
47
+ /** Disables the entire component. */
48
+ disabled?: boolean;
49
+ /** Error message displayed below the label. */
50
+ error?: string;
51
+ /** Custom skeleton for loading state. */
52
+ customLoader?: React.ReactNode;
53
+ /** Initial open state. */
54
+ open?: boolean;
55
+ /** Component id. */
56
+ id?: string;
57
+ /** Additional class names on the outer wrapper. */
58
+ className?: string;
59
+ }
60
+ declare const InputSearch: React.ForwardRefExoticComponent<InputSearchProps & React.RefAttributes<HTMLDivElement>>;
61
+ export { InputSearch };
62
+ //# sourceMappingURL=InputSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputSearch.d.ts","sourceRoot":"","sources":["../../../src/components/InputSearch/InputSearch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAiB9B,MAAM,WAAW,oBAAoB;IACnC,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;IACvC,kDAAkD;IAClD,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IACzB,gJAAgJ;IAChJ,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAC3B,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iDAAiD;IACjD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,iCAAiC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAC9B,iCAAiC;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACpC,mCAAmC;IACnC,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,qCAAqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yCAAyC;IACzC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,0BAA0B;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,oBAAoB;IACpB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAoBD,QAAA,MAAM,WAAW,yFAsZhB,CAAA;AAID,OAAO,EAAE,WAAW,EAAE,CAAA"}