@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,342 @@
1
+ import { jsxs as d, jsx as a, Fragment as G } from "react/jsx-runtime";
2
+ import * as r from "react";
3
+ import { RadioIndicator as _, CheckboxIndicator as J } from "../_shared/SelectionIndicators.js";
4
+ import { FOCUS_RING as Q } from "../../utils/focusRing.js";
5
+ import { cn as x } from "../../utils/cn.js";
6
+ import { Popover as V, PopoverTrigger as X, PopoverContent as Y } from "../Popover/Popover.js";
7
+ import { Avatar as Z } from "../Avatar/Avatar.js";
8
+ const ee = () => /* @__PURE__ */ a(
9
+ "svg",
10
+ {
11
+ width: "14",
12
+ height: "14",
13
+ viewBox: "0 0 24 24",
14
+ fill: "none",
15
+ stroke: "currentColor",
16
+ strokeWidth: "2",
17
+ strokeLinecap: "round",
18
+ strokeLinejoin: "round",
19
+ "aria-hidden": "true",
20
+ children: /* @__PURE__ */ a("path", { d: "M6 9l6 6 6-6" })
21
+ }
22
+ ), ae = () => /* @__PURE__ */ d(
23
+ "svg",
24
+ {
25
+ width: "14",
26
+ height: "14",
27
+ viewBox: "0 0 24 24",
28
+ fill: "none",
29
+ stroke: "currentColor",
30
+ strokeWidth: "2",
31
+ strokeLinecap: "round",
32
+ strokeLinejoin: "round",
33
+ "aria-hidden": "true",
34
+ children: [
35
+ /* @__PURE__ */ a("circle", { cx: "12", cy: "12", r: "10" }),
36
+ /* @__PURE__ */ a("line", { x1: "12", y1: "8", x2: "12", y2: "12" }),
37
+ /* @__PURE__ */ a("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })
38
+ ]
39
+ }
40
+ ), te = {
41
+ online: "cai-bg-[var(--comp-success-bg)]",
42
+ busy: "cai-bg-[var(--comp-error-bg)]",
43
+ offline: "cai-bg-[var(--icon-tertiary)]"
44
+ };
45
+ function L(n) {
46
+ return n == null ? [] : Array.isArray(n) ? n : [n];
47
+ }
48
+ const ie = ({ status: n }) => /* @__PURE__ */ a(
49
+ "span",
50
+ {
51
+ className: x(
52
+ "cai-h-2 cai-w-2 cai-shrink-0 cai-rounded-full",
53
+ n ? te[n] : "cai-bg-[var(--icon-tertiary)]"
54
+ ),
55
+ "aria-hidden": "true"
56
+ }
57
+ ), re = ({
58
+ id: n,
59
+ item: t,
60
+ variant: o,
61
+ selected: u,
62
+ active: m,
63
+ onToggle: h,
64
+ onHover: g
65
+ }) => {
66
+ const y = r.useCallback(() => {
67
+ h(t.value);
68
+ }, [t.value, h]);
69
+ return /* @__PURE__ */ d(
70
+ "div",
71
+ {
72
+ id: n,
73
+ role: "option",
74
+ "aria-selected": u,
75
+ onClick: y,
76
+ onMouseEnter: g,
77
+ className: x(
78
+ /* DropdownMenu item pattern: rounded-md, p-lg padding, transparent border, transition-colors. */
79
+ "cai-flex cai-cursor-pointer cai-select-none cai-items-center cai-gap-md cai-rounded-md cai-border cai-border-transparent cai-p-lg",
80
+ "cai-text-subbody cai-font-medium cai-text-primary",
81
+ "cai-outline-none cai-transition-colors",
82
+ /* Precedence: the avatar selected state (persistent lock-in) wins
83
+ * over hover/keyboard-active. For single + multi variants, selection
84
+ * is conveyed by the radio/checkbox indicator alone — only
85
+ * hover/keyboard-active rows tint via bg-tertiary.
86
+ *
87
+ * - Avatar selected (resting OR hovered): bg-secondary (selected wins)
88
+ * - Avatar unselected, hover/active: bg-tertiary
89
+ * - Avatar unselected, resting: transparent
90
+ * - Single/multi resting: transparent
91
+ * - Single/multi hover/active: bg-tertiary
92
+ * - Single/multi never receive bg-secondary
93
+ */
94
+ o === "avatar" && u ? "cai-bg-secondary" : m && "cai-bg-tertiary"
95
+ ),
96
+ children: [
97
+ o === "single" && /* @__PURE__ */ a(_, { checked: u }),
98
+ o === "multi" && /* @__PURE__ */ a(J, { checked: u }),
99
+ o === "avatar" && /* @__PURE__ */ a(ie, { status: t.status }),
100
+ o === "avatar" && t.avatar ? /* @__PURE__ */ a("span", { className: "cai-flex cai-shrink-0 cai-items-center", children: t.avatar }) : o === "avatar" ? /* @__PURE__ */ a(Z, { variant: "initials", size: "sm", initials: t.label.slice(0, 2) }) : null,
101
+ o === "avatar" ? /* @__PURE__ */ d(G, { children: [
102
+ /* @__PURE__ */ a("span", { className: "cai-truncate cai-font-semibold cai-text-primary", children: t.label }),
103
+ t.supportText && /* @__PURE__ */ a("span", { className: "cai-ml-auto cai-text-subbody cai-text-secondary", children: t.supportText })
104
+ ] }) : /* @__PURE__ */ d("span", { className: "cai-flex cai-flex-col cai-gap-y-xxs", children: [
105
+ /* @__PURE__ */ a("span", { className: "cai-font-semibold cai-text-primary", children: t.label }),
106
+ t.supportText && /* @__PURE__ */ a("span", { className: "cai-text-subbody cai-text-secondary", children: t.supportText })
107
+ ] })
108
+ ]
109
+ }
110
+ );
111
+ }, ce = r.forwardRef(
112
+ ({
113
+ variant: n = "single",
114
+ items: t = [],
115
+ selectedValue: o,
116
+ onSelect: u,
117
+ placeholder: m = "Select an option",
118
+ label: h,
119
+ labelRight: g,
120
+ errorText: y,
121
+ required: R = !1,
122
+ disabled: T = !1,
123
+ id: P,
124
+ className: B
125
+ }, F) => {
126
+ const W = r.useId(), b = P ?? W, j = `${b}-listbox`, $ = y ? `${b}-message` : void 0, N = r.useCallback((e) => `${b}-opt-${e}`, [b]), f = n === "multi" || n === "avatar", v = !!y, [k, I] = r.useState(!1), [l, p] = r.useState(-1), D = r.useRef(null), H = r.useRef({ text: "", timer: null }), w = o !== void 0, [K, M] = r.useState(() => L(o));
127
+ r.useEffect(() => {
128
+ w && M(L(o));
129
+ }, [w, o]);
130
+ const c = w ? L(o) : K, S = r.useCallback(
131
+ (e) => {
132
+ w || M(e), u && u(f ? e : e[0]);
133
+ },
134
+ [w, f, u]
135
+ ), A = r.useCallback(
136
+ (e) => {
137
+ if (f) {
138
+ const s = c.includes(e) ? c.filter((C) => C !== e) : [...c, e];
139
+ S(s);
140
+ } else {
141
+ const i = c[0] === e ? [] : [e];
142
+ S(i), I(!1);
143
+ }
144
+ },
145
+ [S, c, f]
146
+ );
147
+ r.useEffect(() => {
148
+ if (!k) return;
149
+ const e = t.findIndex((s) => c.includes(s.value));
150
+ p(e >= 0 ? e : 0);
151
+ const i = setTimeout(() => D.current?.focus(), 0);
152
+ return () => clearTimeout(i);
153
+ }, [k, t, c]), r.useEffect(() => {
154
+ if (!k || l < 0) return;
155
+ D.current?.querySelector(
156
+ `#${CSS.escape(N(l))}`
157
+ )?.scrollIntoView({ block: "nearest" });
158
+ }, [l, k, N]);
159
+ const U = r.useCallback(
160
+ (e) => {
161
+ if (t.length) {
162
+ if (e.key === "ArrowDown")
163
+ e.preventDefault(), p((i) => (i + 1) % t.length);
164
+ else if (e.key === "ArrowUp")
165
+ e.preventDefault(), p((i) => i <= 0 ? t.length - 1 : i - 1);
166
+ else if (e.key === "Home")
167
+ e.preventDefault(), p(0);
168
+ else if (e.key === "End")
169
+ e.preventDefault(), p(t.length - 1);
170
+ else if (e.key === "Enter" || e.key === " ")
171
+ e.preventDefault(), l >= 0 && A(t[l].value);
172
+ else if (e.key === "Escape")
173
+ e.preventDefault(), I(!1);
174
+ else if (e.key.length === 1 && /\S/.test(e.key)) {
175
+ const i = H.current;
176
+ i.timer && clearTimeout(i.timer), i.text = (i.text + e.key).toLowerCase();
177
+ const s = l >= 0 ? l + 1 : 0, C = t.length;
178
+ for (let E = 0; E < C; E += 1) {
179
+ const O = (s + E) % C;
180
+ if (t[O].label.toLowerCase().startsWith(i.text)) {
181
+ p(O);
182
+ break;
183
+ }
184
+ }
185
+ i.timer = setTimeout(() => {
186
+ i.text = "";
187
+ }, 600);
188
+ }
189
+ }
190
+ },
191
+ [t, l, A]
192
+ ), q = r.useMemo(() => {
193
+ if (f) {
194
+ const s = c.length;
195
+ return s > 0 ? `${s} Selected` : m;
196
+ }
197
+ const e = c[0];
198
+ return e ? t.find((s) => s.value === e)?.label ?? m : m;
199
+ }, [c, f, t, m]), z = r.useMemo(() => f ? c.length === 0 : !c[0], [c, f]);
200
+ return /* @__PURE__ */ d(
201
+ "div",
202
+ {
203
+ className: x(
204
+ "cai-flex cai-w-full cai-flex-col cai-gap-y-xs cai-font-sans",
205
+ T && "cai-pointer-events-none cai-opacity-40",
206
+ B
207
+ ),
208
+ children: [
209
+ (h || g) && /* @__PURE__ */ d("div", { className: "cai-flex cai-items-center cai-justify-between", children: [
210
+ h ? /* @__PURE__ */ d(
211
+ "label",
212
+ {
213
+ htmlFor: b,
214
+ className: "cai-text-[13px] cai-font-medium cai-text-primary",
215
+ children: [
216
+ h,
217
+ R && /* @__PURE__ */ a("span", { className: "cai-ml-0.5 cai-text-icon-error", "aria-hidden": "true", children: "*" })
218
+ ]
219
+ }
220
+ ) : /* @__PURE__ */ a("span", {}),
221
+ g && /* @__PURE__ */ a("span", { className: "cai-ml-auto cai-text-eyebrow1 cai-font-medium cai-text-primary", children: g })
222
+ ] }),
223
+ /* @__PURE__ */ d(V, { open: k, onOpenChange: I, children: [
224
+ /* @__PURE__ */ a(X, { asChild: !0, children: /* @__PURE__ */ d(
225
+ "button",
226
+ {
227
+ ref: F,
228
+ id: b,
229
+ type: "button",
230
+ disabled: T,
231
+ "aria-required": R || void 0,
232
+ "aria-invalid": v || void 0,
233
+ "aria-describedby": $,
234
+ "aria-controls": j,
235
+ className: x(
236
+ "cai-group cai-flex cai-w-full cai-items-center cai-justify-between cai-gap-md cai-rounded-md cai-border cai-px-[14px] cai-py-[10px]",
237
+ "cai-text-[12px] cai-font-medium",
238
+ "cai-outline-none cai-transition-colors",
239
+ Q,
240
+ v ? "cai-border-error cai-bg-error cai-text-primary-alt focus-visible:cai-border-error" : [
241
+ "cai-border-septenary cai-bg-primary-invert cai-text-primary",
242
+ /* Wrapper hover applies only in the default state. Scoping
243
+ * via data-[state=closed] keeps hover from competing with
244
+ * the open-state border treatment, and focus-visible (via
245
+ * the FOCUS_RING utility) takes precedence over the hover
246
+ * background by source order. */
247
+ "data-[state=closed]:hover:cai-border-nonary data-[state=closed]:hover:cai-bg-secondary",
248
+ "focus-visible:cai-border-brand-primary",
249
+ "data-[state=open]:cai-border-nonary"
250
+ ]
251
+ ),
252
+ children: [
253
+ /* @__PURE__ */ a(
254
+ "span",
255
+ {
256
+ className: x(
257
+ "cai-flex-1 cai-truncate cai-text-left",
258
+ z && !v && "cai-text-primary",
259
+ v && "cai-text-primary-alt"
260
+ ),
261
+ children: q
262
+ }
263
+ ),
264
+ /* @__PURE__ */ a(
265
+ "span",
266
+ {
267
+ className: x(
268
+ "cai-flex cai-shrink-0 cai-items-center cai-transition-transform cai-duration-200",
269
+ "group-data-[state=open]:cai-rotate-180",
270
+ v ? "cai-text-icon-primary-alt" : "cai-text-tertiary"
271
+ ),
272
+ children: /* @__PURE__ */ a(ee, {})
273
+ }
274
+ )
275
+ ]
276
+ }
277
+ ) }),
278
+ /* @__PURE__ */ a(
279
+ Y,
280
+ {
281
+ align: "start",
282
+ sideOffset: 4,
283
+ className: x(
284
+ /* Panel matches the DropdownMenuContent pattern: rounded-md (8px),
285
+ * 1px tertiary border, primary-invert background, p-lg padding,
286
+ * shallow shadow. */
287
+ "cai-w-[var(--radix-popover-trigger-width)] cai-max-w-none",
288
+ "cai-rounded-md cai-border cai-border-tertiary cai-bg-primary-invert cai-p-lg cai-shadow-shallow"
289
+ ),
290
+ children: /* @__PURE__ */ a(
291
+ "div",
292
+ {
293
+ ref: D,
294
+ id: j,
295
+ role: "listbox",
296
+ tabIndex: -1,
297
+ "aria-multiselectable": f || void 0,
298
+ "aria-activedescendant": l >= 0 ? N(l) : void 0,
299
+ onKeyDown: U,
300
+ className: "cai-flex cai-max-h-[280px] cai-flex-col cai-gap-y-xxs cai-overflow-y-auto cai-outline-none",
301
+ children: t.map((e, i) => {
302
+ const s = c.includes(e.value);
303
+ return /* @__PURE__ */ a(
304
+ re,
305
+ {
306
+ id: N(i),
307
+ item: e,
308
+ variant: n,
309
+ selected: s,
310
+ active: i === l,
311
+ onToggle: A,
312
+ onHover: () => p(i)
313
+ },
314
+ e.value
315
+ );
316
+ })
317
+ }
318
+ )
319
+ }
320
+ )
321
+ ] }),
322
+ y && /* @__PURE__ */ d(
323
+ "div",
324
+ {
325
+ id: $,
326
+ role: "alert",
327
+ className: "cai-mt-xs cai-flex cai-items-center cai-gap-1",
328
+ children: [
329
+ /* @__PURE__ */ a("span", { className: "cai-flex cai-items-center cai-text-icon-error", children: /* @__PURE__ */ a(ae, {}) }),
330
+ /* @__PURE__ */ a("span", { className: "cai-font-sans cai-text-xs cai-font-medium cai-pt-[3px] cai-text-error", children: y })
331
+ ]
332
+ }
333
+ )
334
+ ]
335
+ }
336
+ );
337
+ }
338
+ );
339
+ ce.displayName = "DropdownSelect";
340
+ export {
341
+ ce as DropdownSelect
342
+ };
@@ -0,0 +1,3 @@
1
+ export { DropdownSelect } from './DropdownSelect';
2
+ export type { DropdownSelectProps, DropdownSelectItemProps, DropdownSelectVariant, DropdownSelectStatus, } from './DropdownSelect';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DropdownSelect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),w=require("react"),n=require("../../utils/cn.cjs"),v=require("../../utils/focusRing.cjs"),I=require("../ProgressCircle/ProgressCircle.cjs"),t=require("../Icon/Icon.cjs");function N(a){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const r in a)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(a,r);Object.defineProperty(i,r,o.get?o:{enumerable:!0,get:()=>a[r]})}}return i.default=a,Object.freeze(i)}const z=N(w),O={uploaded:e.jsx(t.Icon,{name:"trash-01",size:16}),uploading:e.jsx(t.Icon,{name:"x-close",size:16}),error:e.jsx(t.Icon,{name:"refresh-cw-01",size:16}),download:e.jsx(t.Icon,{name:"download-01",size:16})},R={uploaded:"Delete file",uploading:"Cancel upload",error:"Retry upload",download:"Download file"},s=z.forwardRef(({fileName:a,variant:i="uploading",fileSize:r,filetypeIcon:o,errorMessage:l="Upload your files again. There was a problem with the server.",loadingLabel:d="Loading",onActionClick:u,iconLabel:x,actionIcon:m,className:p,...f},y)=>{const c=i==="error",b=i==="uploading",h=m??O[i],g=x??R[i],j=o??e.jsx(t.Icon,{name:"file-04",size:24,strokeWidth:1.5});return e.jsxs("div",{ref:y,className:n.cn("cai-flex cai-w-full cai-min-w-[180px] cai-items-center","cai-rounded-xl cai-border cai-border-tertiary cai-bg-primary-invert","cai-p-[8px] cai-text-primary","focus-within:cai-border-brand-primary focus-within:cai-outline",v.FOCUS_WITHIN_RING,c&&"!cai-border-error-alt !cai-bg-error",p),...f,children:[e.jsxs("div",{className:"cai-flex cai-items-center cai-gap-x-[8px] cai-min-w-0 cai-flex-1",children:[e.jsx("div",{className:"cai-flex cai-items-center cai-justify-center cai-flex-shrink-0",style:{width:40,height:40,color:c?"var(--icon-primary-alt)":"var(--icon-primary)"},children:b?e.jsx(I.ProgressCircle,{size:"xxs",indeterminate:!0,label:d}):j}),e.jsxs("div",{className:"cai-flex cai-flex-col cai-gap-y-xxs cai-min-w-0",children:[e.jsx("span",{className:"cai-text-subbody cai-font-semibold cai-truncate",style:c?{color:"var(--text-primary-alt)"}:void 0,children:a}),c?e.jsxs("div",{className:"cai-flex cai-items-center cai-gap-x-[4px] cai-min-w-0",style:{color:"var(--text-error-alt)"},children:[e.jsx("span",{className:"cai-flex-shrink-0 cai-inline-flex cai-items-center",style:{color:"var(--icon-error-alt)"},children:e.jsx(t.Icon,{name:"alert-circle",size:12})}),e.jsx("span",{className:"cai-text-micro1 cai-font-semibold cai-truncate cai-min-w-0",style:{color:"var(--text-error-alt)"},children:l})]}):r&&e.jsx("span",{className:"cai-text-micro1 cai-text-tertiary",children:r})]})]}),e.jsx("button",{type:"button",onClick:u,"aria-label":g,className:n.cn("cai-flex cai-items-center cai-justify-center","cai-border-none cai-bg-transparent cai-cursor-pointer",!c&&"cai-text-secondary hover:cai-text-primary","cai-rounded-sm cai-flex-shrink-0 cai-transition-colors","focus:cai-outline-none"),style:{width:32,height:32,padding:0,marginLeft:12,...c?{color:"var(--icon-primary-alt)"}:{}},children:h})]})});s.displayName="FileStatus";exports.FileStatus=s;
@@ -0,0 +1,25 @@
1
+ import * as React from 'react';
2
+ type FileStatusVariant = 'uploaded' | 'uploading' | 'error' | 'download';
3
+ export interface FileStatusProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
4
+ /** File name to display (required). */
5
+ fileName: string;
6
+ /** Current status variant. */
7
+ variant?: FileStatusVariant;
8
+ /** File size text (e.g. "200 KB"). */
9
+ fileSize?: string;
10
+ /** Icon element for the file type indicator. Rendered when not uploading. */
11
+ filetypeIcon?: React.ReactElement;
12
+ /** Error description (error variant only). */
13
+ errorMessage?: string;
14
+ /** Aria-label for the progress circle in uploading state. */
15
+ loadingLabel?: string;
16
+ /** Click handler for the action button (delete, cancel, retry, download). */
17
+ onActionClick: () => void;
18
+ /** Aria-label for the action button. */
19
+ iconLabel?: string;
20
+ /** Custom action icon override. */
21
+ actionIcon?: React.ReactElement;
22
+ }
23
+ declare const FileStatus: React.ForwardRefExoticComponent<FileStatusProps & React.RefAttributes<HTMLDivElement>>;
24
+ export { FileStatus };
25
+ //# sourceMappingURL=FileStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileStatus.d.ts","sourceRoot":"","sources":["../../../src/components/FileStatus/FileStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,KAAK,iBAAiB,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,UAAU,CAAA;AAExE,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC7F,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IACjC,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,6EAA6E;IAC7E,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mCAAmC;IACnC,UAAU,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;CAChC;AAgBD,QAAA,MAAM,UAAU,wFAkHf,CAAA;AAID,OAAO,EAAE,UAAU,EAAE,CAAA"}
@@ -0,0 +1,127 @@
1
+ import { jsxs as c, jsx as e } from "react/jsx-runtime";
2
+ import * as v from "react";
3
+ import { cn as t } from "../../utils/cn.js";
4
+ import { FOCUS_WITHIN_RING as N } from "../../utils/focusRing.js";
5
+ import { ProgressCircle as I } from "../ProgressCircle/ProgressCircle.js";
6
+ import { Icon as a } from "../Icon/Icon.js";
7
+ const z = {
8
+ uploaded: /* @__PURE__ */ e(a, { name: "trash-01", size: 16 }),
9
+ uploading: /* @__PURE__ */ e(a, { name: "x-close", size: 16 }),
10
+ error: /* @__PURE__ */ e(a, { name: "refresh-cw-01", size: 16 }),
11
+ download: /* @__PURE__ */ e(a, { name: "download-01", size: 16 })
12
+ }, k = {
13
+ uploaded: "Delete file",
14
+ uploading: "Cancel upload",
15
+ error: "Retry upload",
16
+ download: "Download file"
17
+ }, j = v.forwardRef(
18
+ ({
19
+ fileName: l,
20
+ variant: r = "uploading",
21
+ fileSize: o,
22
+ filetypeIcon: n,
23
+ errorMessage: s = "Upload your files again. There was a problem with the server.",
24
+ loadingLabel: d = "Loading",
25
+ onActionClick: m,
26
+ iconLabel: p,
27
+ actionIcon: x,
28
+ className: f,
29
+ ...u
30
+ }, h) => {
31
+ const i = r === "error", y = r === "uploading", b = x ?? z[r], g = p ?? k[r], w = n ?? /* @__PURE__ */ e(a, { name: "file-04", size: 24, strokeWidth: 1.5 });
32
+ return /* @__PURE__ */ c(
33
+ "div",
34
+ {
35
+ ref: h,
36
+ className: t(
37
+ "cai-flex cai-w-full cai-min-w-[180px] cai-items-center",
38
+ "cai-rounded-xl cai-border cai-border-tertiary cai-bg-primary-invert",
39
+ "cai-p-[8px] cai-text-primary",
40
+ "focus-within:cai-border-brand-primary focus-within:cai-outline",
41
+ N,
42
+ i && "!cai-border-error-alt !cai-bg-error",
43
+ f
44
+ ),
45
+ ...u,
46
+ children: [
47
+ /* @__PURE__ */ c("div", { className: "cai-flex cai-items-center cai-gap-x-[8px] cai-min-w-0 cai-flex-1", children: [
48
+ /* @__PURE__ */ e(
49
+ "div",
50
+ {
51
+ className: "cai-flex cai-items-center cai-justify-center cai-flex-shrink-0",
52
+ style: {
53
+ width: 40,
54
+ height: 40,
55
+ color: i ? "var(--icon-primary-alt)" : "var(--icon-primary)"
56
+ },
57
+ children: y ? /* @__PURE__ */ e(I, { size: "xxs", indeterminate: !0, label: d }) : w
58
+ }
59
+ ),
60
+ /* @__PURE__ */ c("div", { className: "cai-flex cai-flex-col cai-gap-y-xxs cai-min-w-0", children: [
61
+ /* @__PURE__ */ e(
62
+ "span",
63
+ {
64
+ className: "cai-text-subbody cai-font-semibold cai-truncate",
65
+ style: i ? { color: "var(--text-primary-alt)" } : void 0,
66
+ children: l
67
+ }
68
+ ),
69
+ i ? /* @__PURE__ */ c(
70
+ "div",
71
+ {
72
+ className: "cai-flex cai-items-center cai-gap-x-[4px] cai-min-w-0",
73
+ style: { color: "var(--text-error-alt)" },
74
+ children: [
75
+ /* @__PURE__ */ e(
76
+ "span",
77
+ {
78
+ className: "cai-flex-shrink-0 cai-inline-flex cai-items-center",
79
+ style: { color: "var(--icon-error-alt)" },
80
+ children: /* @__PURE__ */ e(a, { name: "alert-circle", size: 12 })
81
+ }
82
+ ),
83
+ /* @__PURE__ */ e(
84
+ "span",
85
+ {
86
+ className: "cai-text-micro1 cai-font-semibold cai-truncate cai-min-w-0",
87
+ style: { color: "var(--text-error-alt)" },
88
+ children: s
89
+ }
90
+ )
91
+ ]
92
+ }
93
+ ) : o && /* @__PURE__ */ e("span", { className: "cai-text-micro1 cai-text-tertiary", children: o })
94
+ ] })
95
+ ] }),
96
+ /* @__PURE__ */ e(
97
+ "button",
98
+ {
99
+ type: "button",
100
+ onClick: m,
101
+ "aria-label": g,
102
+ className: t(
103
+ "cai-flex cai-items-center cai-justify-center",
104
+ "cai-border-none cai-bg-transparent cai-cursor-pointer",
105
+ !i && "cai-text-secondary hover:cai-text-primary",
106
+ "cai-rounded-sm cai-flex-shrink-0 cai-transition-colors",
107
+ "focus:cai-outline-none"
108
+ ),
109
+ style: {
110
+ width: 32,
111
+ height: 32,
112
+ padding: 0,
113
+ marginLeft: 12,
114
+ ...i ? { color: "var(--icon-primary-alt)" } : {}
115
+ },
116
+ children: b
117
+ }
118
+ )
119
+ ]
120
+ }
121
+ );
122
+ }
123
+ );
124
+ j.displayName = "FileStatus";
125
+ export {
126
+ j as FileStatus
127
+ };
@@ -0,0 +1,3 @@
1
+ export { FileStatus } from './FileStatus';
2
+ export type { FileStatusProps } from './FileStatus';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FileStatus/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 s=require("react/jsx-runtime"),B=require("react"),N=require("../../utils/cn.cjs"),K=require("../../utils/focusRing.cjs"),W=require("../Icon/Icon.cjs");function G(o){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const n in o)if(n!=="default"){const l=Object.getOwnPropertyDescriptor(o,n);Object.defineProperty(i,n,l.get?l:{enumerable:!0,get:()=>o[n]})}}return i.default=o,Object.freeze(i)}const r=G(B),w=r.forwardRef(({name:o,accept:i,multiple:n=!1,maxSize:l,disabled:t=!1,files:p,icon:I,instructionTextStrong:O="Select to upload",instructionTextNormal:R="or drag and drop",uploadSpecificationText:x="PDF or TXT files only (3 MB max)",ariaLabel:P="File upload drop zone",onChange:d,onDrag:g,onDrop:v,onError:m,className:L,...M},T)=>{const D=r.useId(),j=`${D}-file-input`,y=`${D}-file-spec`,[$,b]=r.useState(!1),h=r.useRef(null),k=r.useCallback(e=>{const a=[];for(const c of e){if(i){const S=i.split(",").map(u=>u.trim().toLowerCase()),z=`.${c.name.split(".").pop()?.toLowerCase()}`,F=c.type.toLowerCase();if(!S.some(u=>u===z||u===F||u.endsWith("/*")&&F.startsWith(u.replace("/*","/")))){m?.(new Error(`File "${c.name}" is not an accepted file type.`));continue}}if(l&&c.size>l){m?.(new Error(`File "${c.name}" exceeds the maximum size of ${Math.round(l/1024/1024)} MB.`));continue}a.push(c)}return a},[i,l,m]),f=r.useCallback(e=>{const a=k(e);a.length!==0&&d?.(p!==void 0&&n?[...p,...a]:a)},[k,p,d,n]),q=r.useCallback(e=>{const a=e.target.files;!a||a.length===0||(f(Array.from(a)),e.target.value="")},[f]),C=r.useCallback(e=>{e.preventDefault(),e.stopPropagation(),!t&&(b(!0),g?.(e))},[t,g]),A=r.useCallback(e=>{e.preventDefault(),e.stopPropagation(),b(!1)},[]),U=r.useCallback(e=>{if(e.preventDefault(),e.stopPropagation(),b(!1),t)return;const a=Array.from(e.dataTransfer.files);if(a.length===0)return;const c=n?a:[a[0]];v?.(c),f(c)},[t,n,v,f]),_=r.useCallback(()=>{t||h.current?.click()},[t]),E=r.useCallback(e=>{t||(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),h.current?.click())},[t]);return s.jsx("div",{ref:T,className:N.cn("cai-w-full",L),...M,children:s.jsxs("label",{htmlFor:j,className:"cai-block cai-cursor-pointer",children:[s.jsxs("div",{role:"button",tabIndex:t?-1:0,"aria-label":P,"aria-disabled":t||void 0,"aria-describedby":y,onDragOver:C,onDragEnter:C,onDragLeave:A,onDrop:U,onClick:_,onKeyDown:E,className:N.cn("cai-flex cai-w-full cai-flex-col cai-items-center","cai-rounded-xl cai-border","cai-bg-secondary cai-px-3xl cai-py-4xl","cai-transition-colors cai-cursor-pointer",K.FOCUS_RING,$?"cai-border-2 cai-border-brand-primary":"cai-border-tertiary hover:cai-border-brand-primary",t&&"cai-pointer-events-none cai-opacity-40"),children:[s.jsx("span",{className:"cai-text-primary cai-mb-2",children:I??s.jsx(W.Icon,{name:"upload-02",size:24})}),s.jsxs("div",{className:"cai-font-sans cai-text-base",children:[s.jsx("span",{className:"cai-font-semibold cai-text-primary",children:O}),s.jsx("span",{className:"cai-ml-1 cai-font-medium cai-text-secondary",children:R})]}),x&&s.jsx("p",{id:y,className:"cai-font-sans cai-text-sm cai-font-normal cai-text-tertiary cai-mt-1",children:x})]}),s.jsx("input",{ref:h,id:j,type:"file",name:o,accept:i,multiple:n,disabled:t,onChange:q,"aria-describedby":y,className:"cai-sr-only",tabIndex:-1})]})})});w.displayName="FileUpload";exports.FileUpload=w;
@@ -0,0 +1,38 @@
1
+ import * as React from 'react';
2
+ export interface FileUploadProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onError' | 'onDrop' | 'onDrag'> {
3
+ /** Input name attribute. */
4
+ name?: string;
5
+ /** Accepted file types (e.g. '.jpg, .png'). */
6
+ accept?: string;
7
+ /** Allow multiple file selection. */
8
+ multiple?: boolean;
9
+ /** Maximum file size in bytes. */
10
+ maxSize?: number;
11
+ /** Disable interaction. */
12
+ disabled?: boolean;
13
+ /** Controlled file list. */
14
+ files?: File[];
15
+ /** Upload icon element (rendered above instruction text). */
16
+ icon?: React.ReactNode;
17
+ /** Bold instruction text (default: 'Select to upload'). */
18
+ instructionTextStrong?: string;
19
+ /** Regular instruction text (default: 'or drag and drop'). */
20
+ instructionTextNormal?: string;
21
+ /** File type/size hint text (default: 'PDF or TXT files only (3 MB max)'). */
22
+ uploadSpecificationText?: string;
23
+ /** Accessible label for the drop zone. */
24
+ ariaLabel?: string;
25
+ /** File selection callback. */
26
+ onChange?: (files: File[]) => void;
27
+ /** Drag-over callback. */
28
+ onDrag?: (event: React.DragEvent<HTMLDivElement>) => void;
29
+ /** Drop callback. */
30
+ onDrop?: (files: File[]) => void;
31
+ /** Validation error callback. */
32
+ onError?: (error: Error) => void;
33
+ /** Additional class names on the outer wrapper. */
34
+ className?: string;
35
+ }
36
+ declare const FileUpload: React.ForwardRefExoticComponent<FileUploadProps & React.RefAttributes<HTMLDivElement>>;
37
+ export { FileUpload };
38
+ //# sourceMappingURL=FileUpload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileUpload.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/FileUpload.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAS9B,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EACpC,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAC7C;IACC,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,IAAI,EAAE,CAAA;IACd,6DAA6D;IAC7D,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,2DAA2D;IAC3D,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,8DAA8D;IAC9D,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,8EAA8E;IAC9E,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IAClC,0BAA0B;IAC1B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IACzD,qBAAqB;IACrB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IAChC,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD,QAAA,MAAM,UAAU,wFA6Nf,CAAA;AAID,OAAO,EAAE,UAAU,EAAE,CAAA"}