shivanya-sdk 0.0.1 → 0.1.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 (697) hide show
  1. package/LICENSE +13 -0
  2. package/README.md +114 -1
  3. package/package.json +28 -29
  4. package/packages/ai/package.json +37 -0
  5. package/packages/ai/src/ai.ts +33 -0
  6. package/packages/ai/src/index.ts +2 -0
  7. package/packages/ai/src/types.ts +10 -0
  8. package/packages/ai/tsconfig.json +13 -0
  9. package/packages/core/package.json +34 -0
  10. package/packages/core/src/client.ts +48 -0
  11. package/packages/core/src/errors.ts +9 -0
  12. package/packages/core/src/index.ts +2 -0
  13. package/packages/core/tsconfig.json +15 -0
  14. package/packages/shell/README.md +97 -0
  15. package/packages/shell/package.json +58 -0
  16. package/packages/shell/src/components/DrawerHeader.tsx +19 -0
  17. package/packages/shell/src/components/ShellBrand.tsx +32 -0
  18. package/packages/shell/src/components/ShellFooter.tsx +18 -0
  19. package/packages/shell/src/components/ShellHeader.tsx +79 -0
  20. package/packages/shell/src/components/ShellMain.tsx +17 -0
  21. package/packages/shell/src/components/ShellMobileNav.tsx +59 -0
  22. package/packages/shell/src/components/ShellRoot.tsx +11 -0
  23. package/packages/shell/src/components/ShellSidebar.tsx +112 -0
  24. package/packages/shell/src/components/SidebarFooter.tsx +19 -0
  25. package/packages/shell/src/components/index.ts +9 -0
  26. package/packages/shell/src/context/ShellContext.tsx +4 -0
  27. package/packages/shell/src/context/ShellProvider.tsx +55 -0
  28. package/packages/shell/src/context/index.ts +2 -0
  29. package/packages/shell/src/hooks/index.ts +4 -0
  30. package/packages/shell/src/hooks/useBreakpoint.ts +20 -0
  31. package/packages/shell/src/hooks/useLayout.ts +1 -0
  32. package/packages/shell/src/hooks/useShell.ts +14 -0
  33. package/packages/shell/src/hooks/useSidebar.ts +21 -0
  34. package/packages/shell/src/index.ts +7 -0
  35. package/packages/shell/src/layouts/AppShell.tsx +29 -0
  36. package/packages/shell/src/layouts/BlankShell.tsx +16 -0
  37. package/packages/shell/src/layouts/CenteredShell.tsx +28 -0
  38. package/packages/shell/src/layouts/DashboardShell.tsx +115 -0
  39. package/packages/shell/src/layouts/PageContainer.tsx +22 -0
  40. package/packages/shell/src/layouts/PageHeader.tsx +26 -0
  41. package/packages/shell/src/layouts/WebsiteShell.tsx +41 -0
  42. package/packages/shell/src/layouts/index.ts +7 -0
  43. package/packages/shell/src/styles/index.ts +1 -0
  44. package/packages/shell/src/styles/shell.css +559 -0
  45. package/packages/shell/src/styles.d.ts +1 -0
  46. package/packages/shell/src/types/shell.ts +148 -0
  47. package/packages/shell/src/utils/index.ts +1 -0
  48. package/packages/shell/src/utils/navigation.ts +12 -0
  49. package/packages/shell/tsconfig.json +17 -0
  50. package/packages/ui/README.md +88 -0
  51. package/packages/ui/package.json +61 -0
  52. package/packages/ui/src/assets/fonts/Outfit-VariableFont_wght.ttf +0 -0
  53. package/packages/ui/src/components/charts/BarChart/BarChart.css +56 -0
  54. package/packages/ui/src/components/charts/BarChart/BarChart.docs.ts +7 -0
  55. package/packages/ui/src/components/charts/BarChart/BarChart.tsx +14 -0
  56. package/packages/ui/src/components/charts/BarChart/BarChart.types.ts +56 -0
  57. package/packages/ui/src/components/charts/BarChart/ChartRow.tsx +9 -0
  58. package/packages/ui/src/components/charts/BarChart/components/Axis.tsx +8 -0
  59. package/packages/ui/src/components/charts/BarChart/components/Bar.tsx +10 -0
  60. package/packages/ui/src/components/charts/BarChart/components/Grid.tsx +9 -0
  61. package/packages/ui/src/components/charts/BarChart/components/Label.tsx +4 -0
  62. package/packages/ui/src/components/charts/BarChart/components/Skeleton.tsx +5 -0
  63. package/packages/ui/src/components/charts/BarChart/components/Tooltip.tsx +4 -0
  64. package/packages/ui/src/components/charts/BarChart/components/Value.tsx +6 -0
  65. package/packages/ui/src/components/charts/BarChart/config.ts +21 -0
  66. package/packages/ui/src/components/charts/BarChart/constants.ts +11 -0
  67. package/packages/ui/src/components/charts/BarChart/hooks/useChartDimensions.ts +14 -0
  68. package/packages/ui/src/components/charts/BarChart/hooks/useResizeObserver.ts +15 -0
  69. package/packages/ui/src/components/charts/BarChart/hooks/useTooltip.ts +7 -0
  70. package/packages/ui/src/components/charts/BarChart/index.ts +3 -0
  71. package/packages/ui/src/components/charts/BarChart/layout.ts +4 -0
  72. package/packages/ui/src/components/charts/BarChart/layouts/HorizontalLayout.tsx +3 -0
  73. package/packages/ui/src/components/charts/BarChart/layouts/VerticalLayout.tsx +3 -0
  74. package/packages/ui/src/components/charts/BarChart/scales.ts +11 -0
  75. package/packages/ui/src/components/charts/BarChart/utils.ts +28 -0
  76. package/packages/ui/src/components/charts/Charts.css +15 -0
  77. package/packages/ui/src/components/charts/DonutChart/DonutChart.css +356 -0
  78. package/packages/ui/src/components/charts/DonutChart/DonutChart.docs.ts +7 -0
  79. package/packages/ui/src/components/charts/DonutChart/DonutChart.tsx +333 -0
  80. package/packages/ui/src/components/charts/DonutChart/DonutChart.types.ts +5 -0
  81. package/packages/ui/src/components/charts/DonutChart/config.ts +7 -0
  82. package/packages/ui/src/components/charts/DonutChart/index.ts +3 -0
  83. package/packages/ui/src/components/charts/DonutChart/utils.ts +49 -0
  84. package/packages/ui/src/components/charts/PieChart/PieChart.css +3 -0
  85. package/packages/ui/src/components/charts/PieChart/PieChart.docs.ts +7 -0
  86. package/packages/ui/src/components/charts/PieChart/PieChart.tsx +3 -0
  87. package/packages/ui/src/components/charts/PieChart/PieChart.types.ts +5 -0
  88. package/packages/ui/src/components/charts/PieChart/config.ts +5 -0
  89. package/packages/ui/src/components/charts/PieChart/index.ts +3 -0
  90. package/packages/ui/src/components/charts/PieChart/utils.ts +23 -0
  91. package/packages/ui/src/components/charts/index.ts +3 -0
  92. package/packages/ui/src/components/data-display/Accordion/Accordion.css +122 -0
  93. package/packages/ui/src/components/data-display/Accordion/Accordion.docs.ts +63 -0
  94. package/packages/ui/src/components/data-display/Accordion/Accordion.tsx +218 -0
  95. package/packages/ui/src/components/data-display/Accordion/Accordion.types.ts +32 -0
  96. package/packages/ui/src/components/data-display/Accordion/index.ts +3 -0
  97. package/packages/ui/src/components/data-display/AnimatedNumber/AnimatedNumber.css +6 -0
  98. package/packages/ui/src/components/data-display/AnimatedNumber/AnimatedNumber.docs.ts +56 -0
  99. package/packages/ui/src/components/data-display/AnimatedNumber/AnimatedNumber.tsx +137 -0
  100. package/packages/ui/src/components/data-display/AnimatedNumber/AnimatedNumber.types.ts +18 -0
  101. package/packages/ui/src/components/data-display/AnimatedNumber/index.ts +3 -0
  102. package/packages/ui/src/components/data-display/Avatar/Avatar.css +268 -0
  103. package/packages/ui/src/components/data-display/Avatar/Avatar.docs.ts +1 -0
  104. package/packages/ui/src/components/data-display/Avatar/Avatar.tsx +180 -0
  105. package/packages/ui/src/components/data-display/Avatar/Avatar.types.ts +68 -0
  106. package/packages/ui/src/components/data-display/Avatar/index.ts +3 -0
  107. package/packages/ui/src/components/data-display/Calendar/Calendar.css +306 -0
  108. package/packages/ui/src/components/data-display/Calendar/Calendar.docs.ts +93 -0
  109. package/packages/ui/src/components/data-display/Calendar/Calendar.tsx +589 -0
  110. package/packages/ui/src/components/data-display/Calendar/Calendar.types.ts +48 -0
  111. package/packages/ui/src/components/data-display/Calendar/index.ts +3 -0
  112. package/packages/ui/src/components/data-display/Card/Card.css +234 -0
  113. package/packages/ui/src/components/data-display/Card/Card.docs.ts +1 -0
  114. package/packages/ui/src/components/data-display/Card/Card.tsx +103 -0
  115. package/packages/ui/src/components/data-display/Card/Card.types.ts +3 -0
  116. package/packages/ui/src/components/data-display/Card/index.ts +3 -0
  117. package/packages/ui/src/components/data-display/Chip/Chip.css +295 -0
  118. package/packages/ui/src/components/data-display/Chip/Chip.docs.ts +118 -0
  119. package/packages/ui/src/components/data-display/Chip/Chip.tsx +326 -0
  120. package/packages/ui/src/components/data-display/Chip/Chip.types.ts +72 -0
  121. package/packages/ui/src/components/data-display/Chip/index.ts +3 -0
  122. package/packages/ui/src/components/data-display/DataGrid/DataGrid.css +172 -0
  123. package/packages/ui/src/components/data-display/DataGrid/DataGrid.docs.ts +152 -0
  124. package/packages/ui/src/components/data-display/DataGrid/DataGrid.tsx +630 -0
  125. package/packages/ui/src/components/data-display/DataGrid/DataGrid.types.ts +109 -0
  126. package/packages/ui/src/components/data-display/DataGrid/index.ts +12 -0
  127. package/packages/ui/src/components/data-display/EmptyState/EmptyState.css +239 -0
  128. package/packages/ui/src/components/data-display/EmptyState/EmptyState.docs.ts +125 -0
  129. package/packages/ui/src/components/data-display/EmptyState/EmptyState.tsx +134 -0
  130. package/packages/ui/src/components/data-display/EmptyState/EmptyState.types.ts +73 -0
  131. package/packages/ui/src/components/data-display/EmptyState/index.ts +14 -0
  132. package/packages/ui/src/components/data-display/List/List.css +253 -0
  133. package/packages/ui/src/components/data-display/List/List.docs.ts +92 -0
  134. package/packages/ui/src/components/data-display/List/List.tsx +246 -0
  135. package/packages/ui/src/components/data-display/List/List.types.ts +91 -0
  136. package/packages/ui/src/components/data-display/List/index.ts +16 -0
  137. package/packages/ui/src/components/data-display/Statistic/Statistic.css +189 -0
  138. package/packages/ui/src/components/data-display/Statistic/Statistic.docs.ts +100 -0
  139. package/packages/ui/src/components/data-display/Statistic/Statistic.tsx +139 -0
  140. package/packages/ui/src/components/data-display/Statistic/Statistic.types.ts +53 -0
  141. package/packages/ui/src/components/data-display/Statistic/index.ts +10 -0
  142. package/packages/ui/src/components/data-display/Table/Table.css +299 -0
  143. package/packages/ui/src/components/data-display/Table/Table.docs.ts +108 -0
  144. package/packages/ui/src/components/data-display/Table/Table.tsx +260 -0
  145. package/packages/ui/src/components/data-display/Table/Table.types.ts +66 -0
  146. package/packages/ui/src/components/data-display/Table/index.ts +26 -0
  147. package/packages/ui/src/components/data-display/Timeline/Timeline.css +483 -0
  148. package/packages/ui/src/components/data-display/Timeline/Timeline.docs.ts +94 -0
  149. package/packages/ui/src/components/data-display/Timeline/Timeline.tsx +194 -0
  150. package/packages/ui/src/components/data-display/Timeline/Timeline.types.ts +64 -0
  151. package/packages/ui/src/components/data-display/Timeline/index.ts +20 -0
  152. package/packages/ui/src/components/data-display/TreeView/TreeView.css +162 -0
  153. package/packages/ui/src/components/data-display/TreeView/TreeView.docs.ts +129 -0
  154. package/packages/ui/src/components/data-display/TreeView/TreeView.tsx +422 -0
  155. package/packages/ui/src/components/data-display/TreeView/TreeView.types.ts +73 -0
  156. package/packages/ui/src/components/data-display/TreeView/index.ts +16 -0
  157. package/packages/ui/src/components/data-display/data-display.css +13 -0
  158. package/packages/ui/src/components/data-display/index.ts +13 -0
  159. package/packages/ui/src/components/feedback/Alert/Alert.css +114 -0
  160. package/packages/ui/src/components/feedback/Alert/Alert.docs.ts +17 -0
  161. package/packages/ui/src/components/feedback/Alert/Alert.tsx +111 -0
  162. package/packages/ui/src/components/feedback/Alert/Alert.types.ts +8 -0
  163. package/packages/ui/src/components/feedback/Alert/index.ts +3 -0
  164. package/packages/ui/src/components/feedback/ConfirmDialog/ConfirmDialog.css +1 -0
  165. package/packages/ui/src/components/feedback/ConfirmDialog/ConfirmDialog.docs.ts +18 -0
  166. package/packages/ui/src/components/feedback/ConfirmDialog/ConfirmDialog.tsx +27 -0
  167. package/packages/ui/src/components/feedback/ConfirmDialog/ConfirmDialog.types.ts +4 -0
  168. package/packages/ui/src/components/feedback/ConfirmDialog/index.ts +3 -0
  169. package/packages/ui/src/components/feedback/Dialog/Dialog.css +77 -0
  170. package/packages/ui/src/components/feedback/Dialog/Dialog.docs.ts +18 -0
  171. package/packages/ui/src/components/feedback/Dialog/Dialog.tsx +151 -0
  172. package/packages/ui/src/components/feedback/Dialog/Dialog.types.ts +6 -0
  173. package/packages/ui/src/components/feedback/Dialog/index.ts +3 -0
  174. package/packages/ui/src/components/feedback/LoadingOverlay/LoadingOverlay.css +1 -0
  175. package/packages/ui/src/components/feedback/LoadingOverlay/LoadingOverlay.docs.ts +13 -0
  176. package/packages/ui/src/components/feedback/LoadingOverlay/LoadingOverlay.tsx +15 -0
  177. package/packages/ui/src/components/feedback/LoadingOverlay/LoadingOverlay.types.ts +2 -0
  178. package/packages/ui/src/components/feedback/LoadingOverlay/index.ts +3 -0
  179. package/packages/ui/src/components/feedback/Modal/Modal.css +77 -0
  180. package/packages/ui/src/components/feedback/Modal/Modal.docs.ts +18 -0
  181. package/packages/ui/src/components/feedback/Modal/Modal.tsx +95 -0
  182. package/packages/ui/src/components/feedback/Modal/Modal.types.ts +4 -0
  183. package/packages/ui/src/components/feedback/Modal/index.ts +3 -0
  184. package/packages/ui/src/components/feedback/Notification/Notification.css +56 -0
  185. package/packages/ui/src/components/feedback/Notification/Notification.docs.ts +15 -0
  186. package/packages/ui/src/components/feedback/Notification/Notification.tsx +116 -0
  187. package/packages/ui/src/components/feedback/Notification/Notification.types.ts +4 -0
  188. package/packages/ui/src/components/feedback/Notification/index.ts +3 -0
  189. package/packages/ui/src/components/feedback/Popover/Popover.css +1 -0
  190. package/packages/ui/src/components/feedback/Popover/Popover.docs.ts +17 -0
  191. package/packages/ui/src/components/feedback/Popover/Popover.tsx +15 -0
  192. package/packages/ui/src/components/feedback/Popover/Popover.types.ts +6 -0
  193. package/packages/ui/src/components/feedback/Popover/index.ts +3 -0
  194. package/packages/ui/src/components/feedback/Toast/Toast.css +108 -0
  195. package/packages/ui/src/components/feedback/Toast/Toast.docs.ts +17 -0
  196. package/packages/ui/src/components/feedback/Toast/Toast.tsx +121 -0
  197. package/packages/ui/src/components/feedback/Toast/Toast.types.ts +7 -0
  198. package/packages/ui/src/components/feedback/Toast/index.ts +3 -0
  199. package/packages/ui/src/components/feedback/Tooltip/Tooltip.css +1 -0
  200. package/packages/ui/src/components/feedback/Tooltip/Tooltip.docs.ts +15 -0
  201. package/packages/ui/src/components/feedback/Tooltip/Tooltip.tsx +7 -0
  202. package/packages/ui/src/components/feedback/Tooltip/Tooltip.types.ts +39 -0
  203. package/packages/ui/src/components/feedback/Tooltip/index.ts +3 -0
  204. package/packages/ui/src/components/feedback/feedback.css +9 -0
  205. package/packages/ui/src/components/feedback/index.ts +9 -0
  206. package/packages/ui/src/components/forms/Autocomplete/Autocomplete.css +152 -0
  207. package/packages/ui/src/components/forms/Autocomplete/Autocomplete.docs.ts +1 -0
  208. package/packages/ui/src/components/forms/Autocomplete/Autocomplete.tsx +111 -0
  209. package/packages/ui/src/components/forms/Autocomplete/Autocomplete.types.ts +18 -0
  210. package/packages/ui/src/components/forms/Autocomplete/index.ts +3 -0
  211. package/packages/ui/src/components/forms/Checkbox/Checkbox.css +149 -0
  212. package/packages/ui/src/components/forms/Checkbox/Checkbox.docs.ts +1 -0
  213. package/packages/ui/src/components/forms/Checkbox/Checkbox.tsx +72 -0
  214. package/packages/ui/src/components/forms/Checkbox/Checkbox.types.ts +26 -0
  215. package/packages/ui/src/components/forms/Checkbox/index.ts +3 -0
  216. package/packages/ui/src/components/forms/DatePicker/DatePicker.css +144 -0
  217. package/packages/ui/src/components/forms/DatePicker/DatePicker.docs.ts +1 -0
  218. package/packages/ui/src/components/forms/DatePicker/DatePicker.tsx +113 -0
  219. package/packages/ui/src/components/forms/DatePicker/DatePicker.types.ts +21 -0
  220. package/packages/ui/src/components/forms/DatePicker/index.ts +3 -0
  221. package/packages/ui/src/components/forms/DateRangePicker/DateRangePicker.css +153 -0
  222. package/packages/ui/src/components/forms/DateRangePicker/DateRangePicker.docs.ts +66 -0
  223. package/packages/ui/src/components/forms/DateRangePicker/DateRangePicker.tsx +163 -0
  224. package/packages/ui/src/components/forms/DateRangePicker/DateRangePicker.types.ts +26 -0
  225. package/packages/ui/src/components/forms/DateRangePicker/index.ts +3 -0
  226. package/packages/ui/src/components/forms/ErrorMessage/ErrorMessage.css +30 -0
  227. package/packages/ui/src/components/forms/ErrorMessage/ErrorMessage.docs.ts +37 -0
  228. package/packages/ui/src/components/forms/ErrorMessage/ErrorMessage.tsx +26 -0
  229. package/packages/ui/src/components/forms/ErrorMessage/ErrorMessage.types.ts +10 -0
  230. package/packages/ui/src/components/forms/ErrorMessage/index.ts +3 -0
  231. package/packages/ui/src/components/forms/FileUpload/FileUpload.css +130 -0
  232. package/packages/ui/src/components/forms/FileUpload/FileUpload.docs.ts +84 -0
  233. package/packages/ui/src/components/forms/FileUpload/FileUpload.tsx +104 -0
  234. package/packages/ui/src/components/forms/FileUpload/FileUpload.types.ts +17 -0
  235. package/packages/ui/src/components/forms/FileUpload/index.ts +3 -0
  236. package/packages/ui/src/components/forms/FormField/FormField.css +39 -0
  237. package/packages/ui/src/components/forms/FormField/FormField.docs.ts +66 -0
  238. package/packages/ui/src/components/forms/FormField/FormField.tsx +88 -0
  239. package/packages/ui/src/components/forms/FormField/FormField.types.ts +16 -0
  240. package/packages/ui/src/components/forms/FormField/index.ts +3 -0
  241. package/packages/ui/src/components/forms/FormGroup/FormGroup.css +36 -0
  242. package/packages/ui/src/components/forms/FormGroup/FormGroup.docs.ts +49 -0
  243. package/packages/ui/src/components/forms/FormGroup/FormGroup.tsx +47 -0
  244. package/packages/ui/src/components/forms/FormGroup/FormGroup.types.ts +17 -0
  245. package/packages/ui/src/components/forms/FormGroup/index.ts +3 -0
  246. package/packages/ui/src/components/forms/HelperText/HelperText.css +30 -0
  247. package/packages/ui/src/components/forms/HelperText/HelperText.docs.ts +47 -0
  248. package/packages/ui/src/components/forms/HelperText/HelperText.tsx +35 -0
  249. package/packages/ui/src/components/forms/HelperText/HelperText.types.ts +22 -0
  250. package/packages/ui/src/components/forms/HelperText/index.ts +3 -0
  251. package/packages/ui/src/components/forms/Input/Input.css +223 -0
  252. package/packages/ui/src/components/forms/Input/Input.docs.ts +251 -0
  253. package/packages/ui/src/components/forms/Input/Input.tsx +239 -0
  254. package/packages/ui/src/components/forms/Input/Input.types.ts +35 -0
  255. package/packages/ui/src/components/forms/Input/index.ts +12 -0
  256. package/packages/ui/src/components/forms/Label/Label.css +37 -0
  257. package/packages/ui/src/components/forms/Label/Label.docs.ts +63 -0
  258. package/packages/ui/src/components/forms/Label/Label.tsx +48 -0
  259. package/packages/ui/src/components/forms/Label/Label.types.ts +23 -0
  260. package/packages/ui/src/components/forms/Label/index.ts +9 -0
  261. package/packages/ui/src/components/forms/NumberInput/NumberInput.css +167 -0
  262. package/packages/ui/src/components/forms/NumberInput/NumberInput.docs.ts +84 -0
  263. package/packages/ui/src/components/forms/NumberInput/NumberInput.tsx +145 -0
  264. package/packages/ui/src/components/forms/NumberInput/NumberInput.types.ts +26 -0
  265. package/packages/ui/src/components/forms/NumberInput/index.ts +3 -0
  266. package/packages/ui/src/components/forms/OtpInput/OtpInput.css +131 -0
  267. package/packages/ui/src/components/forms/OtpInput/OtpInput.docs.ts +83 -0
  268. package/packages/ui/src/components/forms/OtpInput/OtpInput.tsx +179 -0
  269. package/packages/ui/src/components/forms/OtpInput/OtpInput.types.ts +31 -0
  270. package/packages/ui/src/components/forms/OtpInput/index.ts +3 -0
  271. package/packages/ui/src/components/forms/PasswordInput/PasswordInput.css +154 -0
  272. package/packages/ui/src/components/forms/PasswordInput/PasswordInput.docs.ts +82 -0
  273. package/packages/ui/src/components/forms/PasswordInput/PasswordInput.tsx +129 -0
  274. package/packages/ui/src/components/forms/PasswordInput/PasswordInput.types.ts +25 -0
  275. package/packages/ui/src/components/forms/PasswordInput/index.ts +3 -0
  276. package/packages/ui/src/components/forms/Radio/Radio.css +145 -0
  277. package/packages/ui/src/components/forms/Radio/Radio.docs.ts +55 -0
  278. package/packages/ui/src/components/forms/Radio/Radio.tsx +92 -0
  279. package/packages/ui/src/components/forms/Radio/Radio.types.ts +26 -0
  280. package/packages/ui/src/components/forms/Radio/index.ts +3 -0
  281. package/packages/ui/src/components/forms/Select/Select.css +193 -0
  282. package/packages/ui/src/components/forms/Select/Select.docs.ts +80 -0
  283. package/packages/ui/src/components/forms/Select/Select.tsx +123 -0
  284. package/packages/ui/src/components/forms/Select/Select.types.ts +34 -0
  285. package/packages/ui/src/components/forms/Select/index.ts +3 -0
  286. package/packages/ui/src/components/forms/Switch/Switch.css +336 -0
  287. package/packages/ui/src/components/forms/Switch/Switch.docs.ts +75 -0
  288. package/packages/ui/src/components/forms/Switch/Switch.tsx +106 -0
  289. package/packages/ui/src/components/forms/Switch/Switch.types.ts +26 -0
  290. package/packages/ui/src/components/forms/Switch/index.ts +3 -0
  291. package/packages/ui/src/components/forms/Textarea/Textarea.css +219 -0
  292. package/packages/ui/src/components/forms/Textarea/Textarea.docs.ts +78 -0
  293. package/packages/ui/src/components/forms/Textarea/Textarea.tsx +152 -0
  294. package/packages/ui/src/components/forms/Textarea/Textarea.types.ts +25 -0
  295. package/packages/ui/src/components/forms/Textarea/index.ts +3 -0
  296. package/packages/ui/src/components/forms/forms.css +18 -0
  297. package/packages/ui/src/components/forms/index.ts +18 -0
  298. package/packages/ui/src/components/foundation/Badge/Badge.css +32 -0
  299. package/packages/ui/src/components/foundation/Badge/Badge.docs.ts +13 -0
  300. package/packages/ui/src/components/foundation/Badge/Badge.tsx +40 -0
  301. package/packages/ui/src/components/foundation/Badge/Badge.types.ts +20 -0
  302. package/packages/ui/src/components/foundation/Badge/index.ts +9 -0
  303. package/packages/ui/src/components/foundation/Button/Button.css +590 -0
  304. package/packages/ui/src/components/foundation/Button/Button.docs.ts +188 -0
  305. package/packages/ui/src/components/foundation/Button/Button.tsx +134 -0
  306. package/packages/ui/src/components/foundation/Button/config.ts +35 -0
  307. package/packages/ui/src/components/foundation/Button/index.ts +9 -0
  308. package/packages/ui/src/components/foundation/Button/utils.ts +37 -0
  309. package/packages/ui/src/components/foundation/Divider/Divider.css +77 -0
  310. package/packages/ui/src/components/foundation/Divider/Divider.docs.ts +14 -0
  311. package/packages/ui/src/components/foundation/Divider/Divider.tsx +36 -0
  312. package/packages/ui/src/components/foundation/Divider/Divider.types.ts +15 -0
  313. package/packages/ui/src/components/foundation/Divider/index.ts +10 -0
  314. package/packages/ui/src/components/foundation/IconButton/IconButton.css +144 -0
  315. package/packages/ui/src/components/foundation/IconButton/IconButton.docs.ts +149 -0
  316. package/packages/ui/src/components/foundation/IconButton/IconButton.tsx +61 -0
  317. package/packages/ui/src/components/foundation/IconButton/config.ts +7 -0
  318. package/packages/ui/src/components/foundation/IconButton/index.ts +6 -0
  319. package/packages/ui/src/components/foundation/Link/Link.css +37 -0
  320. package/packages/ui/src/components/foundation/Link/Link.docs.ts +15 -0
  321. package/packages/ui/src/components/foundation/Link/Link.tsx +55 -0
  322. package/packages/ui/src/components/foundation/Link/Link.types.ts +15 -0
  323. package/packages/ui/src/components/foundation/Link/index.ts +3 -0
  324. package/packages/ui/src/components/foundation/Logo/Logo.css +76 -0
  325. package/packages/ui/src/components/foundation/Logo/Logo.docs.ts +14 -0
  326. package/packages/ui/src/components/foundation/Logo/Logo.tsx +70 -0
  327. package/packages/ui/src/components/foundation/Logo/Logo.types.ts +16 -0
  328. package/packages/ui/src/components/foundation/Logo/index.ts +3 -0
  329. package/packages/ui/src/components/foundation/Progress/Progress.css +45 -0
  330. package/packages/ui/src/components/foundation/Progress/Progress.docs.ts +14 -0
  331. package/packages/ui/src/components/foundation/Progress/Progress.tsx +55 -0
  332. package/packages/ui/src/components/foundation/Progress/Progress.types.ts +12 -0
  333. package/packages/ui/src/components/foundation/Progress/index.ts +3 -0
  334. package/packages/ui/src/components/foundation/Skeleton/Skeleton.css +62 -0
  335. package/packages/ui/src/components/foundation/Skeleton/Skeleton.docs.ts +18 -0
  336. package/packages/ui/src/components/foundation/Skeleton/Skeleton.tsx +59 -0
  337. package/packages/ui/src/components/foundation/Skeleton/Skeleton.types.ts +18 -0
  338. package/packages/ui/src/components/foundation/Skeleton/index.ts +8 -0
  339. package/packages/ui/src/components/foundation/Spinner/Spinner.css +91 -0
  340. package/packages/ui/src/components/foundation/Spinner/Spinner.docs.ts +13 -0
  341. package/packages/ui/src/components/foundation/Spinner/Spinner.tsx +34 -0
  342. package/packages/ui/src/components/foundation/Spinner/Spinner.types.ts +12 -0
  343. package/packages/ui/src/components/foundation/Spinner/index.ts +3 -0
  344. package/packages/ui/src/components/foundation/Typography/Typography.css +203 -0
  345. package/packages/ui/src/components/foundation/Typography/Typography.docs.ts +125 -0
  346. package/packages/ui/src/components/foundation/Typography/Typography.tsx +42 -0
  347. package/packages/ui/src/components/foundation/Typography/Typography.types.ts +81 -0
  348. package/packages/ui/src/components/foundation/Typography/index.ts +18 -0
  349. package/packages/ui/src/components/foundation/foundation.css +10 -0
  350. package/packages/ui/src/components/foundation/index.ts +10 -0
  351. package/packages/ui/src/components/layout/AspectRatio/AspectRatio.css +17 -0
  352. package/packages/ui/src/components/layout/AspectRatio/AspectRatio.tsx +32 -0
  353. package/packages/ui/src/components/layout/AspectRatio/AspectRatio.types.ts +20 -0
  354. package/packages/ui/src/components/layout/AspectRatio/config.ts +25 -0
  355. package/packages/ui/src/components/layout/AspectRatio/index.ts +2 -0
  356. package/packages/ui/src/components/layout/AspectRatio/utils.ts +12 -0
  357. package/packages/ui/src/components/layout/Box/Box.css +19 -0
  358. package/packages/ui/src/components/layout/Box/Box.tsx +17 -0
  359. package/packages/ui/src/components/layout/Box/Box.types.ts +14 -0
  360. package/packages/ui/src/components/layout/Box/config.ts +18 -0
  361. package/packages/ui/src/components/layout/Box/index.ts +2 -0
  362. package/packages/ui/src/components/layout/Box/utils.ts +14 -0
  363. package/packages/ui/src/components/layout/Container/Container.css +11 -0
  364. package/packages/ui/src/components/layout/Container/Container.tsx +15 -0
  365. package/packages/ui/src/components/layout/Container/Container.types.ts +12 -0
  366. package/packages/ui/src/components/layout/Container/config.ts +6 -0
  367. package/packages/ui/src/components/layout/Container/index.ts +2 -0
  368. package/packages/ui/src/components/layout/Container/utils.ts +12 -0
  369. package/packages/ui/src/components/layout/Flex/Flex.css +24 -0
  370. package/packages/ui/src/components/layout/Flex/Flex.tsx +12 -0
  371. package/packages/ui/src/components/layout/Flex/Flex.types.ts +17 -0
  372. package/packages/ui/src/components/layout/Flex/config.ts +8 -0
  373. package/packages/ui/src/components/layout/Flex/index.ts +2 -0
  374. package/packages/ui/src/components/layout/Flex/utils.ts +6 -0
  375. package/packages/ui/src/components/layout/Grid/Grid.css +74 -0
  376. package/packages/ui/src/components/layout/Grid/Grid.tsx +12 -0
  377. package/packages/ui/src/components/layout/Grid/Grid.types.ts +23 -0
  378. package/packages/ui/src/components/layout/Grid/config.ts +13 -0
  379. package/packages/ui/src/components/layout/Grid/index.ts +2 -0
  380. package/packages/ui/src/components/layout/Grid/utils.ts +6 -0
  381. package/packages/ui/src/components/layout/Spacer/Spacer.css +1 -0
  382. package/packages/ui/src/components/layout/Spacer/Spacer.tsx +12 -0
  383. package/packages/ui/src/components/layout/Spacer/Spacer.types.ts +3 -0
  384. package/packages/ui/src/components/layout/Spacer/config.ts +3 -0
  385. package/packages/ui/src/components/layout/Spacer/index.ts +2 -0
  386. package/packages/ui/src/components/layout/Spacer/utils.ts +3 -0
  387. package/packages/ui/src/components/layout/Stack/Stack.css +20 -0
  388. package/packages/ui/src/components/layout/Stack/Stack.tsx +36 -0
  389. package/packages/ui/src/components/layout/Stack/Stack.types.ts +7 -0
  390. package/packages/ui/src/components/layout/Stack/config.ts +7 -0
  391. package/packages/ui/src/components/layout/Stack/index.ts +2 -0
  392. package/packages/ui/src/components/layout/Stack/utils.ts +3 -0
  393. package/packages/ui/src/components/layout/index.ts +7 -0
  394. package/packages/ui/src/components/layout/layout.css +7 -0
  395. package/packages/ui/src/components/media/Carousel/Carousel.css +1 -0
  396. package/packages/ui/src/components/media/Carousel/Carousel.tsx +17 -0
  397. package/packages/ui/src/components/media/Carousel/Carousel.types.ts +8 -0
  398. package/packages/ui/src/components/media/Carousel/config.ts +5 -0
  399. package/packages/ui/src/components/media/Carousel/index.ts +2 -0
  400. package/packages/ui/src/components/media/Carousel/utils.ts +10 -0
  401. package/packages/ui/src/components/media/Image/Image.css +1 -0
  402. package/packages/ui/src/components/media/Image/Image.tsx +10 -0
  403. package/packages/ui/src/components/media/Image/Image.types.ts +7 -0
  404. package/packages/ui/src/components/media/Image/config.ts +6 -0
  405. package/packages/ui/src/components/media/Image/index.ts +2 -0
  406. package/packages/ui/src/components/media/Image/utils.ts +11 -0
  407. package/packages/ui/src/components/media/ImageCropper/ImageCropper.css +99 -0
  408. package/packages/ui/src/components/media/ImageCropper/ImageCropper.tsx +58 -0
  409. package/packages/ui/src/components/media/ImageCropper/ImageCropper.types.ts +6 -0
  410. package/packages/ui/src/components/media/ImageCropper/ImageCropperModal.tsx +101 -0
  411. package/packages/ui/src/components/media/ImageCropper/config.ts +10 -0
  412. package/packages/ui/src/components/media/ImageCropper/hooks.ts +15 -0
  413. package/packages/ui/src/components/media/ImageCropper/index.ts +18 -0
  414. package/packages/ui/src/components/media/ImageCropper/utils.ts +8 -0
  415. package/packages/ui/src/components/media/Video/Video.css +1 -0
  416. package/packages/ui/src/components/media/Video/Video.tsx +10 -0
  417. package/packages/ui/src/components/media/Video/Video.types.ts +6 -0
  418. package/packages/ui/src/components/media/Video/config.ts +5 -0
  419. package/packages/ui/src/components/media/Video/index.ts +2 -0
  420. package/packages/ui/src/components/media/Video/utils.ts +11 -0
  421. package/packages/ui/src/components/media/index.ts +4 -0
  422. package/packages/ui/src/components/media/media.css +71 -0
  423. package/packages/ui/src/components/navigation/breadcrumb/Breadcrumb.css +184 -0
  424. package/packages/ui/src/components/navigation/breadcrumb/Breadcrumb.tsx +247 -0
  425. package/packages/ui/src/components/navigation/breadcrumb/BreadcrumbItem.tsx +77 -0
  426. package/packages/ui/src/components/navigation/breadcrumb/config.ts +59 -0
  427. package/packages/ui/src/components/navigation/breadcrumb/index.ts +6 -0
  428. package/packages/ui/src/components/navigation/breadcrumb/utils.ts +91 -0
  429. package/packages/ui/src/components/navigation/dropdown/Dropdown.css +262 -0
  430. package/packages/ui/src/components/navigation/dropdown/Dropdown.tsx +8 -0
  431. package/packages/ui/src/components/navigation/dropdown/DropdownContent.tsx +2 -0
  432. package/packages/ui/src/components/navigation/dropdown/DropdownItem.tsx +2 -0
  433. package/packages/ui/src/components/navigation/dropdown/DropdownTrigger.tsx +74 -0
  434. package/packages/ui/src/components/navigation/dropdown/config.ts +8 -0
  435. package/packages/ui/src/components/navigation/dropdown/index.ts +2 -0
  436. package/packages/ui/src/components/navigation/dropdown/utils.ts +2 -0
  437. package/packages/ui/src/components/navigation/index.ts +1 -0
  438. package/packages/ui/src/components/navigation/menu/Menu.css +17 -0
  439. package/packages/ui/src/components/navigation/menu/Menu.tsx +2 -0
  440. package/packages/ui/src/components/navigation/menu/MenuItem.tsx +2 -0
  441. package/packages/ui/src/components/navigation/menu/config.ts +6 -0
  442. package/packages/ui/src/components/navigation/menu/index.ts +1 -0
  443. package/packages/ui/src/components/navigation/menu/utils.ts +1 -0
  444. package/packages/ui/src/components/navigation/navbar/Navbar.css +17 -0
  445. package/packages/ui/src/components/navigation/navbar/Navbar.tsx +2 -0
  446. package/packages/ui/src/components/navigation/navbar/NavbarItem.tsx +2 -0
  447. package/packages/ui/src/components/navigation/navbar/config.ts +6 -0
  448. package/packages/ui/src/components/navigation/navbar/index.ts +1 -0
  449. package/packages/ui/src/components/navigation/navbar/utils.ts +1 -0
  450. package/packages/ui/src/components/navigation/navigation-theme.css +36 -0
  451. package/packages/ui/src/components/navigation/navigation.css +9 -0
  452. package/packages/ui/src/components/navigation/pagination/Pagination.css +3 -0
  453. package/packages/ui/src/components/navigation/pagination/Pagination.tsx +2 -0
  454. package/packages/ui/src/components/navigation/pagination/PaginationItem.tsx +1 -0
  455. package/packages/ui/src/components/navigation/pagination/config.ts +1 -0
  456. package/packages/ui/src/components/navigation/pagination/index.ts +1 -0
  457. package/packages/ui/src/components/navigation/pagination/utils.ts +1 -0
  458. package/packages/ui/src/components/navigation/sidebar/Sidebar.css +17 -0
  459. package/packages/ui/src/components/navigation/sidebar/Sidebar.tsx +2 -0
  460. package/packages/ui/src/components/navigation/sidebar/SidebarItem.tsx +2 -0
  461. package/packages/ui/src/components/navigation/sidebar/config.ts +6 -0
  462. package/packages/ui/src/components/navigation/sidebar/index.ts +1 -0
  463. package/packages/ui/src/components/navigation/sidebar/utils.ts +1 -0
  464. package/packages/ui/src/components/navigation/stepper/Step.tsx +108 -0
  465. package/packages/ui/src/components/navigation/stepper/Stepper.css +289 -0
  466. package/packages/ui/src/components/navigation/stepper/Stepper.tsx +177 -0
  467. package/packages/ui/src/components/navigation/stepper/config.ts +1 -0
  468. package/packages/ui/src/components/navigation/stepper/index.ts +1 -0
  469. package/packages/ui/src/components/navigation/stepper/utils.ts +1 -0
  470. package/packages/ui/src/components/navigation/tabs/Tab.tsx +1 -0
  471. package/packages/ui/src/components/navigation/tabs/TabPanel.tsx +1 -0
  472. package/packages/ui/src/components/navigation/tabs/Tabs.css +246 -0
  473. package/packages/ui/src/components/navigation/tabs/Tabs.tsx +215 -0
  474. package/packages/ui/src/components/navigation/tabs/config.ts +1 -0
  475. package/packages/ui/src/components/navigation/tabs/index.ts +1 -0
  476. package/packages/ui/src/components/navigation/tabs/utils.ts +1 -0
  477. package/packages/ui/src/components/overlays/CommandPalette/CommandPalette.css +253 -0
  478. package/packages/ui/src/components/overlays/CommandPalette/CommandPalette.tsx +115 -0
  479. package/packages/ui/src/components/overlays/CommandPalette/CommandPalette.types.ts +22 -0
  480. package/packages/ui/src/components/overlays/CommandPalette/config.ts +12 -0
  481. package/packages/ui/src/components/overlays/CommandPalette/index.ts +9 -0
  482. package/packages/ui/src/components/overlays/CommandPalette/utils.ts +79 -0
  483. package/packages/ui/src/components/overlays/ContextMenu/ContextMenu.css +83 -0
  484. package/packages/ui/src/components/overlays/ContextMenu/ContextMenu.tsx +94 -0
  485. package/packages/ui/src/components/overlays/ContextMenu/ContextMenu.types.ts +20 -0
  486. package/packages/ui/src/components/overlays/ContextMenu/config.ts +10 -0
  487. package/packages/ui/src/components/overlays/ContextMenu/index.ts +9 -0
  488. package/packages/ui/src/components/overlays/ContextMenu/utils.ts +78 -0
  489. package/packages/ui/src/components/overlays/Drawer/Drawer.css +219 -0
  490. package/packages/ui/src/components/overlays/Drawer/Drawer.tsx +175 -0
  491. package/packages/ui/src/components/overlays/Drawer/Drawer.types.ts +23 -0
  492. package/packages/ui/src/components/overlays/Drawer/config.ts +13 -0
  493. package/packages/ui/src/components/overlays/Drawer/index.ts +10 -0
  494. package/packages/ui/src/components/overlays/Drawer/utils.ts +100 -0
  495. package/packages/ui/src/components/overlays/Sheet/Sheet.css +136 -0
  496. package/packages/ui/src/components/overlays/Sheet/Sheet.tsx +118 -0
  497. package/packages/ui/src/components/overlays/Sheet/Sheet.types.ts +23 -0
  498. package/packages/ui/src/components/overlays/Sheet/config.ts +13 -0
  499. package/packages/ui/src/components/overlays/Sheet/index.ts +10 -0
  500. package/packages/ui/src/components/overlays/Sheet/utils.ts +92 -0
  501. package/packages/ui/src/components/overlays/index.ts +4 -0
  502. package/packages/ui/src/components/overlays/overlays.css +4 -0
  503. package/packages/ui/src/components/utilities/ClickAwayListener/ClickAwayListener.css +14 -0
  504. package/packages/ui/src/components/utilities/ClickAwayListener/ClickAwayListener.docs.ts +49 -0
  505. package/packages/ui/src/components/utilities/ClickAwayListener/ClickAwayListener.tsx +117 -0
  506. package/packages/ui/src/components/utilities/ClickAwayListener/ClickAwayListener.types.ts +31 -0
  507. package/packages/ui/src/components/utilities/ClickAwayListener/index.ts +3 -0
  508. package/packages/ui/src/components/utilities/CopyButton/CopyButton.css +209 -0
  509. package/packages/ui/src/components/utilities/CopyButton/CopyButton.docs.ts +93 -0
  510. package/packages/ui/src/components/utilities/CopyButton/CopyButton.tsx +130 -0
  511. package/packages/ui/src/components/utilities/CopyButton/CopyButton.types.ts +43 -0
  512. package/packages/ui/src/components/utilities/CopyButton/index.ts +9 -0
  513. package/packages/ui/src/components/utilities/FocusTrap/FocusTrap.css +14 -0
  514. package/packages/ui/src/components/utilities/FocusTrap/FocusTrap.docs.ts +58 -0
  515. package/packages/ui/src/components/utilities/FocusTrap/FocusTrap.tsx +151 -0
  516. package/packages/ui/src/components/utilities/FocusTrap/FocusTrap.types.ts +18 -0
  517. package/packages/ui/src/components/utilities/FocusTrap/index.ts +3 -0
  518. package/packages/ui/src/components/utilities/Portal/Portal.css +9 -0
  519. package/packages/ui/src/components/utilities/Portal/Portal.docs.ts +37 -0
  520. package/packages/ui/src/components/utilities/Portal/Portal.tsx +45 -0
  521. package/packages/ui/src/components/utilities/Portal/Portal.types.ts +20 -0
  522. package/packages/ui/src/components/utilities/Portal/index.ts +3 -0
  523. package/packages/ui/src/components/utilities/ScrollArea/ScrollArea.css +109 -0
  524. package/packages/ui/src/components/utilities/ScrollArea/ScrollArea.docs.ts +70 -0
  525. package/packages/ui/src/components/utilities/ScrollArea/ScrollArea.tsx +64 -0
  526. package/packages/ui/src/components/utilities/ScrollArea/ScrollArea.types.ts +39 -0
  527. package/packages/ui/src/components/utilities/ScrollArea/index.ts +3 -0
  528. package/packages/ui/src/components/utilities/VisuallyHidden/VisuallyHidden.css +30 -0
  529. package/packages/ui/src/components/utilities/VisuallyHidden/VisuallyHidden.docs.ts +37 -0
  530. package/packages/ui/src/components/utilities/VisuallyHidden/VisuallyHidden.tsx +52 -0
  531. package/packages/ui/src/components/utilities/VisuallyHidden/VisuallyHidden.types.ts +24 -0
  532. package/packages/ui/src/components/utilities/VisuallyHidden/index.ts +3 -0
  533. package/packages/ui/src/components/utilities/index.ts +7 -0
  534. package/packages/ui/src/components/utilities/utilities.css +6 -0
  535. package/packages/ui/src/icons/IconBase.css +17 -0
  536. package/packages/ui/src/icons/IconBase.tsx +58 -0
  537. package/packages/ui/src/icons/config.ts +13 -0
  538. package/packages/ui/src/icons/icons/CloseIcon.tsx +24 -0
  539. package/packages/ui/src/icons/icons/icons.css +16 -0
  540. package/packages/ui/src/icons/index.ts +14 -0
  541. package/packages/ui/src/icons/types.ts +29 -0
  542. package/packages/ui/src/icons/utils.ts +54 -0
  543. package/packages/ui/src/index.ts +10 -0
  544. package/packages/ui/src/styles/base.css +98 -0
  545. package/packages/ui/src/styles/colors.css +235 -0
  546. package/packages/ui/src/styles/dimensions.css +124 -0
  547. package/packages/ui/src/styles/fonts.css +43 -0
  548. package/packages/ui/src/styles/index.css +61 -0
  549. package/packages/ui/src/styles/reset.css +285 -0
  550. package/packages/ui/src/styles/themes.css +167 -0
  551. package/packages/ui/src/styles/typography.css +127 -0
  552. package/packages/ui/src/utils/index.ts +14 -0
  553. package/packages/ui/tsconfig.json +17 -0
  554. package/playground/README.md +67 -0
  555. package/playground/index.html +12 -0
  556. package/playground/package.json +27 -0
  557. package/playground/src/App.tsx +102 -0
  558. package/playground/src/components/demo/DemoCodeBlock.tsx +19 -0
  559. package/playground/src/components/demo/DemoCopyButton.tsx +31 -0
  560. package/playground/src/components/demo/DemoDocumentation.tsx +140 -0
  561. package/playground/src/components/demo/DemoHeader.tsx +30 -0
  562. package/playground/src/components/demo/DemoSection.tsx +27 -0
  563. package/playground/src/components/demo/demo.css +697 -0
  564. package/playground/src/components/playground/PlaygroundBreadcrumb.tsx +76 -0
  565. package/playground/src/components/playground/PlaygroundLayout.tsx +46 -0
  566. package/playground/src/components/playground/PlaygroundSidebar.tsx +42 -0
  567. package/playground/src/components/playground/ThemeDemo.css +85 -0
  568. package/playground/src/components/playground/ThemeDemo.tsx +47 -0
  569. package/playground/src/demos/ai/AiDemo.tsx +138 -0
  570. package/playground/src/demos/ai/ai-demo.css +140 -0
  571. package/playground/src/demos/shell/Components/DrawerHeaderDemo.tsx +12 -0
  572. package/playground/src/demos/shell/Components/PageContainerDemo.tsx +11 -0
  573. package/playground/src/demos/shell/Components/PageHeaderDemo.tsx +13 -0
  574. package/playground/src/demos/shell/Components/ShellBrandDemo.tsx +13 -0
  575. package/playground/src/demos/shell/Components/ShellFooterDemo.tsx +12 -0
  576. package/playground/src/demos/shell/Components/ShellHeaderDemo.tsx +57 -0
  577. package/playground/src/demos/shell/Components/ShellMainDemo.tsx +11 -0
  578. package/playground/src/demos/shell/Components/ShellMobileNavDemo.tsx +12 -0
  579. package/playground/src/demos/shell/Components/ShellRootDemo.tsx +8 -0
  580. package/playground/src/demos/shell/Components/ShellSidebarDemo.tsx +14 -0
  581. package/playground/src/demos/shell/Components/SidebarFooterDemo.tsx +11 -0
  582. package/playground/src/demos/shell/Hooks/ShellHooksDemo.tsx +10 -0
  583. package/playground/src/demos/shell/Layouts/AppShellDemo.tsx +47 -0
  584. package/playground/src/demos/shell/Layouts/BlankShellDemo.tsx +11 -0
  585. package/playground/src/demos/shell/Layouts/CenteredShellDemo.tsx +12 -0
  586. package/playground/src/demos/shell/Layouts/DashboardShellDemo.tsx +59 -0
  587. package/playground/src/demos/shell/Layouts/WebsiteShellDemo.tsx +12 -0
  588. package/playground/src/demos/shell/Provider/ShellProviderDemo.tsx +50 -0
  589. package/playground/src/demos/shell/_demo-utils.tsx +24 -0
  590. package/playground/src/demos/shell/index.ts +18 -0
  591. package/playground/src/demos/shell/shell-demo.css +102 -0
  592. package/playground/src/demos/shell/shellDemoRegistry.ts +39 -0
  593. package/playground/src/demos/ui/charts/BarChartDemo.tsx +181 -0
  594. package/playground/src/demos/ui/charts/DonutChartDemo.tsx +247 -0
  595. package/playground/src/demos/ui/charts/PieChartDemo.tsx +120 -0
  596. package/playground/src/demos/ui/charts/charts-demo.css +65 -0
  597. package/playground/src/demos/ui/data-display/AccordionDemo.tsx +304 -0
  598. package/playground/src/demos/ui/data-display/AnimatedNumberDemo.tsx +161 -0
  599. package/playground/src/demos/ui/data-display/AvatarDemo.tsx +60 -0
  600. package/playground/src/demos/ui/data-display/CalendarDemo.tsx +307 -0
  601. package/playground/src/demos/ui/data-display/CardDemo.tsx +753 -0
  602. package/playground/src/demos/ui/data-display/ChipDemo.tsx +563 -0
  603. package/playground/src/demos/ui/data-display/DataGridDemo.tsx +391 -0
  604. package/playground/src/demos/ui/data-display/EmptyStateDemo.tsx +413 -0
  605. package/playground/src/demos/ui/data-display/ListDemo.tsx +458 -0
  606. package/playground/src/demos/ui/data-display/StatisticDemo.tsx +336 -0
  607. package/playground/src/demos/ui/data-display/TableDemo.tsx +1293 -0
  608. package/playground/src/demos/ui/data-display/TimelineDemo.tsx +562 -0
  609. package/playground/src/demos/ui/data-display/TreeViewDemo.tsx +328 -0
  610. package/playground/src/demos/ui/data-display/data-display-demo.css +630 -0
  611. package/playground/src/demos/ui/feedback/AlertDemo.tsx +146 -0
  612. package/playground/src/demos/ui/feedback/ConfirmDialogDemo.tsx +136 -0
  613. package/playground/src/demos/ui/feedback/DialogDemo.tsx +171 -0
  614. package/playground/src/demos/ui/feedback/LoadingOverlayDemo.tsx +104 -0
  615. package/playground/src/demos/ui/feedback/ModalDemo.tsx +143 -0
  616. package/playground/src/demos/ui/feedback/NotificationDemo.tsx +86 -0
  617. package/playground/src/demos/ui/feedback/PopoverDemo.tsx +126 -0
  618. package/playground/src/demos/ui/feedback/ToastDemo.tsx +122 -0
  619. package/playground/src/demos/ui/feedback/TooltipDemo.tsx +103 -0
  620. package/playground/src/demos/ui/feedback/feedback-demo.css +111 -0
  621. package/playground/src/demos/ui/forms/AutocompleteDemo.tsx +111 -0
  622. package/playground/src/demos/ui/forms/CheckboxDemo.tsx +206 -0
  623. package/playground/src/demos/ui/forms/DatePickerDemo.tsx +187 -0
  624. package/playground/src/demos/ui/forms/DateRangePickerDemo.tsx +197 -0
  625. package/playground/src/demos/ui/forms/ErrorMessageDemo.tsx +155 -0
  626. package/playground/src/demos/ui/forms/FileUploadDemo.tsx +158 -0
  627. package/playground/src/demos/ui/forms/FormFieldDemo.tsx +123 -0
  628. package/playground/src/demos/ui/forms/FormGroupDemo.tsx +129 -0
  629. package/playground/src/demos/ui/forms/HelperTextDemo.tsx +123 -0
  630. package/playground/src/demos/ui/forms/InputDemo.tsx +132 -0
  631. package/playground/src/demos/ui/forms/LabelDemo.tsx +190 -0
  632. package/playground/src/demos/ui/forms/NumberInputDemo.tsx +160 -0
  633. package/playground/src/demos/ui/forms/OtpInputDemo.tsx +220 -0
  634. package/playground/src/demos/ui/forms/PasswordInputDemo.tsx +244 -0
  635. package/playground/src/demos/ui/forms/RadioDemo.tsx +232 -0
  636. package/playground/src/demos/ui/forms/SelectDemo.tsx +207 -0
  637. package/playground/src/demos/ui/forms/SwitchDemo.tsx +251 -0
  638. package/playground/src/demos/ui/forms/TextareaDemo.tsx +275 -0
  639. package/playground/src/demos/ui/foundation/BadgeDemo.tsx +110 -0
  640. package/playground/src/demos/ui/foundation/ButtonDemo.tsx +164 -0
  641. package/playground/src/demos/ui/foundation/DividerDemo.tsx +73 -0
  642. package/playground/src/demos/ui/foundation/IconButtonDemo.tsx +96 -0
  643. package/playground/src/demos/ui/foundation/LinkDemo.tsx +91 -0
  644. package/playground/src/demos/ui/foundation/LogoDemo.tsx +58 -0
  645. package/playground/src/demos/ui/foundation/ProgressDemo.tsx +63 -0
  646. package/playground/src/demos/ui/foundation/SkeletonDemo.tsx +72 -0
  647. package/playground/src/demos/ui/foundation/SpinnerDemo.tsx +99 -0
  648. package/playground/src/demos/ui/foundation/TypographyDemo.tsx +300 -0
  649. package/playground/src/demos/ui/layout/AspectRatioDemo.tsx +69 -0
  650. package/playground/src/demos/ui/layout/BoxDemo.tsx +65 -0
  651. package/playground/src/demos/ui/layout/ContainerDemo.tsx +65 -0
  652. package/playground/src/demos/ui/layout/FlexDemo.tsx +80 -0
  653. package/playground/src/demos/ui/layout/GridDemo.tsx +83 -0
  654. package/playground/src/demos/ui/layout/SpacerDemo.tsx +74 -0
  655. package/playground/src/demos/ui/layout/StackDemo.tsx +103 -0
  656. package/playground/src/demos/ui/layout/layout-demo.css +97 -0
  657. package/playground/src/demos/ui/media/CarouselDemo.tsx +133 -0
  658. package/playground/src/demos/ui/media/ImageCropperDemo.tsx +127 -0
  659. package/playground/src/demos/ui/media/ImageDemo.tsx +103 -0
  660. package/playground/src/demos/ui/media/VideoDemo.tsx +108 -0
  661. package/playground/src/demos/ui/media/media-demo.css +65 -0
  662. package/playground/src/demos/ui/navigation/BreadcrumbDemo.tsx +239 -0
  663. package/playground/src/demos/ui/navigation/DropdownDemo.tsx +15 -0
  664. package/playground/src/demos/ui/navigation/MenuDemo.tsx +119 -0
  665. package/playground/src/demos/ui/navigation/NavbarDemo.tsx +16 -0
  666. package/playground/src/demos/ui/navigation/PaginationDemo.tsx +12 -0
  667. package/playground/src/demos/ui/navigation/SidebarDemo.tsx +16 -0
  668. package/playground/src/demos/ui/navigation/StepperDemo.tsx +225 -0
  669. package/playground/src/demos/ui/navigation/TabsDemo.tsx +281 -0
  670. package/playground/src/demos/ui/navigation/navigation-demo.css +70 -0
  671. package/playground/src/demos/ui/overlays/CommandPaletteDemo.tsx +470 -0
  672. package/playground/src/demos/ui/overlays/ContextMenuDemo.tsx +341 -0
  673. package/playground/src/demos/ui/overlays/DrawerDemo.tsx +299 -0
  674. package/playground/src/demos/ui/overlays/SheetDemo.tsx +356 -0
  675. package/playground/src/demos/ui/overlays/overlays-demo.css +155 -0
  676. package/playground/src/demos/ui/utilities/ClickAwayListenerDemo.tsx +161 -0
  677. package/playground/src/demos/ui/utilities/CopyButtonDemo.tsx +173 -0
  678. package/playground/src/demos/ui/utilities/FocusTrapDemo.tsx +150 -0
  679. package/playground/src/demos/ui/utilities/PortalDemo.tsx +136 -0
  680. package/playground/src/demos/ui/utilities/ScrollAreaDemo.tsx +206 -0
  681. package/playground/src/demos/ui/utilities/VisuallyHiddenDemo.tsx +141 -0
  682. package/playground/src/discovery/sdkDiscovery.ts +361 -0
  683. package/playground/src/index.css +489 -0
  684. package/playground/src/main.tsx +10 -0
  685. package/playground/src/pages/CategoryPage.tsx +42 -0
  686. package/playground/src/pages/ComponentPage.tsx +58 -0
  687. package/playground/src/pages/HomePage.tsx +30 -0
  688. package/playground/src/pages/PackagePage.tsx +61 -0
  689. package/playground/tsconfig.app.json +26 -0
  690. package/playground/tsconfig.json +7 -0
  691. package/playground/tsconfig.node.json +23 -0
  692. package/playground/vite.config.ts +9 -0
  693. package/pnpm-workspace.yaml +6 -0
  694. package/src/index.ts +8 -0
  695. package/tsconfig.json +12 -0
  696. package/dist/index.d.ts +0 -5
  697. package/dist/index.js +0 -11
