@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
package/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- export * from './components/AppLayout';
2
- export * from './components/Logo';
1
+ import './styles/index.css';
2
+ export * from './components';
3
3
  export * from './hooks';
4
4
  export * from './lib';
5
- export * from './theme.js';
6
5
  export * from './types';
package/index.js CHANGED
@@ -1,10 +1,79 @@
1
- export { AppLayout } from './components/AppLayout/AppLayout.js';
2
- export { A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z } from './components/Logo/Alphabets.js';
3
- export { Logo } from './components/Logo/Logo.js';
1
+ export { Accordion } from './components/Accordion/Accordion.js';
2
+ export { Alert } from './components/Alert/Alert.js';
3
+ export { Avatar, AvatarGroup } from './components/Avatar/Avatar.js';
4
+ export { Badge } from './components/Badge/Badge.js';
5
+ export { Banner } from './components/Banner/Banner.js';
6
+ export { BannerOutlet, useBanner } from './components/Banner/Banner.provider.js';
7
+ export { bannerStore } from './components/Banner/Banner.store.js';
8
+ export { BottomSheet } from './components/BottomSheet/BottomSheet.js';
9
+ export { Breadcrumbs } from './components/Breadcrumbs/Breadcrumbs.js';
10
+ export { Button } from './components/Button/Button.js';
11
+ export { ButtonGroup } from './components/ButtonGroup/ButtonGroup.js';
12
+ export { ButtonGroupContext, useButtonGroupContext } from './components/ButtonGroup/ButtonGroup.context.js';
13
+ export { Calendar } from './components/Calendar/Calendar.js';
14
+ export { Card } from './components/Card/Card.js';
15
+ export { Checkbox } from './components/Checkbox/Checkbox.js';
16
+ export { ColorPicker } from './components/ColorPicker/ColorPicker.js';
17
+ export { Combobox } from './components/Combobox/Combobox.js';
18
+ export { CommandPalette } from './components/CommandPalette/CommandPalette.js';
19
+ export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuItem, ContextMenuLabel, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuSubContent, ContextMenuSubTrigger } from './components/ContextMenu/ContextMenu.js';
20
+ export { DataGrid } from './components/DataGrid/DataGrid.js';
21
+ export { DatePicker } from './components/DatePicker/DatePicker.js';
22
+ export { DateRangePicker } from './components/DateRangePicker/DateRangePicker.js';
23
+ export { DescriptionList } from './components/DescriptionList/DescriptionList.js';
24
+ export { ConfirmDialog, Dialog } from './components/Dialog/Dialog.js';
25
+ export { Drawer } from './components/Drawer/Drawer.js';
26
+ export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuSubContent, DropdownMenuSubTrigger } from './components/DropdownMenu/DropdownMenu.js';
27
+ export { EmptyState } from './components/EmptyState/EmptyState.js';
28
+ export { FileUpload } from './components/FileUpload/FileUpload.js';
29
+ export { FormField } from './components/FormField/FormField.js';
30
+ export { FormFieldContext, useFormField } from './components/FormField/FormField.context.js';
31
+ export { HoverCard } from './components/HoverCard/HoverCard.js';
32
+ export { IconButton } from './components/IconButton/IconButton.js';
33
+ export { Input } from './components/Input/Input.js';
34
+ export { Kbd } from './components/Kbd/Kbd.js';
35
+ export { MultiSelect } from './components/MultiSelect/MultiSelect.js';
36
+ export { NotificationCenter } from './components/NotificationCenter/NotificationCenter.js';
37
+ export { NotificationList } from './components/NotificationCenter/NotificationList.js';
38
+ export { NumberStepper } from './components/NumberStepper/NumberStepper.js';
39
+ export { OtpInput } from './components/OtpInput/OtpInput.js';
40
+ export { Pagination } from './components/Pagination/Pagination.js';
41
+ export { Popover } from './components/Popover/Popover.js';
42
+ export { Progress } from './components/Progress/Progress.js';
43
+ export { RadioGroup, RadioItem } from './components/RadioGroup/RadioGroup.js';
44
+ export { RadioGroupContext, useRadioGroupContext } from './components/RadioGroup/RadioGroup.context.js';
45
+ export { Rating } from './components/Rating/Rating.js';
46
+ export { RTEField, RTEFieldAttachments, RTEFieldContent, RTEFieldFooter, RTEFieldToolbar, RTEFieldToolbarButton, RTEFieldToolbarDivider, useRTEField } from './components/RTEField/RTEField.js';
47
+ export { SegmentedControl } from './components/SegmentedControl/SegmentedControl.js';
48
+ export { Select, SelectGroup, SelectItem, SelectSeparator } from './components/Select/Select.js';
49
+ export { Page, Shell } from './components/Shell/Shell.js';
50
+ export { Sidebar, useSidebar } from './components/Sidebar/Sidebar.js';
51
+ export { Skeleton } from './components/Skeleton/Skeleton.js';
52
+ export { Slider } from './components/Slider/Slider.js';
53
+ export { Spinner } from './components/Spinner/Spinner.js';
54
+ export { SplitPane, SplitPaneHandle, SplitPanePane } from './components/SplitPane/SplitPane.js';
55
+ export { Statistic } from './components/Statistic/Statistic.js';
56
+ export { Stepper, StepperStep } from './components/Stepper/Stepper.js';
57
+ export { Switch } from './components/Switch/Switch.js';
58
+ export { Table } from './components/Table/Table.js';
59
+ export { Tabs } from './components/Tabs/Tabs.js';
60
+ export { Tag } from './components/Tag/Tag.js';
61
+ export { Textarea } from './components/Textarea/Textarea.js';
62
+ export { Timeline, TimelineItem } from './components/Timeline/Timeline.js';
63
+ export { TimePicker } from './components/TimePicker/TimePicker.js';
64
+ export { Toaster } from './components/Toast/Toast.js';
65
+ export { toast, toastStore } from './components/Toast/Toast.store.js';
66
+ export { TokenInput } from './components/TokenInput/TokenInput.js';
67
+ export { Tooltip, TooltipProvider } from './components/Tooltip/Tooltip.js';
68
+ export { TopNavigation } from './components/TopNavigation/TopNavigation.js';
69
+ export { TreeView } from './components/TreeView/TreeView.js';
70
+ export { useDeferredLoading } from './hooks/useDeferredLoading.js';
4
71
  export { useSearchParams } from './hooks/useSearchParams.js';
