@shadow-library/ui 0.1.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (544) hide show
  1. package/README.md +21 -23
  2. package/components/Accordion/Accordion.context.d.ts +7 -0
  3. package/components/Accordion/Accordion.context.js +6 -0
  4. package/components/Accordion/Accordion.context.js.map +1 -0
  5. package/components/Accordion/Accordion.d.ts +12 -0
  6. package/components/Accordion/Accordion.js +34 -0
  7. package/components/Accordion/Accordion.js.map +1 -0
  8. package/components/Accordion/Accordion.module.css.js +4 -0
  9. package/components/Accordion/Accordion.module.css.js.map +1 -0
  10. package/components/Accordion/Accordion.types.d.ts +39 -0
  11. package/components/Accordion/index.d.ts +2 -0
  12. package/components/Alert/Alert.d.ts +8 -0
  13. package/components/Alert/Alert.js +26 -0
  14. package/components/Alert/Alert.js.map +1 -0
  15. package/components/Alert/Alert.module.css.js +4 -0
  16. package/components/Alert/Alert.module.css.js.map +1 -0
  17. package/components/Alert/Alert.types.d.ts +22 -0
  18. package/components/Alert/index.d.ts +2 -0
  19. package/components/Avatar/Avatar.context.d.ts +9 -0
  20. package/components/Avatar/Avatar.context.js +6 -0
  21. package/components/Avatar/Avatar.context.js.map +1 -0
  22. package/components/Avatar/Avatar.d.ts +13 -0
  23. package/components/Avatar/Avatar.js +66 -0
  24. package/components/Avatar/Avatar.js.map +1 -0
  25. package/components/Avatar/Avatar.module.css.js +4 -0
  26. package/components/Avatar/Avatar.module.css.js.map +1 -0
  27. package/components/Avatar/Avatar.types.d.ts +32 -0
  28. package/components/Avatar/index.d.ts +2 -0
  29. package/components/Badge/Badge.d.ts +8 -0
  30. package/components/Badge/Badge.js +23 -0
  31. package/components/Badge/Badge.js.map +1 -0
  32. package/components/Badge/Badge.module.css.js +4 -0
  33. package/components/Badge/Badge.module.css.js.map +1 -0
  34. package/components/Badge/Badge.types.d.ts +25 -0
  35. package/components/Badge/index.d.ts +2 -0
  36. package/components/Banner/Banner.d.ts +8 -0
  37. package/components/Banner/Banner.js +74 -0
  38. package/components/Banner/Banner.js.map +1 -0
  39. package/components/Banner/Banner.module.css.js +4 -0
  40. package/components/Banner/Banner.module.css.js.map +1 -0
  41. package/components/Banner/Banner.provider.d.ts +20 -0
  42. package/components/Banner/Banner.provider.js +34 -0
  43. package/components/Banner/Banner.provider.js.map +1 -0
  44. package/components/Banner/Banner.store.d.ts +18 -0
  45. package/components/Banner/Banner.store.js +62 -0
  46. package/components/Banner/Banner.store.js.map +1 -0
  47. package/components/Banner/Banner.types.d.ts +42 -0
  48. package/components/Banner/index.d.ts +4 -0
  49. package/components/BottomSheet/BottomSheet.d.ts +8 -0
  50. package/components/BottomSheet/BottomSheet.js +127 -0
  51. package/components/BottomSheet/BottomSheet.js.map +1 -0
  52. package/components/BottomSheet/BottomSheet.module.css.js +4 -0
  53. package/components/BottomSheet/BottomSheet.module.css.js.map +1 -0
  54. package/components/BottomSheet/BottomSheet.types.d.ts +34 -0
  55. package/components/BottomSheet/index.d.ts +2 -0
  56. package/components/Breadcrumbs/Breadcrumbs.d.ts +4 -0
  57. package/components/Breadcrumbs/Breadcrumbs.js +39 -0
  58. package/components/Breadcrumbs/Breadcrumbs.js.map +1 -0
  59. package/components/Breadcrumbs/Breadcrumbs.module.css.js +4 -0
  60. package/components/Breadcrumbs/Breadcrumbs.module.css.js.map +1 -0
  61. package/components/Breadcrumbs/Breadcrumbs.types.d.ts +17 -0
  62. package/components/Breadcrumbs/index.d.ts +2 -0
  63. package/components/Button/Button.d.ts +12 -0
  64. package/components/Button/Button.js +52 -0
  65. package/components/Button/Button.js.map +1 -0
  66. package/components/Button/Button.module.css.js +4 -0
  67. package/components/Button/Button.module.css.js.map +1 -0
  68. package/components/Button/Button.types.d.ts +34 -0
  69. package/components/Button/index.d.ts +2 -0
  70. package/components/ButtonGroup/ButtonGroup.context.d.ts +23 -0
  71. package/components/ButtonGroup/ButtonGroup.context.js +9 -0
  72. package/components/ButtonGroup/ButtonGroup.context.js.map +1 -0
  73. package/components/ButtonGroup/ButtonGroup.d.ts +7 -0
  74. package/components/ButtonGroup/ButtonGroup.js +92 -0
  75. package/components/ButtonGroup/ButtonGroup.js.map +1 -0
  76. package/components/ButtonGroup/ButtonGroup.module.css.js +4 -0
  77. package/components/ButtonGroup/ButtonGroup.module.css.js.map +1 -0
  78. package/components/ButtonGroup/ButtonGroup.types.d.ts +28 -0
  79. package/components/ButtonGroup/index.d.ts +3 -0
  80. package/components/Calendar/Calendar.d.ts +8 -0
  81. package/components/Calendar/Calendar.js +197 -0
  82. package/components/Calendar/Calendar.js.map +1 -0
  83. package/components/Calendar/Calendar.module.css.js +4 -0
  84. package/components/Calendar/Calendar.module.css.js.map +1 -0
  85. package/components/Calendar/Calendar.types.d.ts +32 -0
  86. package/components/Calendar/index.d.ts +2 -0
  87. package/components/Card/Card.d.ts +6 -0
  88. package/components/Card/Card.js +36 -0
  89. package/components/Card/Card.js.map +1 -0
  90. package/components/Card/Card.module.css.js +4 -0
  91. package/components/Card/Card.module.css.js.map +1 -0
  92. package/components/Card/Card.types.d.ts +30 -0
  93. package/components/Card/index.d.ts +2 -0
  94. package/components/Checkbox/Checkbox.d.ts +7 -0
  95. package/components/Checkbox/Checkbox.js +46 -0
  96. package/components/Checkbox/Checkbox.js.map +1 -0
  97. package/components/Checkbox/Checkbox.module.css.js +4 -0
  98. package/components/Checkbox/Checkbox.module.css.js.map +1 -0
  99. package/components/Checkbox/Checkbox.types.d.ts +19 -0
  100. package/components/Checkbox/index.d.ts +2 -0
  101. package/components/ColorPicker/ColorPicker.d.ts +10 -0
  102. package/components/ColorPicker/ColorPicker.js +340 -0
  103. package/components/ColorPicker/ColorPicker.js.map +1 -0
  104. package/components/ColorPicker/ColorPicker.module.css.js +4 -0
  105. package/components/ColorPicker/ColorPicker.module.css.js.map +1 -0
  106. package/components/ColorPicker/ColorPicker.types.d.ts +33 -0
  107. package/components/ColorPicker/index.d.ts +2 -0
  108. package/components/Combobox/Combobox.d.ts +9 -0
  109. package/components/Combobox/Combobox.js +316 -0
  110. package/components/Combobox/Combobox.js.map +1 -0
  111. package/components/Combobox/Combobox.module.css.js +4 -0
  112. package/components/Combobox/Combobox.module.css.js.map +1 -0
  113. package/components/Combobox/Combobox.types.d.ts +57 -0
  114. package/components/Combobox/index.d.ts +2 -0
  115. package/components/CommandPalette/CommandPalette.d.ts +9 -0
  116. package/components/CommandPalette/CommandPalette.js +197 -0
  117. package/components/CommandPalette/CommandPalette.js.map +1 -0
  118. package/components/CommandPalette/CommandPalette.module.css.js +4 -0
  119. package/components/CommandPalette/CommandPalette.module.css.js.map +1 -0
  120. package/components/CommandPalette/CommandPalette.types.d.ts +41 -0
  121. package/components/CommandPalette/index.d.ts +2 -0
  122. package/components/ContextMenu/ContextMenu.d.ts +34 -0
  123. package/components/ContextMenu/ContextMenu.js +98 -0
  124. package/components/ContextMenu/ContextMenu.js.map +1 -0
  125. package/components/ContextMenu/ContextMenu.types.d.ts +30 -0
  126. package/components/ContextMenu/index.d.ts +2 -0
  127. package/components/DataGrid/DataGrid.d.ts +8 -0
  128. package/components/DataGrid/DataGrid.js +192 -0
  129. package/components/DataGrid/DataGrid.js.map +1 -0
  130. package/components/DataGrid/DataGrid.module.css.js +4 -0
  131. package/components/DataGrid/DataGrid.module.css.js.map +1 -0
  132. package/components/DataGrid/DataGrid.types.d.ts +43 -0
  133. package/components/DataGrid/index.d.ts +2 -0
  134. package/components/DatePicker/DatePicker.d.ts +9 -0
  135. package/components/DatePicker/DatePicker.js +218 -0
  136. package/components/DatePicker/DatePicker.js.map +1 -0
  137. package/components/DatePicker/DatePicker.module.css.js +4 -0
  138. package/components/DatePicker/DatePicker.module.css.js.map +1 -0
  139. package/components/DatePicker/DatePicker.types.d.ts +39 -0
  140. package/components/DatePicker/index.d.ts +2 -0
  141. package/components/DateRangePicker/DateRangePicker.d.ts +8 -0
  142. package/components/DateRangePicker/DateRangePicker.js +139 -0
  143. package/components/DateRangePicker/DateRangePicker.js.map +1 -0
  144. package/components/DateRangePicker/DateRangePicker.module.css.js +4 -0
  145. package/components/DateRangePicker/DateRangePicker.module.css.js.map +1 -0
  146. package/components/DateRangePicker/DateRangePicker.types.d.ts +34 -0
  147. package/components/DateRangePicker/index.d.ts +2 -0
  148. package/components/DescriptionList/DescriptionList.d.ts +12 -0
  149. package/components/DescriptionList/DescriptionList.js +96 -0
  150. package/components/DescriptionList/DescriptionList.js.map +1 -0
  151. package/components/DescriptionList/DescriptionList.module.css.js +4 -0
  152. package/components/DescriptionList/DescriptionList.module.css.js.map +1 -0
  153. package/components/DescriptionList/DescriptionList.types.d.ts +35 -0
  154. package/components/DescriptionList/index.d.ts +2 -0
  155. package/components/Dialog/Dialog.d.ts +30 -0
  156. package/components/Dialog/Dialog.js +89 -0
  157. package/components/Dialog/Dialog.js.map +1 -0
  158. package/components/Dialog/Dialog.module.css.js +4 -0
  159. package/components/Dialog/Dialog.module.css.js.map +1 -0
  160. package/components/Dialog/Dialog.types.d.ts +59 -0
  161. package/components/Dialog/index.d.ts +2 -0
  162. package/components/Drawer/Drawer.context.d.ts +9 -0
  163. package/components/Drawer/Drawer.context.js +7 -0
  164. package/components/Drawer/Drawer.context.js.map +1 -0
  165. package/components/Drawer/Drawer.d.ts +20 -0
  166. package/components/Drawer/Drawer.js +63 -0
  167. package/components/Drawer/Drawer.js.map +1 -0
  168. package/components/Drawer/Drawer.module.css.js +4 -0
  169. package/components/Drawer/Drawer.module.css.js.map +1 -0
  170. package/components/Drawer/Drawer.types.d.ts +42 -0
  171. package/components/Drawer/index.d.ts +2 -0
  172. package/components/DropdownMenu/DropdownMenu.d.ts +33 -0
  173. package/components/DropdownMenu/DropdownMenu.js +98 -0
  174. package/components/DropdownMenu/DropdownMenu.js.map +1 -0
  175. package/components/DropdownMenu/DropdownMenu.module.css.js +4 -0
  176. package/components/DropdownMenu/DropdownMenu.module.css.js.map +1 -0
  177. package/components/DropdownMenu/DropdownMenu.types.d.ts +34 -0
  178. package/components/DropdownMenu/index.d.ts +2 -0
  179. package/components/EmptyState/EmptyState.d.ts +8 -0
  180. package/components/EmptyState/EmptyState.js +24 -0
  181. package/components/EmptyState/EmptyState.js.map +1 -0
  182. package/components/EmptyState/EmptyState.module.css.js +4 -0
  183. package/components/EmptyState/EmptyState.module.css.js.map +1 -0
  184. package/components/EmptyState/EmptyState.types.d.ts +26 -0
  185. package/components/EmptyState/index.d.ts +2 -0
  186. package/components/FileUpload/FileUpload.d.ts +9 -0
  187. package/components/FileUpload/FileUpload.js +174 -0
  188. package/components/FileUpload/FileUpload.js.map +1 -0
  189. package/components/FileUpload/FileUpload.module.css.js +4 -0
  190. package/components/FileUpload/FileUpload.module.css.js.map +1 -0
  191. package/components/FileUpload/FileUpload.types.d.ts +41 -0
  192. package/components/FileUpload/index.d.ts +2 -0
  193. package/components/FormField/FormField.context.d.ts +22 -0
  194. package/components/FormField/FormField.context.js +9 -0
  195. package/components/FormField/FormField.context.js.map +1 -0
  196. package/components/FormField/FormField.d.ts +8 -0
  197. package/components/FormField/FormField.js +44 -0
  198. package/components/FormField/FormField.js.map +1 -0
  199. package/components/FormField/FormField.module.css.js +4 -0
  200. package/components/FormField/FormField.module.css.js.map +1 -0
  201. package/components/FormField/FormField.types.d.ts +28 -0
  202. package/components/FormField/index.d.ts +3 -0
  203. package/components/HoverCard/HoverCard.d.ts +10 -0
  204. package/components/HoverCard/HoverCard.js +59 -0
  205. package/components/HoverCard/HoverCard.js.map +1 -0
  206. package/components/HoverCard/HoverCard.module.css.js +4 -0
  207. package/components/HoverCard/HoverCard.module.css.js.map +1 -0
  208. package/components/HoverCard/HoverCard.types.d.ts +35 -0
  209. package/components/HoverCard/index.d.ts +2 -0
  210. package/components/IconButton/IconButton.d.ts +13 -0
  211. package/components/IconButton/IconButton.js +44 -0
  212. package/components/IconButton/IconButton.js.map +1 -0
  213. package/components/IconButton/IconButton.module.css.js +4 -0
  214. package/components/IconButton/IconButton.module.css.js.map +1 -0
  215. package/components/IconButton/IconButton.types.d.ts +29 -0
  216. package/components/IconButton/index.d.ts +2 -0
  217. package/components/Input/Input.d.ts +9 -0
  218. package/components/Input/Input.js +102 -0
  219. package/components/Input/Input.js.map +1 -0
  220. package/components/Input/Input.module.css.js +4 -0
  221. package/components/Input/Input.module.css.js.map +1 -0
  222. package/components/Input/Input.types.d.ts +32 -0
  223. package/components/Input/index.d.ts +2 -0
  224. package/components/Kbd/Kbd.d.ts +9 -0
  225. package/components/Kbd/Kbd.js +65 -0
  226. package/components/Kbd/Kbd.js.map +1 -0
  227. package/components/Kbd/Kbd.module.css.js +4 -0
  228. package/components/Kbd/Kbd.module.css.js.map +1 -0
  229. package/components/Kbd/Kbd.types.d.ts +15 -0
  230. package/components/Kbd/index.d.ts +2 -0
  231. package/components/MultiSelect/MultiSelect.d.ts +7 -0
  232. package/components/MultiSelect/MultiSelect.js +297 -0
  233. package/components/MultiSelect/MultiSelect.js.map +1 -0
  234. package/components/MultiSelect/MultiSelect.module.css.js +4 -0
  235. package/components/MultiSelect/MultiSelect.module.css.js.map +1 -0
  236. package/components/MultiSelect/MultiSelect.types.d.ts +60 -0
  237. package/components/MultiSelect/index.d.ts +2 -0
  238. package/components/NotificationCenter/NotificationCenter.d.ts +9 -0
  239. package/components/NotificationCenter/NotificationCenter.js +83 -0
  240. package/components/NotificationCenter/NotificationCenter.js.map +1 -0
  241. package/components/NotificationCenter/NotificationCenter.module.css.js +4 -0
  242. package/components/NotificationCenter/NotificationCenter.module.css.js.map +1 -0
  243. package/components/NotificationCenter/NotificationCenter.types.d.ts +95 -0
  244. package/components/NotificationCenter/NotificationList.d.ts +8 -0
  245. package/components/NotificationCenter/NotificationList.js +105 -0
  246. package/components/NotificationCenter/NotificationList.js.map +1 -0
  247. package/components/NotificationCenter/index.d.ts +3 -0
  248. package/components/NumberStepper/NumberStepper.d.ts +9 -0
  249. package/components/NumberStepper/NumberStepper.js +184 -0
  250. package/components/NumberStepper/NumberStepper.js.map +1 -0
  251. package/components/NumberStepper/NumberStepper.module.css.js +4 -0
  252. package/components/NumberStepper/NumberStepper.module.css.js.map +1 -0
  253. package/components/NumberStepper/NumberStepper.types.d.ts +36 -0
  254. package/components/NumberStepper/index.d.ts +2 -0
  255. package/components/OtpInput/OtpInput.d.ts +11 -0
  256. package/components/OtpInput/OtpInput.js +143 -0
  257. package/components/OtpInput/OtpInput.js.map +1 -0
  258. package/components/OtpInput/OtpInput.module.css.js +4 -0
  259. package/components/OtpInput/OtpInput.module.css.js.map +1 -0
  260. package/components/OtpInput/OtpInput.types.d.ts +45 -0
  261. package/components/OtpInput/index.d.ts +2 -0
  262. package/components/Pagination/Pagination.d.ts +8 -0
  263. package/components/Pagination/Pagination.js +100 -0
  264. package/components/Pagination/Pagination.js.map +1 -0
  265. package/components/Pagination/Pagination.module.css.js +4 -0
  266. package/components/Pagination/Pagination.module.css.js.map +1 -0
  267. package/components/Pagination/Pagination.types.d.ts +32 -0
  268. package/components/Pagination/index.d.ts +2 -0
  269. package/components/Popover/Popover.d.ts +22 -0
  270. package/components/Popover/Popover.js +48 -0
  271. package/components/Popover/Popover.js.map +1 -0
  272. package/components/Popover/Popover.module.css.js +4 -0
  273. package/components/Popover/Popover.module.css.js.map +1 -0
  274. package/components/Popover/Popover.types.d.ts +23 -0
  275. package/components/Popover/index.d.ts +2 -0
  276. package/components/Progress/Progress.d.ts +7 -0
  277. package/components/Progress/Progress.js +36 -0
  278. package/components/Progress/Progress.js.map +1 -0
  279. package/components/Progress/Progress.module.css.js +4 -0
  280. package/components/Progress/Progress.module.css.js.map +1 -0
  281. package/components/Progress/Progress.types.d.ts +23 -0
  282. package/components/Progress/index.d.ts +2 -0
  283. package/components/RTEField/RTEField.d.ts +23 -0
  284. package/components/RTEField/RTEField.js +152 -0
  285. package/components/RTEField/RTEField.js.map +1 -0
  286. package/components/RTEField/RTEField.module.css.js +4 -0
  287. package/components/RTEField/RTEField.module.css.js.map +1 -0
  288. package/components/RTEField/RTEField.types.d.ts +61 -0
  289. package/components/RTEField/index.d.ts +2 -0
  290. package/components/RadioGroup/RadioGroup.context.d.ts +15 -0
  291. package/components/RadioGroup/RadioGroup.context.js +9 -0
  292. package/components/RadioGroup/RadioGroup.context.js.map +1 -0
  293. package/components/RadioGroup/RadioGroup.d.ts +7 -0
  294. package/components/RadioGroup/RadioGroup.js +43 -0
  295. package/components/RadioGroup/RadioGroup.js.map +1 -0
  296. package/components/RadioGroup/RadioGroup.module.css.js +4 -0
  297. package/components/RadioGroup/RadioGroup.module.css.js.map +1 -0
  298. package/components/RadioGroup/RadioGroup.types.d.ts +23 -0
  299. package/components/RadioGroup/index.d.ts +3 -0
  300. package/components/Rating/Rating.d.ts +8 -0
  301. package/components/Rating/Rating.js +101 -0
  302. package/components/Rating/Rating.js.map +1 -0
  303. package/components/Rating/Rating.module.css.js +4 -0
  304. package/components/Rating/Rating.module.css.js.map +1 -0
  305. package/components/Rating/Rating.types.d.ts +28 -0
  306. package/components/Rating/index.d.ts +2 -0
  307. package/components/SegmentedControl/SegmentedControl.d.ts +8 -0
  308. package/components/SegmentedControl/SegmentedControl.js +20 -0
  309. package/components/SegmentedControl/SegmentedControl.js.map +1 -0
  310. package/components/SegmentedControl/SegmentedControl.module.css.js +4 -0
  311. package/components/SegmentedControl/SegmentedControl.module.css.js.map +1 -0
  312. package/components/SegmentedControl/SegmentedControl.types.d.ts +16 -0
  313. package/components/SegmentedControl/index.d.ts +2 -0
  314. package/components/Select/Select.d.ts +22 -0
  315. package/components/Select/Select.js +102 -0
  316. package/components/Select/Select.js.map +1 -0
  317. package/components/Select/Select.module.css.js +4 -0
  318. package/components/Select/Select.module.css.js.map +1 -0
  319. package/components/Select/Select.types.d.ts +45 -0
  320. package/components/Select/index.d.ts +2 -0
  321. package/components/Shell/Shell.d.ts +13 -0
  322. package/components/Shell/Shell.js +37 -0
  323. package/components/Shell/Shell.js.map +1 -0
  324. package/components/Shell/Shell.module.css.js +4 -0
  325. package/components/Shell/Shell.module.css.js.map +1 -0
  326. package/components/Shell/Shell.types.d.ts +31 -0
  327. package/components/Shell/index.d.ts +2 -0
  328. package/components/Sidebar/Sidebar.context.d.ts +6 -0
  329. package/components/Sidebar/Sidebar.context.js +6 -0
  330. package/components/Sidebar/Sidebar.context.js.map +1 -0
  331. package/components/Sidebar/Sidebar.d.ts +13 -0
  332. package/components/Sidebar/Sidebar.js +102 -0
  333. package/components/Sidebar/Sidebar.js.map +1 -0
  334. package/components/Sidebar/Sidebar.module.css.js +4 -0
  335. package/components/Sidebar/Sidebar.module.css.js.map +1 -0
  336. package/components/Sidebar/Sidebar.types.d.ts +45 -0
  337. package/components/Sidebar/index.d.ts +2 -0
  338. package/components/Skeleton/Skeleton.d.ts +13 -0
  339. package/components/Skeleton/Skeleton.js +48 -0
  340. package/components/Skeleton/Skeleton.js.map +1 -0
  341. package/components/Skeleton/Skeleton.module.css.js +4 -0
  342. package/components/Skeleton/Skeleton.module.css.js.map +1 -0
  343. package/components/Skeleton/Skeleton.types.d.ts +26 -0
  344. package/components/Skeleton/index.d.ts +2 -0
  345. package/components/Slider/Slider.d.ts +8 -0
  346. package/components/Slider/Slider.js +84 -0
  347. package/components/Slider/Slider.js.map +1 -0
  348. package/components/Slider/Slider.module.css.js +4 -0
  349. package/components/Slider/Slider.module.css.js.map +1 -0
  350. package/components/Slider/Slider.types.d.ts +35 -0
  351. package/components/Slider/index.d.ts +2 -0
  352. package/components/Spinner/Spinner.d.ts +7 -0
  353. package/components/Spinner/Spinner.js +16 -0
  354. package/components/Spinner/Spinner.js.map +1 -0
  355. package/components/Spinner/Spinner.module.css.js +4 -0
  356. package/components/Spinner/Spinner.module.css.js.map +1 -0
  357. package/components/Spinner/Spinner.types.d.ts +14 -0
  358. package/components/Spinner/index.d.ts +2 -0
  359. package/components/SplitPane/SplitPane.d.ts +18 -0
  360. package/components/SplitPane/SplitPane.js +169 -0
  361. package/components/SplitPane/SplitPane.js.map +1 -0
  362. package/components/SplitPane/SplitPane.module.css.js +4 -0
  363. package/components/SplitPane/SplitPane.module.css.js.map +1 -0
  364. package/components/SplitPane/SplitPane.types.d.ts +40 -0
  365. package/components/SplitPane/index.d.ts +2 -0
  366. package/components/Statistic/Statistic.d.ts +8 -0
  367. package/components/Statistic/Statistic.js +106 -0
  368. package/components/Statistic/Statistic.js.map +1 -0
  369. package/components/Statistic/Statistic.module.css.js +4 -0
  370. package/components/Statistic/Statistic.module.css.js.map +1 -0
  371. package/components/Statistic/Statistic.types.d.ts +42 -0
  372. package/components/Statistic/index.d.ts +2 -0
  373. package/components/Stepper/Stepper.d.ts +15 -0
  374. package/components/Stepper/Stepper.js +148 -0
  375. package/components/Stepper/Stepper.js.map +1 -0
  376. package/components/Stepper/Stepper.module.css.js +4 -0
  377. package/components/Stepper/Stepper.module.css.js.map +1 -0
  378. package/components/Stepper/Stepper.types.d.ts +48 -0
  379. package/components/Stepper/index.d.ts +2 -0
  380. package/components/Switch/Switch.d.ts +10 -0
  381. package/components/Switch/Switch.js +37 -0
  382. package/components/Switch/Switch.js.map +1 -0
  383. package/components/Switch/Switch.module.css.js +4 -0
  384. package/components/Switch/Switch.module.css.js.map +1 -0
  385. package/components/Switch/Switch.types.d.ts +19 -0
  386. package/components/Switch/index.d.ts +2 -0
  387. package/components/Table/Table.d.ts +14 -0
  388. package/components/Table/Table.js +131 -0
  389. package/components/Table/Table.js.map +1 -0
  390. package/components/Table/Table.module.css.js +4 -0
  391. package/components/Table/Table.module.css.js.map +1 -0
  392. package/components/Table/Table.types.d.ts +62 -0
  393. package/components/Table/index.d.ts +2 -0
  394. package/components/Tabs/Tabs.d.ts +18 -0
  395. package/components/Tabs/Tabs.js +32 -0
  396. package/components/Tabs/Tabs.js.map +1 -0
  397. package/components/Tabs/Tabs.module.css.js +4 -0
  398. package/components/Tabs/Tabs.module.css.js.map +1 -0
  399. package/components/Tabs/Tabs.types.d.ts +20 -0
  400. package/components/Tabs/index.d.ts +2 -0
  401. package/components/Tag/Tag.d.ts +8 -0
  402. package/components/Tag/Tag.js +25 -0
  403. package/components/Tag/Tag.js.map +1 -0
  404. package/components/Tag/Tag.module.css.js +4 -0
  405. package/components/Tag/Tag.module.css.js.map +1 -0
  406. package/components/Tag/Tag.types.d.ts +18 -0
  407. package/components/Tag/index.d.ts +2 -0
  408. package/components/Textarea/Textarea.d.ts +9 -0
  409. package/components/Textarea/Textarea.js +86 -0
  410. package/components/Textarea/Textarea.js.map +1 -0
  411. package/components/Textarea/Textarea.module.css.js +4 -0
  412. package/components/Textarea/Textarea.module.css.js.map +1 -0
  413. package/components/Textarea/Textarea.types.d.ts +27 -0
  414. package/components/Textarea/index.d.ts +2 -0
  415. package/components/TimePicker/TimePicker.d.ts +8 -0
  416. package/components/TimePicker/TimePicker.js +220 -0
  417. package/components/TimePicker/TimePicker.js.map +1 -0
  418. package/components/TimePicker/TimePicker.module.css.js +4 -0
  419. package/components/TimePicker/TimePicker.module.css.js.map +1 -0
  420. package/components/TimePicker/TimePicker.types.d.ts +29 -0
  421. package/components/TimePicker/index.d.ts +2 -0
  422. package/components/Timeline/Timeline.d.ts +6 -0
  423. package/components/Timeline/Timeline.js +49 -0
  424. package/components/Timeline/Timeline.js.map +1 -0
  425. package/components/Timeline/Timeline.module.css.js +4 -0
  426. package/components/Timeline/Timeline.module.css.js.map +1 -0
  427. package/components/Timeline/Timeline.types.d.ts +19 -0
  428. package/components/Timeline/index.d.ts +2 -0
  429. package/components/Toast/Toast.d.ts +11 -0
  430. package/components/Toast/Toast.js +75 -0
  431. package/components/Toast/Toast.js.map +1 -0
  432. package/components/Toast/Toast.module.css.js +4 -0
  433. package/components/Toast/Toast.module.css.js.map +1 -0
  434. package/components/Toast/Toast.store.d.ts +29 -0
  435. package/components/Toast/Toast.store.js +53 -0
  436. package/components/Toast/Toast.store.js.map +1 -0
  437. package/components/Toast/Toast.types.d.ts +40 -0
  438. package/components/Toast/index.d.ts +3 -0
  439. package/components/TokenInput/TokenInput.d.ts +8 -0
  440. package/components/TokenInput/TokenInput.js +206 -0
  441. package/components/TokenInput/TokenInput.js.map +1 -0
  442. package/components/TokenInput/TokenInput.module.css.js +4 -0
  443. package/components/TokenInput/TokenInput.module.css.js.map +1 -0
  444. package/components/TokenInput/TokenInput.types.d.ts +38 -0
  445. package/components/TokenInput/index.d.ts +2 -0
  446. package/components/Tooltip/Tooltip.d.ts +17 -0
  447. package/components/Tooltip/Tooltip.js +32 -0
  448. package/components/Tooltip/Tooltip.js.map +1 -0
  449. package/components/Tooltip/Tooltip.module.css.js +4 -0
  450. package/components/Tooltip/Tooltip.module.css.js.map +1 -0
  451. package/components/Tooltip/Tooltip.types.d.ts +38 -0
  452. package/components/Tooltip/index.d.ts +2 -0
  453. package/components/TopNavigation/TopNavigation.d.ts +4 -0
  454. package/components/TopNavigation/TopNavigation.js +46 -0
  455. package/components/TopNavigation/TopNavigation.js.map +1 -0
  456. package/components/TopNavigation/TopNavigation.module.css.js +4 -0
  457. package/components/TopNavigation/TopNavigation.module.css.js.map +1 -0
  458. package/components/TopNavigation/TopNavigation.types.d.ts +23 -0
  459. package/components/TopNavigation/index.d.ts +2 -0
  460. package/components/TreeView/TreeView.d.ts +8 -0
  461. package/components/TreeView/TreeView.js +224 -0
  462. package/components/TreeView/TreeView.js.map +1 -0
  463. package/components/TreeView/TreeView.module.css.js +4 -0
  464. package/components/TreeView/TreeView.module.css.js.map +1 -0
  465. package/components/TreeView/TreeView.types.d.ts +34 -0
  466. package/components/TreeView/index.d.ts +2 -0
  467. package/components/index.d.ts +62 -0
  468. package/hooks/index.d.ts +1 -0
  469. package/hooks/useDeferredLoading.d.ts +16 -0
  470. package/hooks/useDeferredLoading.js +26 -0
  471. package/hooks/useDeferredLoading.js.map +1 -0
  472. package/index.d.ts +2 -3
  473. package/index.js +73 -4
  474. package/index.js.map +1 -1
  475. package/lib/api-request.js +5 -3
  476. package/lib/api-request.js.map +1 -1
  477. package/lib/cn.d.ts +19 -0
  478. package/lib/cn.js +8 -0
  479. package/lib/cn.js.map +1 -0
  480. package/lib/date.d.ts +17 -0
  481. package/lib/date.js +54 -0
  482. package/lib/date.js.map +1 -0
  483. package/lib/index.d.ts +3 -0
  484. package/lib/merge-refs.d.ts +15 -0
  485. package/lib/merge-refs.js +11 -0
  486. package/lib/merge-refs.js.map +1 -0
  487. package/package.json +34 -12
  488. package/styles.css +1 -1
  489. package/styles.css.map +1 -1
  490. package/styles.layer.css +1 -1
  491. package/components/AppLayout/AppLayout.d.ts +0 -21
  492. package/components/AppLayout/AppLayout.js +0 -34
  493. package/components/AppLayout/AppLayout.js.map +0 -1
  494. package/components/AppLayout/AppLayout.module.css.js +0 -4
  495. package/components/AppLayout/AppLayout.module.css.js.map +0 -1
  496. package/components/AppLayout/ContentFooter.d.ts +0 -12
  497. package/components/AppLayout/ContentFooter.js +0 -11
  498. package/components/AppLayout/ContentFooter.js.map +0 -1
  499. package/components/AppLayout/SideNavbar.d.ts +0 -21
  500. package/components/AppLayout/SideNavbar.js +0 -43
  501. package/components/AppLayout/SideNavbar.js.map +0 -1
  502. package/components/AppLayout/SideNavbarGroup.d.ts +0 -19
  503. package/components/AppLayout/SideNavbarGroup.js +0 -16
  504. package/components/AppLayout/SideNavbarGroup.js.map +0 -1
  505. package/components/AppLayout/SideNavbarItem.d.ts +0 -19
  506. package/components/AppLayout/SideNavbarItem.js +0 -74
  507. package/components/AppLayout/SideNavbarItem.js.map +0 -1
  508. package/components/AppLayout/TopNavbar.d.ts +0 -20
  509. package/components/AppLayout/TopNavbar.js +0 -38
  510. package/components/AppLayout/TopNavbar.js.map +0 -1
  511. package/components/AppLayout/app-layout.utils.d.ts +0 -14
  512. package/components/AppLayout/app-layout.utils.js +0 -6
  513. package/components/AppLayout/app-layout.utils.js.map +0 -1
  514. package/components/AppLayout/hooks/use-active-nav-label.d.ts +0 -2
  515. package/components/AppLayout/hooks/use-active-nav-label.js +0 -29
  516. package/components/AppLayout/hooks/use-active-nav-label.js.map +0 -1
  517. package/components/AppLayout/hooks/use-layout-state.d.ts +0 -20
  518. package/components/AppLayout/hooks/use-layout-state.js +0 -14
  519. package/components/AppLayout/hooks/use-layout-state.js.map +0 -1
  520. package/components/AppLayout/hooks/use-side-navbar-item.d.ts +0 -11
  521. package/components/AppLayout/hooks/use-side-navbar-item.js +0 -26
  522. package/components/AppLayout/hooks/use-side-navbar-item.js.map +0 -1
  523. package/components/AppLayout/index.d.ts +0 -2
  524. package/components/AppLayout/layout.types.d.ts +0 -59
  525. package/components/Logo/Alphabets.d.ts +0 -39
  526. package/components/Logo/Alphabets.js +0 -119
  527. package/components/Logo/Alphabets.js.map +0 -1
  528. package/components/Logo/BrandMark.d.ts +0 -16
  529. package/components/Logo/BrandMark.js +0 -39
  530. package/components/Logo/BrandMark.js.map +0 -1
  531. package/components/Logo/Logo.d.ts +0 -17
  532. package/components/Logo/Logo.js +0 -22
  533. package/components/Logo/Logo.js.map +0 -1
  534. package/components/Logo/Logo.module.css.js +0 -4
  535. package/components/Logo/Logo.module.css.js.map +0 -1
  536. package/components/Logo/hooks/use-logo.d.ts +0 -9
  537. package/components/Logo/hooks/use-logo.js +0 -16
  538. package/components/Logo/hooks/use-logo.js.map +0 -1
  539. package/components/Logo/index.d.ts +0 -2
  540. package/styles/AppLayout.module.css +0 -82
  541. package/styles/Logo.module.css +0 -51
  542. package/theme.d.ts +0 -161
  543. package/theme.js +0 -112
  544. package/theme.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.js","sources":["../../../src/components/Input/Input.tsx"],"sourcesContent":["/**\n * Importing npm packages\n */\nimport { type ChangeEvent, forwardRef, useRef, useState } from 'react';\n\n/**\n * Importing user defined packages\n */\nimport { cn, mergeRefs } from '@/lib';\n\nimport styles from './Input.module.css';\nimport { type InputProps } from './Input.types';\n\n/**\n * Declaring the constants\n */\nfunction ClearIcon() {\n return (\n <svg viewBox='0 0 16 16' fill='none' stroke='currentColor' strokeWidth={1.5} strokeLinecap='round' aria-hidden='true'>\n <path d='M4 4l8 8M12 4l-8 8' />\n </svg>\n );\n}\n\nfunction EyeIcon() {\n return (\n <svg viewBox='0 0 16 16' fill='none' stroke='currentColor' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' aria-hidden='true'>\n <path d='M1.5 8S3.9 3.5 8 3.5 14.5 8 14.5 8 12.1 12.5 8 12.5 1.5 8 1.5 8Z' />\n <circle cx='8' cy='8' r='2' />\n </svg>\n );\n}\n\nfunction EyeOffIcon() {\n return (\n <svg viewBox='0 0 16 16' fill='none' stroke='currentColor' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' aria-hidden='true'>\n <path d='M6.3 6.3a2 2 0 0 0 2.8 2.8M4.2 4.3C2.6 5.3 1.5 8 1.5 8s2.4 4.5 6.5 4.5c1 0 1.9-.2 2.7-.6M9.9 4C9.3 3.7 8.7 3.5 8 3.5 3.9 3.5 1.5 8 1.5 8m13 0s-.6 1.2-1.8 2.4' />\n <path d='M2 2l12 12' />\n </svg>\n );\n}\n\n/**\n * Single-line text entry — the field-surface reference every other form control inherits. The\n * bordered wrapper owns the focus-within ring and adornments; the inner `<input>` is transparent\n * and border-less. Label, helper text, and error messages belong to Form Field, not here.\n *\n * `className`/`style` target the wrapper (layout/width); all other props flow to the `<input>`.\n */\nexport const Input = forwardRef<HTMLInputElement, InputProps>(function Input(\n {\n type = 'text',\n size = 'md',\n prefix,\n suffix,\n invalid = false,\n clearable = false,\n revealable = true,\n value,\n defaultValue,\n onChange,\n onValueChange,\n disabled = false,\n readOnly = false,\n className,\n style,\n inputClassName,\n ...props\n },\n ref,\n) {\n const inputRef = useRef<HTMLInputElement>(null);\n const [revealed, setRevealed] = useState(false);\n const isControlled = value !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = useState(() => (defaultValue != null ? String(defaultValue) : ''));\n const currentValue = isControlled ? value : uncontrolledValue;\n\n function handleChange(event: ChangeEvent<HTMLInputElement>): void {\n if (!isControlled) setUncontrolledValue(event.target.value);\n onValueChange?.(event.target.value);\n onChange?.(event);\n }\n\n function handleClear(): void {\n if (!isControlled) setUncontrolledValue('');\n onValueChange?.('');\n inputRef.current?.focus();\n }\n\n const prefixIsAddon = typeof prefix === 'string';\n const suffixIsAddon = typeof suffix === 'string';\n const showClear = clearable && !disabled && !readOnly && String(currentValue ?? '').length > 0;\n const isPassword = type === 'password';\n const showReveal = isPassword && revealable && !disabled;\n const resolvedType = isPassword && revealed ? 'text' : type;\n const lead = prefix == null ? 'none' : prefixIsAddon ? 'addon' : 'icon';\n const trail = suffix != null ? (suffixIsAddon ? 'addon' : 'icon') : showClear || showReveal ? 'icon' : 'none';\n\n return (\n <div\n className={cn(styles.root, className)}\n style={style}\n data-size={size}\n data-invalid={invalid || undefined}\n data-disabled={disabled || undefined}\n data-readonly={readOnly || undefined}\n data-lead={lead}\n data-trail={trail}\n >\n {prefix != null ? (\n <span className={prefixIsAddon ? styles.addon : styles.adornment} data-side='before'>\n {prefix}\n </span>\n ) : null}\n <input\n ref={mergeRefs(ref, inputRef)}\n type={resolvedType}\n className={cn(styles.field, inputClassName)}\n value={currentValue}\n onChange={handleChange}\n disabled={disabled}\n readOnly={readOnly}\n aria-invalid={invalid || undefined}\n {...props}\n />\n {showClear ? (\n <button type='button' className={styles.clear} aria-label='Clear' onClick={handleClear}>\n <ClearIcon />\n </button>\n ) : null}\n {showReveal ? (\n <button type='button' className={styles.reveal} aria-label={revealed ? 'Hide password' : 'Show password'} aria-pressed={revealed} onClick={() => setRevealed(v => !v)}>\n {revealed ? <EyeOffIcon /> : <EyeIcon />}\n </button>\n ) : null}\n {suffix != null ? (\n <span className={suffixIsAddon ? styles.addon : styles.adornment} data-side='after'>\n {suffix}\n </span>\n ) : null}\n </div>\n );\n});\n"],"names":["Input"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ var styles = {"root":"sh-root_KgYPo","field":"sh-field_65yGJ","adornment":"sh-adornment_kXYKP","addon":"sh-addon_HZcHX","clear":"sh-clear_Y9bUX","reveal":"sh-reveal_BL00R"};