package/LICENSE ADDED
@@ -0,0 +1,13 @@
1
+ Copyright (c) 2026 Aditya Thute
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for any
4
+ purpose with or without fee is hereby granted, provided that the above
5
+ copyright notice and this permission notice appear in all copies.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
package/README.md CHANGED
@@ -1 +1,114 @@
1
- # shivanya-sdk
1
+ # Shivanya SDK
2
+
3
+ Reusable TypeScript packages for building Shivanya applications.
4
+
5
+ Shivanya SDK provides shared frontend building blocks that can be used across Shivanya applications and other React projects.
6
+
7
+ ## Packages
8
+
9
+ ### shivanya-ui
10
+
11
+ Reusable React UI components.
12
+
13
+ ```bash
14
+ npm install shivanya-ui
15
+ ```
16
+
17
+ ### shivanya-shell
18
+
19
+ Reusable application shell and layout components.
20
+
21
+ ```bash
22
+ npm install shivanya-shell
23
+ ```
24
+
25
+ `shivanya-shell` uses `shivanya-ui` as a package dependency.
26
+
27
+ ## Development
28
+
29
+ The SDK is maintained as a pnpm monorepo.
30
+
31
+ Requirements:
32
+
33
+ - Node.js
34
+ - pnpm
35
+
36
+ Install dependencies:
37
+
38
+ ```bash
39
+ pnpm install
40
+ ```
41
+
42
+ Build all packages and the development workspace:
43
+
44
+ ```bash
45
+ pnpm build
46
+ ```
47
+
48
+ ## Repository Structure
49
+
50
+ ```text
51
+ shivanya-sdk/
52
+ ├── packages/
53
+ │ ├── ui/
54
+ │ └── shell/
55
+ │
56
+ ├── playground/
57
+ │
58
+ ├── package.json
59
+ ├── pnpm-workspace.yaml
60
+ └── pnpm-lock.yaml
61
+ ```
62
+
63
+ ## Playground
64
+
65
+ The repository includes a small development playground for contributors to test SDK packages locally.
66
+
67
+ The playground is not part of the published npm packages.
68
+
69
+ See:
70
+
71
+ ```text
72
+ playground/README.md
73
+ ```
74
+
75
+ ## Package Development
76
+
77
+ Package source code is located under:
78
+
79
+ ```text
80
+ packages/
81
+ ```
82
+
83
+ Build a specific package:
84
+
85
+ ```bash
86
+ pnpm --filter shivanya-ui build
87
+ ```
88
+
89
+ ```bash
90
+ pnpm --filter shivanya-shell build
91
+ ```
92
+
93
+ ## Contributing
94
+
95
+ 1. Create a branch.
96
+ 2. Make the required package changes.
97
+ 3. Test the changes in the playground.
98
+ 4. Run the workspace build.
99
+ 5. Review the Git changes.
100
+ 6. Commit the changes.
101
+ 7. Push the branch.
102
+ 8. Open a pull request.
103
+
104
+ Useful commands:
105
+
106
+ ```bash
107
+ git status
108
+ git diff
109
+ pnpm build
110
+ ```
111
+
112
+ ## License
113
+
114
+ ISC
package/package.json CHANGED
@@ -1,31 +1,30 @@
1
1
  {
2
- "name": "shivanya-sdk",
3
- "version": "0.0.1",
4
- "description": "Shivanya SDK",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "files": [
8
- "dist"
9
- ],
10
- "scripts": {
11
- "build": "tsc"
12
- },
13
- "publishConfig": {
14
- "access": "public"
15
- },
16
- "repository": {
17
- "type": "git",
18
- "url": "git+https://github.com/adityathute/shivanya-sdk.git"
19
- },
20
- "keywords": [],
21
- "author": "",
22
- "license": "ISC",
23
- "type": "commonjs",
24
- "bugs": {
25
- "url": "https://github.com/adityathute/shivanya-sdk/issues"
26
- },
27
- "homepage": "https://github.com/adityathute/shivanya-sdk#readme",
28
- "devDependencies": {
29
- "typescript": "^7.0.2"
30
- }
2
+ "name": "shivanya-sdk",
3
+ "version": "0.1.0",
4
+ "description": "Shivanya SDK monorepo",
5
+ "scripts": {
6
+ "build": "pnpm -r build"
7
+ },
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/adityathute/shivanya-sdk.git"
11
+ },
12
+ "keywords": [
13
+ "shivanya",
14
+ "shivanya-sdk",
15
+ "sdk",
16
+ "typescript",
17
+ "react",
18
+ "react-components",
19
+ "frontend",
20
+ "ui",
21
+ "shell",
22
+ "authentication",
23
+ "analytics",
24
+ "developer-tools",
25
+ "open-source"
26
+ ],
27
+ "author": "Aditya Thute",
28
+ "license": "ISC",
29
+ "packageManager": "pnpm@11.9.0"
31
30
  }
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "shivanya-ai",
3
+ "version": "0.1.1",
4
+ "description": "AI client for the Shivanya platform",
5
+ "main": "dist/index.js",
6
+ "type": "module",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "scripts": {
12
+ "build": "tsc"
13
+ },
14
+ "dependencies": {
15
+ "shivanya-core": "^1.0.0"
16
+ },
17
+ "devDependencies": {
18
+ "typescript": "^7.0.2"
19
+ },
20
+ "repository": {
21
+ "type": "module",
22
+ "url": "git+https://github.com/adityathute/shivanya-sdk.git"
23
+ },
24
+ "keywords": [
25
+ "shivanya",
26
+ "ai",
27
+ "sdk",
28
+ "typescript",
29
+ "api",
30
+ "chat"
31
+ ],
32
+ "author": "Aditya Thute",
33
+ "license": "ISC",
34
+ "publishConfig": {
35
+ "access": "public"
36
+ }
37
+ }
@@ -0,0 +1,33 @@
1
+ import type { ShivanyaClient } from "shivanya-core";
2
+
3
+ import type {
4
+ AIChatRequest,
5
+ AIChatResponse,
6
+ } from "./types.js";
7
+
8
+ export class ShivanyaAI {
9
+ constructor(
10
+ private readonly client: ShivanyaClient
11
+ ) {}
12
+
13
+ async chat(
14
+ request: AIChatRequest
15
+ ): Promise<AIChatResponse> {
16
+ return this.client.request<AIChatResponse>(
17
+ "/api/ai/chat",
18
+ {
19
+ method: "POST",
20
+ body: JSON.stringify({
21
+ messages: [
22
+ {
23
+ role: "user",
24
+ content: request.message,
25
+ },
26
+ ],
27
+ model: request.model,
28
+ temperature: request.temperature,
29
+ }),
30
+ }
31
+ );
32
+ }
33
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./ai.js";
2
+ export * from "./types.js";
@@ -0,0 +1,10 @@
1
+ export interface AIChatRequest {
2
+ message: string;
3
+ model?: string;
4
+ temperature?: number;
5
+ }
6
+
7
+ export interface AIChatResponse {
8
+ content: string;
9
+ model: string;
10
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "NodeNext",
5
+ "moduleResolution": "NodeNext",
6
+ "declaration": true,
7
+ "outDir": "dist",
8
+ "rootDir": "src",
9
+ "strict": true,
10
+ "skipLibCheck": true
11
+ },
12
+ "include": ["src"]
13
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "shivanya-core",
3
+ "version": "1.0.0",
4
+ "description": "Core client for the Shivanya platform",
5
+ "main": "dist/index.js",
6
+ "type": "module",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "scripts": {
12
+ "build": "tsc"
13
+ },
14
+ "devDependencies": {
15
+ "typescript": "^7.0.2"
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://github.com/adityathute/shivanya-sdk.git"
20
+ },
21
+ "keywords": [
22
+ "shivanya",
23
+ "core",
24
+ "sdk",
25
+ "typescript",
26
+ "api",
27
+ "client"
28
+ ],
29
+ "author": "Aditya Thute",
30
+ "license": "ISC",
31
+ "publishConfig": {
32
+ "access": "public"
33
+ }
34
+ }
@@ -0,0 +1,48 @@
1
+ import { ShivanyaError } from "./errors.js";
2
+
3
+ export interface ShivanyaClientOptions {
4
+ baseURL: string;
5
+ apiKey?: string;
6
+ }
7
+
8
+ export class ShivanyaClient {
9
+ private readonly baseURL: string;
10
+ private readonly apiKey?: string;
11
+
12
+ constructor(options: ShivanyaClientOptions) {
13
+ this.baseURL = options.baseURL.replace(/\/+$/, "");
14
+ this.apiKey = options.apiKey;
15
+ }
16
+
17
+ async request<T>(
18
+ path: string,
19
+ options: RequestInit = {}
20
+ ): Promise<T> {
21
+ const headers = new Headers(options.headers);
22
+
23
+ headers.set("Content-Type", "application/json");
24
+
25
+ if (this.apiKey) {
26
+ headers.set("Authorization", `Bearer ${this.apiKey}`);
27
+ }
28
+
29
+ const response = await fetch(
30
+ `${this.baseURL}${path}`,
31
+ {
32
+ ...options,
33
+ headers
34
+ }
35
+ );
36
+
37
+ const data = await response.json().catch(() => null);
38
+
39
+ if (!response.ok) {
40
+ throw new ShivanyaError(
41
+ data?.error ?? "Shivanya API request failed",
42
+ response.status
43
+ );
44
+ }
45
+
46
+ return data as T;
47
+ }
48
+ }
@@ -0,0 +1,9 @@
1
+ export class ShivanyaError extends Error {
2
+ constructor(
3
+ message: string,
4
+ public readonly status?: number
5
+ ) {
6
+ super(message);
7
+ this.name = "ShivanyaError";
8
+ }
9
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./client.js";
2
+ export * from "./errors.js";
@@ -0,0 +1,15 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "NodeNext",
5
+ "moduleResolution": "NodeNext",
6
+ "declaration": true,
7
+ "outDir": "dist",
8
+ "rootDir": "src",
9
+ "strict": true,
10
+ "skipLibCheck": true
11
+ },
12
+ "include": [
13
+ "src"
14
+ ]
15
+ }
@@ -0,0 +1,97 @@
1
+ # shivanya-shell
2
+
3
+ Reusable application shell and layout components for Shivanya applications.
4
+
5
+ The package provides common layout infrastructure that can be shared across different Shivanya applications without coupling the shell to a specific application.
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ npm install shivanya-shell
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ ```tsx
16
+ import {
17
+ AppShell,
18
+ PageContainer,
19
+ } from "shivanya-shell";
20
+
21
+ export function App() {
22
+ return (
23
+ <AppShell>
24
+ <PageContainer>
25
+ Your application content
26
+ </PageContainer>
27
+ </AppShell>
28
+ );
29
+ }
30
+ ```
31
+
32
+ ## Available Components
33
+
34
+ Current components:
35
+
36
+ - `AppShell`
37
+ - `PageContainer`
38
+ - `LayoutProvider`
39
+ - `LayoutContext`
40
+ - `useLayout`
41
+
42
+ Additional reusable shell components will be added as the SDK develops.
43
+
44
+ ## Development
45
+
46
+ This package is developed inside the Shivanya SDK pnpm workspace.
47
+
48
+ From the SDK root:
49
+
50
+ ```bash
51
+ pnpm install
52
+ ```
53
+
54
+ Build the package:
55
+
56
+ ```bash
57
+ pnpm --filter shivanya-shell build
58
+ ```
59
+
60
+ Test changes using the SDK playground:
61
+
62
+ ```bash
63
+ pnpm --filter playground dev
64
+ ```
65
+
66
+ ## Dependencies
67
+
68
+ `shivanya-shell` uses:
69
+
70
+ ```text
71
+ shivanya-ui
72
+ ```
73
+
74
+ as a package dependency.
75
+
76
+ React and React DOM are peer dependencies.
77
+
78
+ ## Package Structure
79
+
80
+ ```text
81
+ packages/shell/
82
+ ├── src/
83
+ │ ├── context/
84
+ │ ├── hooks/
85
+ │ ├── layouts/
86
+ │ └── index.ts
87
+ ├── package.json
88
+ └── tsconfig.json
89
+ ```
90
+
91
+ ## Contributing
92
+
93
+ Make changes in the package source, test them through the playground, build the package, and submit a pull request.
94
+
95
+ ## License
96
+
97
+ ISC
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "shivanya-shell",
3
+ "version": "1.0.1",
4
+ "type": "module",
5
+ "description": "Reusable React shell, layout, and application structure components for Shivanya applications",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./styles": "./src/styles/shell.css"
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "src/styles"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsc && shx mkdir -p dist/styles && shx cp src/styles/shell.css dist/styles/shell.css"
21
+ },
22
+ "dependencies": {
23
+ "shivanya-ui": "^1.0.0"
24
+ },
25
+ "peerDependencies": {
26
+ "react": "^18.0.0 || ^19.0.0",
27
+ "react-dom": "^18.0.0 || ^19.0.0"
28
+ },
29
+ "devDependencies": {
30
+ "@types/react": "^19.0.0",
31
+ "@types/react-dom": "^19.0.0",
32
+ "react": "^19.1.0",
33
+ "react-dom": "^19.1.0",
34
+ "shx": "^0.4.0",
35
+ "typescript": "^7.0.2"
36
+ },
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "git+https://github.com/adityathute/shivanya-sdk.git"
40
+ },
41
+ "keywords": [
42
+ "shivanya",
43
+ "shivanya-shell",
44
+ "shell",
45
+ "layout",
46
+ "react",
47
+ "react-components",
48
+ "typescript",
49
+ "frontend",
50
+ "application-shell",
51
+ "open-source"
52
+ ],
53
+ "author": "Aditya Thute",
54
+ "license": "ISC",
55
+ "publishConfig": {
56
+ "access": "public"
57
+ }
58
+ }
@@ -0,0 +1,19 @@
1
+ import type { ShellBranding } from "../types/shell.js";
2
+ import { ShellBrand } from "./ShellBrand.js";
3
+
4
+ export function DrawerHeader({
5
+ branding,
6
+ onClose,
7
+ }: {
8
+ branding?: ShellBranding;
9
+ onClose?: () => void;
10
+ }) {
11
+ return (
12
+ <header className="shivanya-shell-drawer-header">
13
+ {branding && <ShellBrand branding={{ ...branding, href: undefined }} />}
14
+ <button type="button" onClick={onClose} aria-label="Close menu">
15
+ ×
16
+ </button>
17
+ </header>
18
+ );
19
+ }
@@ -0,0 +1,32 @@
1
+ import type { ShellBranding } from "../types/shell.js";
2
+
3
+ export function ShellBrand({
4
+ branding,
5
+ compact = false,
6
+ }: {
7
+ branding: ShellBranding;
8
+ compact?: boolean;
9
+ }) {
10
+ const content = (
11
+ <span className="shivanya-shell-brand-content">
12
+ {branding.src ? (
13
+ <img
14
+ src={branding.src}
15
+ alt={branding.alt || ""}
16
+ className="shivanya-shell-brand-image"
17
+ />
18
+ ) : null}
19
+ <span className="shivanya-shell-brand-text">
20
+ {branding.name && <strong>{branding.name}</strong>}
21
+ {!compact && branding.subtitle && <small>{branding.subtitle}</small>}
22
+ </span>
23
+ </span>
24
+ );
25
+ if (branding.href)
26
+ return (
27
+ <a className="shivanya-shell-brand" href={branding.href}>
28
+ {content}
29
+ </a>
30
+ );
31
+ return <span className="shivanya-shell-brand">{content}</span>;
32
+ }
@@ -0,0 +1,18 @@
1
+ import type { ShellFooterProps } from "../types/shell.js";
2
+ import { ShellBrand } from "./ShellBrand.js";
3
+
4
+ export function ShellFooter({
5
+ children,
6
+ branding,
7
+ className = "",
8
+ }: ShellFooterProps) {
9
+ return (
10
+ <footer className={`shivanya-shell-footer ${className}`.trim()}>
11
+ {branding && <ShellBrand branding={branding} />}
12
+ {children}
13
+ <span className="shivanya-shell-footer-copy">
14
+ © {new Date().getFullYear()}
15
+ </span>
16
+ </footer>
17
+ );
18
+ }