5
72
  export { ApiError } from './lib/api-error.js';
6
73
  export { APIRequest } from './lib/api-request.js';
74
+ export { cn } from './lib/cn.js';
75
+ export { addDays, addMonths, buildMonthMatrix, formatLongDate, isSameDay, pad2, parseISODate, startOfMonth, toISODate } from './lib/date.js';
7
76
  export { generateApi } from './lib/generate-api.js';
77
+ export { mergeRefs } from './lib/merge-refs.js';
8
78
  export { getInitials } from './lib/utils.js';
9
- export { shadowTheme } from './theme.js';
10
79
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { ApiError } from './api-error.js';
2
2
 
3
3
  class APIRequest {
4
- static baseUrl = "/api/v1";
4
+ static baseUrl = import.meta.env.VITE_API_BASE_URL || "";
5
5
  static preRequestHook = null;
6
6
  static postResponseHook = null;
7
7
  options;
@@ -63,8 +63,10 @@ class APIRequest {
63
63
  }
64
64
  async execute() {
65
65
  const { path, method, headers, query, data } = this.options;
66
- const queryString = Object.keys(query).length > 0 ? `?${new URLSearchParams(query).toString()}` : "";
67
- const url = path.startsWith("http://") || path.startsWith("https://") ? `${path}${queryString}` : `${APIRequest.baseUrl}${path}${queryString}`;
66
+ let url = path;
67
+ const searchParams = new URLSearchParams(query);
68
+ if (searchParams.size) url += `?${searchParams.toString()}`;
69
+ if (!path.startsWith("http://") && !path.startsWith("https://")) url = APIRequest.baseUrl + url;
68
70
  const init = { method, headers };
69
71
  if (data) {
70
72
  headers["content-type"] = "application/json";
@@ -1 +1 @@
1
- {"version":3,"file":"api-request.js","sources":["../../src/lib/api-request.ts"],"sourcesContent":["/**\n * Importing npm packages\n */\n\n/**\n * Importing user defined packages\n */\nimport { type JsonObject, type JsonValue, type VoidFn } from '@/types';\n\nimport { ApiError, type ErrorResponse } from './api-error';\n\n/**\n * Defining types\n */\n\nexport interface APIRequestOptions {\n path: string;\n method: string;\n headers: Record<string, string>;\n query: Record<string, string>;\n data?: JsonObject;\n}\n\nexport interface PreRequestContext {\n url: string;\n init: RequestInit;\n options: Readonly<APIRequestOptions>;\n}\n\nexport interface PostResponseContext {\n response: Response;\n options: Readonly<APIRequestOptions>;\n}\n\nexport type PreRequestHook = (context: PreRequestContext) => void | Promise<void>;\n\nexport type PostResponseHook = (context: PostResponseContext) => void | Promise<void>;\n\nexport type QueryParams = Record<string, string | number | boolean | undefined>;\n\n/**\n * Declaring the constants\n */\n\nexport class APIRequest {\n private static baseUrl = '/api/v1';\n private static preRequestHook: PreRequestHook | null = null;\n private static postResponseHook: PostResponseHook | null = null;\n\n private readonly options: APIRequestOptions;\n\n private constructor(path: string, method: string) {\n this.options = { path, method, headers: {}, query: {} };\n }\n\n static get(path: string): APIRequest {\n return new APIRequest(path, 'GET');\n }\n\n static post(path: string): APIRequest {\n return new APIRequest(path, 'POST');\n }\n\n static put(path: string): APIRequest {\n return new APIRequest(path, 'PUT');\n }\n\n static patch(path: string): APIRequest {\n return new APIRequest(path, 'PATCH');\n }\n\n static delete(path: string): APIRequest {\n return new APIRequest(path, 'DELETE');\n }\n\n static setBaseUrl(baseUrl: string): void {\n APIRequest.baseUrl = baseUrl;\n }\n\n static setPreRequestHook(hook: PreRequestHook | null): void {\n APIRequest.preRequestHook = hook;\n }\n\n static setPostResponseHook(hook: PostResponseHook | null): void {\n APIRequest.postResponseHook = hook;\n }\n\n header(key: string, value: string): this {\n this.options.headers[key] = value;\n return this;\n }\n\n query(key: string, value: string): this;\n query(params: QueryParams): this;\n query(keyOrParams: string | QueryParams, value?: string): this {\n if (typeof keyOrParams === 'string') this.options.query[keyOrParams] = String(value);\n else {\n for (const [k, v] of Object.entries(keyOrParams)) {\n if (v !== undefined) this.options.query[k] = String(v);\n }\n }\n return this;\n }\n\n field(key: string, value: JsonValue): this {\n if (!this.options.data) this.options.data = {};\n\n const keys = key.split('.');\n let pointer = this.options.data;\n for (let index = 0; index < keys.length - 1; index++) {\n const currentKey = keys[index] as string;\n if (!pointer[currentKey]) pointer[currentKey] = {};\n pointer = pointer[currentKey] as JsonObject;\n }\n pointer[keys[keys.length - 1] as string] = value;\n\n return this;\n }\n\n body(data: JsonObject): this {\n this.options.data = data;\n return this;\n }\n\n async execute<T>(): Promise<T> {\n const { path, method, headers, query, data } = this.options;\n\n const queryString = Object.keys(query).length > 0 ? `?${new URLSearchParams(query).toString()}` : '';\n const url = path.startsWith('http://') || path.startsWith('https://') ? `${path}${queryString}` : `${APIRequest.baseUrl}${path}${queryString}`;\n\n const init: RequestInit = { method, headers };\n if (data) {\n headers['content-type'] = 'application/json';\n init.body = JSON.stringify(data);\n }\n\n let response: Response;\n try {\n const options = { ...this.options };\n if (APIRequest.preRequestHook) await APIRequest.preRequestHook({ url, init, options });\n response = await fetch(url, init);\n if (APIRequest.postResponseHook) await APIRequest.postResponseHook({ response, options });\n } catch {\n throw new ApiError(-1, { code: 'NETWORK_ERROR', type: 'NetworkError', message: 'Unable to reach the server' });\n }\n\n if (!response.ok) {\n let body: ErrorResponse;\n try {\n body = await response.json();\n } catch {\n throw new ApiError(response.status, { code: 'UNKNOWN_ERROR', type: 'UnknownError', message: `Request failed with status ${response.status}` });\n }\n throw new ApiError(response.status, body);\n }\n\n if (response.status === 204) return undefined as T;\n return response.json();\n }\n\n // biome-ignore lint/suspicious/noThenProperty: This class is designed to be thenable for convenient usage in async contexts\n then<T, TResult1 = T, TResult2 = never>(\n resolve?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,\n reject?: ((reason?: unknown) => TResult2 | PromiseLike<TResult2>) | null,\n ): Promise<TResult1 | TResult2> {\n return this.execute<T>().then(resolve, reject);\n }\n\n catch<T, TResult = never>(reject?: ((reason?: unknown) => TResult | PromiseLike<TResult>) | null): Promise<T | TResult> {\n return this.execute<T>().catch(reject);\n }\n\n finally(callback: VoidFn): Promise<unknown> {\n return this.execute().finally(callback);\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-request.js","sources":["../../src/lib/api-request.ts"],"sourcesContent":["/**\n * Importing npm packages\n */\n\n/**\n * Importing user defined packages\n */\nimport { type JsonObject, type JsonValue, type VoidFn } from '@/types';\n\nimport { ApiError, type ErrorResponse } from './api-error';\n\n/**\n * Defining types\n */\n\nexport interface APIRequestOptions {\n path: string;\n method: string;\n headers: Record<string, string>;\n query: Record<string, string>;\n data?: JsonObject;\n}\n\nexport interface PreRequestContext {\n url: string;\n init: RequestInit;\n options: Readonly<APIRequestOptions>;\n}\n\nexport interface PostResponseContext {\n response: Response;\n options: Readonly<APIRequestOptions>;\n}\n\nexport type PreRequestHook = (context: PreRequestContext) => void | Promise<void>;\n\nexport type PostResponseHook = (context: PostResponseContext) => void | Promise<void>;\n\nexport type QueryParams = Record<string, string | number | boolean | undefined>;\n\n/**\n * Declaring the constants\n */\n\nexport class APIRequest {\n private static baseUrl = import.meta.env.VITE_API_BASE_URL || '';\n private static preRequestHook: PreRequestHook | null = null;\n private static postResponseHook: PostResponseHook | null = null;\n\n private readonly options: APIRequestOptions;\n\n private constructor(path: string, method: string) {\n this.options = { path, method, headers: {}, query: {} };\n }\n\n static get(path: string): APIRequest {\n return new APIRequest(path, 'GET');\n }\n\n static post(path: string): APIRequest {\n return new APIRequest(path, 'POST');\n }\n\n static put(path: string): APIRequest {\n return new APIRequest(path, 'PUT');\n }\n\n static patch(path: string): APIRequest {\n return new APIRequest(path, 'PATCH');\n }\n\n static delete(path: string): APIRequest {\n return new APIRequest(path, 'DELETE');\n }\n\n static setBaseUrl(baseUrl: string): void {\n APIRequest.baseUrl = baseUrl;\n }\n\n static setPreRequestHook(hook: PreRequestHook | null): void {\n APIRequest.preRequestHook = hook;\n }\n\n static setPostResponseHook(hook: PostResponseHook | null): void {\n APIRequest.postResponseHook = hook;\n }\n\n header(key: string, value: string): this {\n this.options.headers[key] = value;\n return this;\n }\n\n query(key: string, value: string): this;\n query(params: QueryParams): this;\n query(keyOrParams: string | QueryParams, value?: string): this {\n if (typeof keyOrParams === 'string') this.options.query[keyOrParams] = String(value);\n else {\n for (const [k, v] of Object.entries(keyOrParams)) {\n if (v !== undefined) this.options.query[k] = String(v);\n }\n }\n return this;\n }\n\n field(key: string, value: JsonValue): this {\n if (!this.options.data) this.options.data = {};\n\n const keys = key.split('.');\n let pointer = this.options.data;\n for (let index = 0; index < keys.length - 1; index++) {\n const currentKey = keys[index] as string;\n if (!pointer[currentKey]) pointer[currentKey] = {};\n pointer = pointer[currentKey] as JsonObject;\n }\n pointer[keys[keys.length - 1] as string] = value;\n\n return this;\n }\n\n body(data: JsonObject): this {\n this.options.data = data;\n return this;\n }\n\n async execute<T>(): Promise<T> {\n const { path, method, headers, query, data } = this.options;\n\n let url: string = path;\n const searchParams = new URLSearchParams(query);\n if (searchParams.size) url += `?${searchParams.toString()}`;\n if (!path.startsWith('http://') && !path.startsWith('https://')) url = APIRequest.baseUrl + url;\n\n const init: RequestInit = { method, headers };\n if (data) {\n headers['content-type'] = 'application/json';\n init.body = JSON.stringify(data);\n }\n\n let response: Response;\n try {\n const options = { ...this.options };\n if (APIRequest.preRequestHook) await APIRequest.preRequestHook({ url, init, options });\n response = await fetch(url, init);\n if (APIRequest.postResponseHook) await APIRequest.postResponseHook({ response, options });\n } catch {\n throw new ApiError(-1, { code: 'NETWORK_ERROR', type: 'NetworkError', message: 'Unable to reach the server' });\n }\n\n if (!response.ok) {\n let body: ErrorResponse;\n try {\n body = await response.json();\n } catch {\n throw new ApiError(response.status, { code: 'UNKNOWN_ERROR', type: 'UnknownError', message: `Request failed with status ${response.status}` });\n }\n throw new ApiError(response.status, body);\n }\n\n if (response.status === 204) return undefined as T;\n return response.json();\n }\n\n // biome-ignore lint/suspicious/noThenProperty: This class is designed to be thenable for convenient usage in async contexts\n then<T, TResult1 = T, TResult2 = never>(\n resolve?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,\n reject?: ((reason?: unknown) => TResult2 | PromiseLike<TResult2>) | null,\n ): Promise<TResult1 | TResult2> {\n return this.execute<T>().then(resolve, reject);\n }\n\n catch<T, TResult = never>(reject?: ((reason?: unknown) => TResult | PromiseLike<TResult>) | null): Promise<T | TResult> {\n return this.execute<T>().catch(reject);\n }\n\n finally(callback: VoidFn): Promise<unknown> {\n return this.execute().finally(callback);\n }\n}\n"],"names":[],"mappings":"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"}
package/lib/cn.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Importing npm packages
3
+ */
4
+ import { type ClassValue } from 'clsx';
5
+ /**
6
+ * Importing user defined packages
7
+ */
8
+ /**
9
+ * Defining types
10
+ */
11
+ /**
12
+ * Declaring the constants
13
+ */
14
+ /**
15
+ * Composes conditional class names. With CSS Modules there are no utility-class conflicts to
16
+ * de-duplicate, so this is a thin, dependency-light wrapper over clsx that components use to
17
+ * merge their scoped module classes with a caller-supplied `className`.
18
+ */
19
+ export declare function cn(...inputs: ClassValue[]): string;
package/lib/cn.js ADDED
@@ -0,0 +1,8 @@
1
+ import { clsx } from 'clsx';
2
+
3
+ function cn(...inputs) {
4
+ return clsx(inputs);
5
+ }
6
+
7
+ export { cn };
8
+ //# sourceMappingURL=cn.js.map
package/lib/cn.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.js","sources":["../../src/lib/cn.ts"],"sourcesContent":["/**\n * Importing npm packages\n */\nimport { type ClassValue, clsx } from 'clsx';\n\n/**\n * Importing user defined packages\n */\n\n/**\n * Defining types\n */\n\n/**\n * Declaring the constants\n */\n\n/**\n * Composes conditional class names. With CSS Modules there are no utility-class conflicts to\n * de-duplicate, so this is a thin, dependency-light wrapper over clsx that components use to\n * merge their scoped module classes with a caller-supplied `className`.\n */\nexport function cn(...inputs: ClassValue[]): string {\n return clsx(inputs);\n}\n"],"names":[],"mappings":";;AAsBO,SAAS,MAAM,MAAA,EAA8B;AAClD,EAAA,OAAO,KAAK,MAAM,CAAA;AACpB;;;;"}
package/lib/date.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Small, dependency-free date helpers for the calendar components. Values cross the component API as
3
+ * ISO date strings (YYYY-MM-DD); Date objects stay internal.
4
+ */
5
+ export declare function pad2(value: number): string;
6
+ /** Format a Date as a local YYYY-MM-DD string. */
7
+ export declare function toISODate(date: Date): string;
8
+ /** Parse a strict YYYY-MM-DD string to a local Date, or null if invalid. */
9
+ export declare function parseISODate(value: string): Date | null;
10
+ export declare function addDays(date: Date, days: number): Date;
11
+ export declare function addMonths(date: Date, months: number): Date;
12
+ export declare function startOfMonth(date: Date): Date;
13
+ export declare function isSameDay(a: Date, b: Date): boolean;
14
+ /** A 6×7 matrix of Dates covering `month`, padded with adjacent-month days. */
15
+ export declare function buildMonthMatrix(year: number, month: number, weekStartsOn?: number): Date[][];
16
+ /** Long, screen-reader-friendly label ("Tuesday, June 30, 2026"). */
17
+ export declare function formatLongDate(date: Date): string;
package/lib/date.js ADDED
@@ -0,0 +1,54 @@
1
+ function pad2(value) {
2
+ return String(value).padStart(2, "0");
3
+ }
4
+ function toISODate(date) {
5
+ return `${date.getFullYear()}-${pad2(date.getMonth() + 1)}-${pad2(date.getDate())}`;
6
+ }
7
+ function parseISODate(value) {
8
+ const match = /^(\d{4})-(\d{2})-(\d{2})$/.exec(value.trim());
9
+ if (!match) return null;
10
+ const year = Number(match[1]);
11
+ const month = Number(match[2]);
12
+ const day = Number(match[3]);
13
+ const date = new Date(year, month - 1, day);
14
+ if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) return null;
15
+ return date;
16
+ }
17
+ function addDays(date, days) {
18
+ const next = new Date(date);
19
+ next.setDate(next.getDate() + days);
20
+ return next;
21
+ }
22
+ function addMonths(date, months) {
23
+ const next = new Date(date);
24
+ next.setDate(1);
25
+ next.setMonth(next.getMonth() + months);
26
+ return next;
27
+ }
28
+ function startOfMonth(date) {
29
+ return new Date(date.getFullYear(), date.getMonth(), 1);
30
+ }
31
+ function isSameDay(a, b) {
32
+ return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
33
+ }
34
+ function buildMonthMatrix(year, month, weekStartsOn = 0) {
35
+ const first = new Date(year, month, 1);
36
+ const offset = (first.getDay() - weekStartsOn + 7) % 7;
37
+ let cursor = addDays(first, -offset);
38
+ const weeks = [];
39
+ for (let week = 0; week < 6; week++) {
40
+ const days = [];
41
+ for (let day = 0; day < 7; day++) {
42
+ days.push(cursor);
43
+ cursor = addDays(cursor, 1);
44
+ }
45
+ weeks.push(days);
46
+ }
47
+ return weeks;
48
+ }
49
+ function formatLongDate(date) {
50
+ return date.toLocaleDateString(void 0, { weekday: "long", year: "numeric", month: "long", day: "numeric" });
51
+ }
52
+
53
+ export { addDays, addMonths, buildMonthMatrix, formatLongDate, isSameDay, pad2, parseISODate, startOfMonth, toISODate };
54
+ //# sourceMappingURL=date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.js","sources":["../../src/lib/date.ts"],"sourcesContent":["/**\n * Small, dependency-free date helpers for the calendar components. Values cross the component API as\n * ISO date strings (YYYY-MM-DD); Date objects stay internal.\n */\n\nexport function pad2(value: number): string {\n return String(value).padStart(2, '0');\n}\n\n/** Format a Date as a local YYYY-MM-DD string. */\nexport function toISODate(date: Date): string {\n return `${date.getFullYear()}-${pad2(date.getMonth() + 1)}-${pad2(date.getDate())}`;\n}\n\n/** Parse a strict YYYY-MM-DD string to a local Date, or null if invalid. */\nexport function parseISODate(value: string): Date | null {\n const match = /^(\\d{4})-(\\d{2})-(\\d{2})$/.exec(value.trim());\n if (!match) return null;\n const year = Number(match[1]);\n const month = Number(match[2]);\n const day = Number(match[3]);\n const date = new Date(year, month - 1, day);\n if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) return null;\n return date;\n}\n\nexport function addDays(date: Date, days: number): Date {\n const next = new Date(date);\n next.setDate(next.getDate() + days);\n return next;\n}\n\nexport function addMonths(date: Date, months: number): Date {\n const next = new Date(date);\n next.setDate(1);\n next.setMonth(next.getMonth() + months);\n return next;\n}\n\nexport function startOfMonth(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth(), 1);\n}\n\nexport function isSameDay(a: Date, b: Date): boolean {\n return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();\n}\n\n/** A 6×7 matrix of Dates covering `month`, padded with adjacent-month days. */\nexport function buildMonthMatrix(year: number, month: number, weekStartsOn = 0): Date[][] {\n const first = new Date(year, month, 1);\n const offset = (first.getDay() - weekStartsOn + 7) % 7;\n let cursor = addDays(first, -offset);\n const weeks: Date[][] = [];\n for (let week = 0; week < 6; week++) {\n const days: Date[] = [];\n for (let day = 0; day < 7; day++) {\n days.push(cursor);\n cursor = addDays(cursor, 1);\n }\n weeks.push(days);\n }\n return weeks;\n}\n\n/** Long, screen-reader-friendly label (\"Tuesday, June 30, 2026\"). */\nexport function formatLongDate(date: Date): string {\n return date.toLocaleDateString(undefined, { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' });\n}\n"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  export * from './api-error.js';
2
2
  export * from './api-request.js';
3
+ export * from './cn.js';
4
+ export * from './date.js';
3
5
  export * from './generate-api.js';
6
+ export * from './merge-refs.js';
4
7
  export * from './utils.js';
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Importing npm packages
3
+ */
4
+ import { type Ref } from 'react';
5
+ /**
6
+ * Importing user defined packages
7
+ */
8
+ /**
9
+ * Defining types
10
+ */
11
+ /**
12
+ * Merges several refs into one callback ref so a component can both forward a caller's ref and
13
+ * keep its own internal handle to the same node.
14
+ */
15
+ export declare function mergeRefs<T>(...refs: (Ref<T> | undefined)[]): (node: T | null) => void;
@@ -0,0 +1,11 @@
1
+ function mergeRefs(...refs) {
2
+ return (node) => {
3
+ for (const ref of refs) {
4
+ if (typeof ref === "function") ref(node);
5
+ else if (ref != null) ref.current = node;
6
+ }
7
+ };
8
+ }
9
+
10
+ export { mergeRefs };
11
+ //# sourceMappingURL=merge-refs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-refs.js","sources":["../../src/lib/merge-refs.ts"],"sourcesContent":["/**\n * Importing npm packages\n */\nimport { type Ref } from 'react';\n\n/**\n * Importing user defined packages\n */\n\n/**\n * Defining types\n */\n\n/**\n * Merges several refs into one callback ref so a component can both forward a caller's ref and\n * keep its own internal handle to the same node.\n */\nexport function mergeRefs<T>(...refs: (Ref<T> | undefined)[]): (node: T | null) => void {\n return (node: T | null) => {\n for (const ref of refs) {\n if (typeof ref === 'function') ref(node);\n else if (ref != null) (ref as { current: T | null }).current = node;\n }\n };\n}\n"],"names":[],"mappings":"AAiBO,SAAS,aAAgB,IAAA,EAAwD;AACtF,EAAA,OAAO,CAAC,IAAA,KAAmB;AACzB,IAAA,KAAA,MAAW,OAAO,IAAA,EAAM;AACtB,MAAA,IAAI,OAAO,GAAA,KAAQ,UAAA,EAAY,GAAA,CAAI,IAAI,CAAA;AAAA,WAAA,IAC9B,GAAA,IAAO,IAAA,EAAO,GAAA,CAA8B,OAAA,GAAU,IAAA;AAAA,IACjE;AAAA,EACF,CAAA;AACF;;;;"}
package/package.json CHANGED
@@ -1,11 +1,8 @@
1
1
  {
2
2
  "name": "@shadow-library/ui",
3
- "version": "0.1.2",
3
+ "version": "1.0.0",
4
4
  "type": "module",
5
- "sideEffects": [
6
- "**/*.css"
7
- ],
8
- "description": "Shared React component library for the Shadow Apps ecosystem, built on Mantine with Storybook stories, and full TypeScript support",
5
+ "description": "Shadow UI — enterprise React component library for the Shadow Apps ecosystem, styled with CSS Modules and CSS-variable design tokens, documented in Storybook, with full TypeScript support",
9
6
  "repository": {
10
7
  "type": "git",
11
8
  "url": "git+ssh://git@github.com/shadow-library/ui.git"
@@ -17,13 +14,36 @@
17
14
  },
18
15
  "homepage": "https://github.com/shadow-library/ui#readme",
19
16
  "peerDependencies": {
17
+ "react": "^18.3.0 || ^19.0.0",
18
+ "react-dom": "^18.3.0 || ^19.0.0",
20
19
  "typescript": "^5.9.3",
21
- "@mantine/core": "^8.3.18",
22
- "@mantine/hooks": "^8.3.18",
23
- "lucide-react": "^0.577.0",
24
- "@tanstack/react-router": "1.168.1"
20
+ "@tanstack/react-router": "^1.168.1"
21
+ },
22
+ "peerDependenciesMeta": {
23
+ "typescript": {
24
+ "optional": true
25
+ },
26
+ "@tanstack/react-router": {
27
+ "optional": true
28
+ }
25
29
  },
26
30
  "dependencies": {
31
+ "@radix-ui/react-accordion": "^1.2.16",
32
+ "@radix-ui/react-alert-dialog": "^1.1.19",
33
+ "@radix-ui/react-avatar": "^1.2.2",
34
+ "@radix-ui/react-checkbox": "^1.3.7",
35
+ "@radix-ui/react-context-menu": "^2.3.3",
36
+ "@radix-ui/react-dialog": "^1.1.19",
37
+ "@radix-ui/react-dropdown-menu": "^2.1.20",
38
+ "@radix-ui/react-hover-card": "^1.1.19",
39
+ "@radix-ui/react-popover": "^1.1.19",
40
+ "@radix-ui/react-radio-group": "^1.4.3",
41
+ "@radix-ui/react-select": "^2.3.3",
42
+ "@radix-ui/react-slider": "^1.4.3",
43
+ "@radix-ui/react-slot": "^1.3.0",
44
+ "@radix-ui/react-switch": "^1.3.3",
45
+ "@radix-ui/react-tabs": "^1.1.17",
46
+ "@radix-ui/react-tooltip": "^1.2.12",
27
47
  "clsx": "^2.1.1",
28
48
  "openapi-typescript": "^7.13.0"
29
49
  },
@@ -36,7 +56,9 @@
36
56
  "default": "./index.js"
37
57
  },
38
58
  "./styles.css": "./styles.css",
39
- "./styles.layer.css": "./styles.layer.css",
40
- "./styles/*": "./styles/*"
41
- }
59
+ "./styles.layer.css": "./styles.layer.css"
60
+ },
61
+ "sideEffects": [
62
+ "*.css"
63
+ ]
42
64
  }