2
+
3
+ export { styles as default };
4
+ //# sourceMappingURL=Input.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Importing npm packages
3
+ */
4
+ import { type InputHTMLAttributes, type ReactNode } from 'react';
5
+ /**
6
+ * Importing user defined packages
7
+ */
8
+ /**
9
+ * Defining types
10
+ */
11
+ export type InputSize = 'sm' | 'md' | 'lg';
12
+ export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'prefix'> {
13
+ /** Control height/typography scale — matches Button so mixed rows align. @default 'md' */
14
+ size?: InputSize;
15
+ /**
16
+ * Leading adornment. A `string` renders as a fused addon segment (e.g. `https://`); any other
17
+ * node renders as a decorative icon inside the field padding.
18
+ */
19
+ prefix?: ReactNode;
20
+ /** Trailing adornment — addon string, unit, kbd hint, or status icon. Same string/node rule as `prefix`. */
21
+ suffix?: ReactNode;
22
+ /** Presentation-only invalid state: danger border/ring + `aria-invalid`. Validation lives in Form Field. */
23
+ invalid?: boolean;
24
+ /** Show a clear (×) button while the field has a value (revealed on hover/focus). */
25
+ clearable?: boolean;
26
+ /** For `type='password'`: show the eye toggle that reveals the entered characters. @default true */
27
+ revealable?: boolean;
28
+ /** Convenience change handler receiving the string value directly (fires alongside native `onChange`). */
29
+ onValueChange?: (value: string) => void;
30
+ /** Escape hatch for props on the raw `<input>` when `className`/`style` are claimed by the wrapper. */
31
+ inputClassName?: string;
32
+ }
@@ -0,0 +1,2 @@
1
+ export * from './Input.js';
2
+ export * from './Input.types';
@@ -0,0 +1,9 @@
1
+ import { type KbdProps } from './Kbd.types';
2
+ /**
3
+ * A keyboard shortcut in a costume — static text, never interactive or focusable. Renders a semantic
4
+ * `<kbd>`. The `keys` binding string maps to platform glyphs (⌘ on macOS, Ctrl elsewhere), modifiers
5
+ * ordered ⌃ ⌥ ⇧ ⌘, symbols over words. Boxed by default; `bare` for tooltips and menu rows. A spoken
6
+ * accessible name is supplied so ⌘ reads "Command", not "place of interest" — pass `aria-hidden` when
7
+ * the host control already announces the shortcut.
8
+ */
9
+ export declare const Kbd: import("react").ForwardRefExoticComponent<KbdProps & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,65 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef } from 'react';
4
+ import '../../lib/api-request.js';
5
+ import { cn } from '../../lib/cn.js';
6
+ import styles from './Kbd.module.css.js';
7
+
8
+ function detectMac() {
9
+ if (typeof navigator === "undefined") return false;
10
+ return /Mac|iPhone|iPad|iPod/.test(navigator.platform) || /Mac OS X/.test(navigator.userAgent);
11
+ }
12
+ function resolveToken(token, mac) {
13
+ switch (token) {
14
+ case "mod":
15
+ case "cmd":
16
+ case "meta":
17
+ case "command":
18
+ return mac ? { glyph: "\u2318", spoken: "Command", rank: 3 } : { glyph: "Ctrl", spoken: "Control", rank: 3 };
19
+ case "ctrl":
20
+ case "control":
21
+ return { glyph: mac ? "\u2303" : "Ctrl", spoken: "Control", rank: 0 };
22
+ case "alt":
23
+ case "option":
24
+ return mac ? { glyph: "\u2325", spoken: "Option", rank: 1 } : { glyph: "Alt", spoken: "Alt", rank: 1 };
25
+ case "shift":
26
+ return { glyph: "\u21E7", spoken: "Shift", rank: 2 };
27
+ case "enter":
28
+ case "return":
29
+ return { glyph: "\u21B5", spoken: "Enter", rank: 4 };
30
+ case "backspace":
31
+ return { glyph: "\u232B", spoken: "Backspace", rank: 4 };
32
+ case "delete":
33
+ case "del":
34
+ return { glyph: "\u2326", spoken: "Delete", rank: 4 };
35
+ case "escape":
36
+ case "esc":
37
+ return { glyph: "Esc", spoken: "Escape", rank: 4 };
38
+ case "tab":
39
+ return { glyph: "Tab", spoken: "Tab", rank: 4 };
40
+ case "space":
41
+ return { glyph: "Space", spoken: "Space", rank: 4 };
42
+ case "up":
43
+ return { glyph: "\u2191", spoken: "Up", rank: 4 };
44
+ case "down":
45
+ return { glyph: "\u2193", spoken: "Down", rank: 4 };
46
+ case "left":
47
+ return { glyph: "\u2190", spoken: "Left", rank: 4 };
48
+ case "right":
49
+ return { glyph: "\u2192", spoken: "Right", rank: 4 };
50
+ default:
51
+ return { glyph: token.length === 1 ? token.toUpperCase() : token.charAt(0).toUpperCase() + token.slice(1), spoken: token.toUpperCase(), rank: 4 };
52
+ }
53
+ }
54
+ function parseKeys(keys, mac) {
55
+ return keys.split("+").map((part) => part.trim().toLowerCase()).filter(Boolean).map((token, index) => ({ token, index })).map(({ token, index }) => ({ ...resolveToken(token, mac), index })).sort((a, b) => a.rank - b.rank || a.index - b.index);
56
+ }
57
+ const Kbd = forwardRef(function Kbd2({ keys, bare = false, mac, className, children, ...props }, ref) {
58
+ const isMac = mac ?? detectMac();
59
+ const caps = keys != null ? parseKeys(keys, isMac) : [];
60
+ const spoken = caps.length > 0 ? caps.map((cap) => cap.spoken).join(" ") : void 0;
61
+ return /* @__PURE__ */ jsx("kbd", { ref, className: cn(styles.root, className), "data-bare": bare || void 0, "aria-label": spoken, ...props, children: keys != null ? caps.map((cap, index) => /* @__PURE__ */ jsx("span", { className: styles.cap, children: cap.glyph }, `${cap.glyph}-${index}`)) : children });
62
+ });
63
+
64
+ export { Kbd };
65
+ //# sourceMappingURL=Kbd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Kbd.js","sources":["../../../src/components/Kbd/Kbd.tsx"],"sourcesContent":["/**\n * Importing npm packages\n */\nimport { forwardRef } from 'react';\n\n/**\n * Importing user defined packages\n */\nimport { cn } from '@/lib';\n\nimport styles from './Kbd.module.css';\nimport { type KbdProps } from './Kbd.types';\n\n/**\n * Declaring the constants\n */\ninterface Cap {\n glyph: string;\n spoken: string;\n rank: number;\n}\n\nfunction detectMac(): boolean {\n if (typeof navigator === 'undefined') return false;\n return /Mac|iPhone|iPad|iPod/.test(navigator.platform) || /Mac OS X/.test(navigator.userAgent);\n}\n\n/** Resolve one token to its glyph + spoken form; `rank` sorts modifiers into ⌃ ⌥ ⇧ ⌘ order before keys. */\nfunction resolveToken(token: string, mac: boolean): Cap {\n switch (token) {\n case 'mod':\n case 'cmd':\n case 'meta':\n case 'command':\n return mac ? { glyph: '⌘', spoken: 'Command', rank: 3 } : { glyph: 'Ctrl', spoken: 'Control', rank: 3 };\n case 'ctrl':\n case 'control':\n return { glyph: mac ? '⌃' : 'Ctrl', spoken: 'Control', rank: 0 };\n case 'alt':\n case 'option':\n return mac ? { glyph: '⌥', spoken: 'Option', rank: 1 } : { glyph: 'Alt', spoken: 'Alt', rank: 1 };\n case 'shift':\n return { glyph: '⇧', spoken: 'Shift', rank: 2 };\n case 'enter':\n case 'return':\n return { glyph: '↵', spoken: 'Enter', rank: 4 };\n case 'backspace':\n return { glyph: '⌫', spoken: 'Backspace', rank: 4 };\n case 'delete':\n case 'del':\n return { glyph: '⌦', spoken: 'Delete', rank: 4 };\n case 'escape':\n case 'esc':\n return { glyph: 'Esc', spoken: 'Escape', rank: 4 };\n case 'tab':\n return { glyph: 'Tab', spoken: 'Tab', rank: 4 };\n case 'space':\n return { glyph: 'Space', spoken: 'Space', rank: 4 };\n case 'up':\n return { glyph: '↑', spoken: 'Up', rank: 4 };\n case 'down':\n return { glyph: '↓', spoken: 'Down', rank: 4 };\n case 'left':\n return { glyph: '←', spoken: 'Left', rank: 4 };\n case 'right':\n return { glyph: '→', spoken: 'Right', rank: 4 };\n default:\n return { glyph: token.length === 1 ? token.toUpperCase() : token.charAt(0).toUpperCase() + token.slice(1), spoken: token.toUpperCase(), rank: 4 };\n }\n}\n\nfunction parseKeys(keys: string, mac: boolean): Cap[] {\n return keys\n .split('+')\n .map(part => part.trim().toLowerCase())\n .filter(Boolean)\n .map((token, index) => ({ token, index }))\n .map(({ token, index }) => ({ ...resolveToken(token, mac), index }))\n .sort((a, b) => a.rank - b.rank || a.index - b.index);\n}\n\n/**\n * A keyboard shortcut in a costume — static text, never interactive or focusable. Renders a semantic\n * `<kbd>`. The `keys` binding string maps to platform glyphs (⌘ on macOS, Ctrl elsewhere), modifiers\n * ordered ⌃ ⌥ ⇧ ⌘, symbols over words. Boxed by default; `bare` for tooltips and menu rows. A spoken\n * accessible name is supplied so ⌘ reads \"Command\", not \"place of interest\" — pass `aria-hidden` when\n * the host control already announces the shortcut.\n */\nexport const Kbd = forwardRef<HTMLElement, KbdProps>(function Kbd({ keys, bare = false, mac, className, children, ...props }, ref) {\n const isMac = mac ?? detectMac();\n const caps = keys != null ? parseKeys(keys, isMac) : [];\n const spoken = caps.length > 0 ? caps.map(cap => cap.spoken).join(' ') : undefined;\n\n return (\n <kbd ref={ref} className={cn(styles.root, className)} data-bare={bare || undefined} aria-label={spoken} {...props}>\n {keys != null\n ? caps.map((cap, index) => (\n <span key={`${cap.glyph}-${index}`} className={styles.cap}>\n {cap.glyph}\n </span>\n ))\n : children}\n </kbd>\n );\n});\n"],"names":["Kbd"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ var styles = {"root":"sh-root_6k-NF","cap":"sh-cap_jASiC"};
2
+
3
+ export { styles as default };
4
+ //# sourceMappingURL=Kbd.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Kbd.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Importing npm packages
3
+ */
4
+ import { type ComponentPropsWithoutRef } from 'react';
5
+ /**
6
+ * Defining types
7
+ */
8
+ export interface KbdProps extends ComponentPropsWithoutRef<'kbd'> {
9
+ /** Binding string like `mod+shift+K` — parsed to platform glyphs (mod → ⌘ on macOS, Ctrl elsewhere). */
10
+ keys?: string;
11
+ /** Bare glyphs on the host surface, no keycap box (menu rows, tooltips). @default false */
12
+ bare?: boolean;
13
+ /** Force macOS glyphs; defaults to auto-detection. */
14
+ mac?: boolean;
15
+ }
@@ -0,0 +1,2 @@
1
+ export * from './Kbd.js';
2
+ export * from './Kbd.types';
@@ -0,0 +1,7 @@
1
+ import { type MultiSelectProps } from './MultiSelect.types';
2
+ /**
3
+ * Several values from one list. Built on Radix Popover + an ARIA multi-select listbox (Radix has no
4
+ * multi-select primitive). Differs from Select in three behaviors: items are checkboxes, the list
5
+ * stays open across picks, and the trigger shows values as removable tags with a `+N` overflow.
6
+ */
7
+ export declare function MultiSelect({ options, value, defaultValue, onValueChange, placeholder, size, invalid, disabled, maxVisibleTags, maxSelected, searchable, selectAll, clearable, open, defaultOpen, onOpenChange, id, className, contentClassName, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, }: MultiSelectProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,297 @@
1
+ 'use client';
2
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
+ import * as Popover from '@radix-ui/react-popover';
4
+ import { useState, useId, useRef, useMemo } from 'react';
5
+ import '../../lib/api-request.js';
6
+ import { cn } from '../../lib/cn.js';
7
+ import styles from './MultiSelect.module.css.js';
8
+
9
+ function ChevronIcon() {
10
+ return /* @__PURE__ */ jsx("svg", { viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ jsx("path", { d: "M4 6.5L8 10.5L12 6.5" }) });
11
+ }
12
+ function CheckIcon() {
13
+ return /* @__PURE__ */ jsx("svg", { viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ jsx("path", { d: "M3 8.5l3.5 3.5L13 5" }) });
14
+ }
15
+ function CloseIcon() {
16
+ return /* @__PURE__ */ jsx("svg", { viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", "aria-hidden": "true", children: /* @__PURE__ */ jsx("path", { d: "M4 4l8 8M12 4l-8 8" }) });
17
+ }
18
+ function MultiSelect({
19
+ options,
20
+ value,
21
+ defaultValue,
22
+ onValueChange,
23
+ placeholder = "Select\u2026",
24
+ size = "md",
25
+ invalid = false,
26
+ disabled = false,
27
+ maxVisibleTags = 3,
28
+ maxSelected,
29
+ searchable = false,
30
+ selectAll = false,
31
+ clearable = true,
32
+ open,
33
+ defaultOpen,
34
+ onOpenChange,
35
+ id,
36
+ className,
37
+ contentClassName,
38
+ "aria-label": ariaLabel,
39
+ "aria-labelledby": ariaLabelledby
40
+ }) {
41
+ const isControlled = value !== void 0;
42
+ const [internalValue, setInternalValue] = useState(defaultValue ?? []);
43
+ const selected = isControlled ? value : internalValue;
44
+ const isOpenControlled = open !== void 0;
45
+ const [internalOpen, setInternalOpen] = useState(defaultOpen ?? false);
46
+ const isOpen = isOpenControlled ? open : internalOpen;
47
+ const [query, setQuery] = useState("");
48
+ const [activeIndex, setActiveIndex] = useState(0);
49
+ const listId = useId();
50
+ const searchRef = useRef(null);
51
+ const listRef = useRef(null);
52
+ const filtered = useMemo(() => {
53
+ const q = query.trim().toLowerCase();
54
+ return q ? options.filter((option) => option.label.toLowerCase().includes(q)) : options;
55
+ }, [options, query]);
56
+ const enabledFiltered = filtered.filter((option) => !option.disabled);
57
+ const allSelected = enabledFiltered.length > 0 && enabledFiltered.every((option) => selected.includes(option.value));
58
+ const someSelected = enabledFiltered.some((option) => selected.includes(option.value));
59
+ const limitReached = maxSelected != null && selected.length >= maxSelected;
60
+ const rows = useMemo(() => {
61
+ const optionRows = filtered.map((option) => ({ kind: "option", option }));
62
+ return selectAll ? [{ kind: "all", option: null }, ...optionRows] : optionRows;
63
+ }, [filtered, selectAll]);
64
+ function commit(next) {
65
+ if (!isControlled) setInternalValue(next);
66
+ onValueChange?.(next);
67
+ }
68
+ function setOpen(next) {
69
+ if (!isOpenControlled) setInternalOpen(next);
70
+ onOpenChange?.(next);
71
+ if (next) {
72
+ setQuery("");
73
+ setActiveIndex(
74
+ selectAll ? 0 : Math.max(
75
+ 0,
76
+ filtered.findIndex((option) => !option.disabled)
77
+ )
78
+ );
79
+ }
80
+ }
81
+ function toggle(option) {
82
+ if (option.disabled) return;
83
+ if (selected.includes(option.value)) {
84
+ commit(selected.filter((v) => v !== option.value));
85
+ } else if (!limitReached) {
86
+ commit([...selected, option.value]);
87
+ }
88
+ }
89
+ function toggleSelectAll() {
90
+ if (allSelected) {
91
+ const filteredValues = new Set(enabledFiltered.map((option) => option.value));
92
+ commit(selected.filter((v) => !filteredValues.has(v)));
93
+ } else {
94
+ const additions = enabledFiltered.map((option) => option.value).filter((v) => !selected.includes(v));
95
+ const room = maxSelected != null ? Math.max(0, maxSelected - selected.length) : additions.length;
96
+ commit([...selected, ...additions.slice(0, room)]);
97
+ }
98
+ }
99
+ function activateRow(index) {
100
+ const row = rows[index];
101
+ if (!row) return;
102
+ if (row.kind === "all") toggleSelectAll();
103
+ else toggle(row.option);
104
+ }
105
+ function moveActive(delta) {
106
+ if (rows.length === 0) return;
107
+ let next = activeIndex;
108
+ for (let step = 0; step < rows.length; step++) {
109
+ next = (next + delta + rows.length) % rows.length;
110
+ const row = rows[next];
111
+ if (row && (row.kind === "all" || !row.option.disabled)) break;
112
+ }
113
+ setActiveIndex(next);
114
+ }
115
+ function handleListKeyDown(event) {
116
+ if (event.key === "ArrowDown") {
117
+ event.preventDefault();
118
+ moveActive(1);
119
+ } else if (event.key === "ArrowUp") {
120
+ event.preventDefault();
121
+ moveActive(-1);
122
+ } else if (event.key === "Home") {
123
+ event.preventDefault();
124
+ setActiveIndex(0);
125
+ } else if (event.key === "End") {
126
+ event.preventDefault();
127
+ setActiveIndex(rows.length - 1);
128
+ } else if (event.key === "Enter" || event.key === " " && !searchable) {
129
+ event.preventDefault();
130
+ activateRow(activeIndex);
131
+ } else if (event.key === "Backspace" && searchable && query === "" && selected.length > 0) {
132
+ commit(selected.slice(0, -1));
133
+ }
134
+ }
135
+ function removeTag(event, optionValue) {
136
+ event.stopPropagation();
137
+ commit(selected.filter((v) => v !== optionValue));
138
+ }
139
+ const selectedOptions = selected.map((v) => options.find((option) => option.value === v)).filter((option) => option != null);
140
+ const visibleTags = selectedOptions.slice(0, maxVisibleTags);
141
+ const overflow = selectedOptions.length - visibleTags.length;
142
+ const isEmpty = selected.length === 0;
143
+ const activeDescendant = rows.length > 0 ? `${listId}-row-${activeIndex}` : void 0;
144
+ return /* @__PURE__ */ jsxs(Popover.Root, { open: isOpen, onOpenChange: setOpen, children: [
145
+ /* @__PURE__ */ jsxs(
146
+ Popover.Trigger,
147
+ {
148
+ id,
149
+ type: "button",
150
+ disabled,
151
+ className: cn(styles.trigger, className),
152
+ "data-size": size,
153
+ "data-invalid": invalid || void 0,
154
+ "data-empty": isEmpty || void 0,
155
+ "aria-invalid": invalid || void 0,
156
+ "aria-label": ariaLabel,
157
+ "aria-labelledby": ariaLabelledby,
158
+ children: [
159
+ /* @__PURE__ */ jsxs("span", { className: styles.tags, children: [
160
+ isEmpty ? /* @__PURE__ */ jsx("span", { className: styles.placeholder, children: placeholder }) : null,
161
+ visibleTags.map((option) => /* @__PURE__ */ jsxs("span", { className: styles.tag, children: [
162
+ option.label,
163
+ /* @__PURE__ */ jsx(
164
+ "span",
165
+ {
166
+ role: "button",
167
+ tabIndex: -1,
168
+ "aria-label": `Remove ${option.label}`,
169
+ className: styles.tagRemove,
170
+ onPointerDown: (event) => event.stopPropagation(),
171
+ onClick: (event) => removeTag(event, option.value),
172
+ onKeyDown: (event) => {
173
+ if (event.key === "Enter" || event.key === " ") removeTag(event, option.value);
174
+ },
175
+ children: /* @__PURE__ */ jsx(CloseIcon, {})
176
+ }
177
+ )
178
+ ] }, option.value)),
179
+ overflow > 0 ? /* @__PURE__ */ jsxs("span", { className: styles.overflow, children: [
180
+ "+",
181
+ overflow
182
+ ] }) : null
183
+ ] }),
184
+ /* @__PURE__ */ jsx("span", { className: styles.chevron, children: /* @__PURE__ */ jsx(ChevronIcon, {}) })
185
+ ]
186
+ }
187
+ ),
188
+ /* @__PURE__ */ jsx(Popover.Portal, { children: /* @__PURE__ */ jsxs(
189
+ Popover.Content,
190
+ {
191
+ className: cn(styles.content, contentClassName),
192
+ align: "start",
193
+ sideOffset: 6,
194
+ onOpenAutoFocus: (event) => {
195
+ if (!searchable) {
196
+ event.preventDefault();
197
+ listRef.current?.focus();
198
+ }
199
+ },
200
+ children: [
201
+ searchable ? /* @__PURE__ */ jsx("div", { className: styles.search, children: /* @__PURE__ */ jsx(
202
+ "input",
203
+ {
204
+ ref: searchRef,
205
+ className: styles.searchInput,
206
+ type: "text",
207
+ placeholder: "Search\u2026",
208
+ value: query,
209
+ "aria-label": "Search options",
210
+ "aria-controls": listId,
211
+ "aria-activedescendant": activeDescendant,
212
+ onChange: (event) => {
213
+ setQuery(event.target.value);
214
+ setActiveIndex(0);
215
+ },
216
+ onKeyDown: handleListKeyDown
217
+ }
218
+ ) }) : null,
219
+ /* @__PURE__ */ jsxs(
220
+ "div",
221
+ {
222
+ ref: listRef,
223
+ id: listId,
224
+ role: "listbox",
225
+ "aria-multiselectable": "true",
226
+ "aria-label": ariaLabel ?? "Options",
227
+ "aria-activedescendant": searchable ? void 0 : activeDescendant,
228
+ tabIndex: searchable ? -1 : 0,
229
+ className: styles.list,
230
+ onKeyDown: searchable ? void 0 : handleListKeyDown,
231
+ children: [
232
+ selectAll ? (
233
+ // biome-ignore lint/a11y/useFocusableInteractive: options are managed via aria-activedescendant; focus stays on the listbox container
234
+ // biome-ignore lint/a11y/useKeyWithClickEvents: keyboard activation is handled on the listbox container, not per option
235
+ /* @__PURE__ */ jsxs(
236
+ "div",
237
+ {
238
+ id: `${listId}-row-0`,
239
+ role: "option",
240
+ "aria-selected": allSelected,
241
+ className: styles.option,
242
+ "data-active": activeIndex === 0 || void 0,
243
+ onPointerMove: () => setActiveIndex(0),
244
+ onClick: toggleSelectAll,
245
+ children: [
246
+ /* @__PURE__ */ jsx("span", { className: styles.checkbox, "data-checked": allSelected || void 0, "data-indeterminate": !allSelected && someSelected ? "true" : void 0, children: allSelected ? /* @__PURE__ */ jsx(CheckIcon, {}) : !allSelected && someSelected ? /* @__PURE__ */ jsx("span", { className: styles.dash }) : null }),
247
+ /* @__PURE__ */ jsx("span", { className: styles.optionLabel, children: "Select all" })
248
+ ]
249
+ }
250
+ )
251
+ ) : null,
252
+ filtered.length === 0 ? /* @__PURE__ */ jsx("div", { className: styles.empty, children: "No results" }) : filtered.map((option, optionIndex) => {
253
+ const rowIndex = selectAll ? optionIndex + 1 : optionIndex;
254
+ const checked = selected.includes(option.value);
255
+ const rowDisabled = option.disabled || limitReached && !checked;
256
+ return (
257
+ // biome-ignore lint/a11y/useFocusableInteractive: options are managed via aria-activedescendant; focus stays on the listbox container
258
+ // biome-ignore lint/a11y/useKeyWithClickEvents: keyboard activation is handled on the listbox container, not per option
259
+ /* @__PURE__ */ jsxs(
260
+ "div",
261
+ {
262
+ id: `${listId}-row-${rowIndex}`,
263
+ role: "option",
264
+ "aria-selected": checked,
265
+ "aria-disabled": rowDisabled || void 0,
266
+ className: styles.option,
267
+ "data-active": activeIndex === rowIndex || void 0,
268
+ "data-disabled": rowDisabled || void 0,
269
+ onPointerMove: () => setActiveIndex(rowIndex),
270
+ onClick: () => !rowDisabled && toggle(option),
271
+ children: [
272
+ /* @__PURE__ */ jsx("span", { className: styles.checkbox, "data-checked": checked || void 0, children: checked ? /* @__PURE__ */ jsx(CheckIcon, {}) : null }),
273
+ /* @__PURE__ */ jsx("span", { className: styles.optionLabel, children: option.label })
274
+ ]
275
+ },
276
+ option.value
277
+ )
278
+ );
279
+ }),
280
+ clearable || limitReached ? /* @__PURE__ */ jsxs(Fragment, { children: [
281
+ /* @__PURE__ */ jsx("div", { className: styles.divider }),
282
+ /* @__PURE__ */ jsxs("div", { className: styles.footer, children: [
283
+ /* @__PURE__ */ jsx("span", { className: styles.count, children: limitReached ? `Max ${maxSelected}` : `${selected.length} selected` }),
284
+ clearable && selected.length > 0 ? /* @__PURE__ */ jsx("button", { type: "button", className: styles.clearAll, onClick: () => commit([]), children: "Clear all" }) : null
285
+ ] })
286
+ ] }) : null
287
+ ]
288
+ }
289
+ )
290
+ ]
291
+ }
292
+ ) })
293
+ ] });
294
+ }
295
+
296
+ export { MultiSelect };
297
+ //# sourceMappingURL=MultiSelect.js.map