@pattern-stack/frontend-patterns 0.1.2 → 0.2.0-alpha.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 (676) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +17 -2
  3. package/cli/commands/generate-hooks.ts +316 -0
  4. package/cli/commands/init.ts +33 -0
  5. package/cli/commands/scaffold.ts +224 -0
  6. package/cli/index.ts +122 -0
  7. package/cli/src/codegen/openapi/client-generator.js +659 -0
  8. package/cli/src/codegen/openapi/hook-generator.js +725 -0
  9. package/cli/src/codegen/openapi/parser.js +274 -0
  10. package/cli/src/codegen/openapi/type-generator.js +329 -0
  11. package/dist/atoms/components/core/Avatar/Avatar.d.ts +41 -0
  12. package/dist/atoms/components/core/Avatar/Avatar.d.ts.map +1 -0
  13. package/dist/atoms/components/core/Avatar/index.d.ts +2 -0
  14. package/dist/atoms/components/core/Avatar/index.d.ts.map +1 -0
  15. package/dist/atoms/components/core/Badge/Badge.d.ts +38 -0
  16. package/dist/atoms/components/core/Badge/Badge.d.ts.map +1 -0
  17. package/dist/atoms/components/core/Badge/index.d.ts +2 -0
  18. package/dist/atoms/components/core/Badge/index.d.ts.map +1 -0
  19. package/dist/atoms/components/core/Button/Button.d.ts +28 -0
  20. package/dist/atoms/components/core/Button/Button.d.ts.map +1 -0
  21. package/dist/atoms/components/core/Button/index.d.ts +3 -0
  22. package/dist/atoms/components/core/Button/index.d.ts.map +1 -0
  23. package/dist/atoms/components/core/Card/Card.d.ts +41 -0
  24. package/dist/atoms/components/core/Card/Card.d.ts.map +1 -0
  25. package/dist/atoms/components/core/Card/index.d.ts +3 -0
  26. package/dist/atoms/components/core/Card/index.d.ts.map +1 -0
  27. package/dist/atoms/components/core/Checkbox/Checkbox.d.ts +28 -0
  28. package/dist/atoms/components/core/Checkbox/Checkbox.d.ts.map +1 -0
  29. package/dist/atoms/components/core/Checkbox/index.d.ts +3 -0
  30. package/dist/atoms/components/core/Checkbox/index.d.ts.map +1 -0
  31. package/dist/atoms/components/core/Input/Input.d.ts +37 -0
  32. package/dist/atoms/components/core/Input/Input.d.ts.map +1 -0
  33. package/dist/atoms/components/core/Input/index.d.ts +3 -0
  34. package/dist/atoms/components/core/Input/index.d.ts.map +1 -0
  35. package/dist/atoms/components/core/Label/Label.d.ts +22 -0
  36. package/dist/atoms/components/core/Label/Label.d.ts.map +1 -0
  37. package/dist/atoms/components/core/Label/index.d.ts +3 -0
  38. package/dist/atoms/components/core/Label/index.d.ts.map +1 -0
  39. package/dist/atoms/components/core/Select/Select.d.ts +42 -0
  40. package/dist/atoms/components/core/Select/Select.d.ts.map +1 -0
  41. package/dist/atoms/components/core/Select/index.d.ts +3 -0
  42. package/dist/atoms/components/core/Select/index.d.ts.map +1 -0
  43. package/dist/atoms/components/core/Spinner/Spinner.d.ts +25 -0
  44. package/dist/atoms/components/core/Spinner/Spinner.d.ts.map +1 -0
  45. package/dist/atoms/components/core/Spinner/index.d.ts +3 -0
  46. package/dist/atoms/components/core/Spinner/index.d.ts.map +1 -0
  47. package/dist/atoms/components/core/Switch/Switch.d.ts +35 -0
  48. package/dist/atoms/components/core/Switch/Switch.d.ts.map +1 -0
  49. package/dist/atoms/components/core/Switch/index.d.ts +2 -0
  50. package/dist/atoms/components/core/Switch/index.d.ts.map +1 -0
  51. package/dist/atoms/components/core/index.d.ts +11 -0
  52. package/dist/atoms/components/core/index.d.ts.map +1 -0
  53. package/dist/atoms/components/data/ActivityFeed/ActivityFeed.d.ts +4 -0
  54. package/dist/atoms/components/data/ActivityFeed/ActivityFeed.d.ts.map +1 -0
  55. package/dist/atoms/components/data/ActivityFeed/ActivityFeedItem.d.ts +9 -0
  56. package/dist/atoms/components/data/ActivityFeed/ActivityFeedItem.d.ts.map +1 -0
  57. package/dist/atoms/components/data/ActivityFeed/index.d.ts +4 -0
  58. package/dist/atoms/components/data/ActivityFeed/index.d.ts.map +1 -0
  59. package/dist/atoms/components/data/ActivityFeed/types.d.ts +26 -0
  60. package/dist/atoms/components/data/ActivityFeed/types.d.ts.map +1 -0
  61. package/dist/atoms/components/data/ActivityFeed/utils.d.ts +5 -0
  62. package/dist/atoms/components/data/ActivityFeed/utils.d.ts.map +1 -0
  63. package/dist/atoms/components/data/Chart/Chart.d.ts +84 -0
  64. package/dist/atoms/components/data/Chart/Chart.d.ts.map +1 -0
  65. package/dist/atoms/components/data/Chart/index.d.ts +3 -0
  66. package/dist/atoms/components/data/Chart/index.d.ts.map +1 -0
  67. package/dist/atoms/components/data/DataBadge/DataBadge.d.ts +18 -0
  68. package/dist/atoms/components/data/DataBadge/DataBadge.d.ts.map +1 -0
  69. package/dist/atoms/components/data/DataBadge/index.d.ts +2 -0
  70. package/dist/atoms/components/data/DataBadge/index.d.ts.map +1 -0
  71. package/dist/atoms/components/data/DataTable/DataTable.d.ts +5 -0
  72. package/dist/atoms/components/data/DataTable/DataTable.d.ts.map +1 -0
  73. package/dist/atoms/components/data/DataTable/DataTable.types.d.ts +51 -0
  74. package/dist/atoms/components/data/DataTable/DataTable.types.d.ts.map +1 -0
  75. package/dist/atoms/{composed → components/data}/DataTable/TableCellWithTooltip.d.ts +1 -1
  76. package/dist/atoms/components/data/DataTable/TableCellWithTooltip.d.ts.map +1 -0
  77. package/dist/atoms/components/data/DataTable/index.d.ts +3 -0
  78. package/dist/atoms/components/data/DataTable/index.d.ts.map +1 -0
  79. package/dist/atoms/{composed → components/data}/DetailedCard/DetailedCard.d.ts +4 -4
  80. package/dist/atoms/components/data/DetailedCard/DetailedCard.d.ts.map +1 -0
  81. package/dist/atoms/components/data/DetailedCard/index.d.ts +3 -0
  82. package/dist/atoms/components/data/DetailedCard/index.d.ts.map +1 -0
  83. package/dist/atoms/components/data/EntityIcon/EntityIcon.d.ts +24 -0
  84. package/dist/atoms/components/data/EntityIcon/EntityIcon.d.ts.map +1 -0
  85. package/dist/atoms/components/data/EntityIcon/index.d.ts +2 -0
  86. package/dist/atoms/components/data/EntityIcon/index.d.ts.map +1 -0
  87. package/dist/atoms/components/data/IconBadge/IconBadge.d.ts +17 -0
  88. package/dist/atoms/components/data/IconBadge/IconBadge.d.ts.map +1 -0
  89. package/dist/atoms/components/data/IconBadge/index.d.ts +3 -0
  90. package/dist/atoms/components/data/IconBadge/index.d.ts.map +1 -0
  91. package/dist/atoms/components/data/ListCard/ListCard.d.ts +32 -0
  92. package/dist/atoms/components/data/ListCard/ListCard.d.ts.map +1 -0
  93. package/dist/atoms/components/data/ListCard/index.d.ts +2 -0
  94. package/dist/atoms/components/data/ListCard/index.d.ts.map +1 -0
  95. package/dist/atoms/{composed → components/data}/ProgressBar/ProgressBar.d.ts +5 -5
  96. package/dist/atoms/components/data/ProgressBar/ProgressBar.d.ts.map +1 -0
  97. package/dist/atoms/components/data/ProgressBar/index.d.ts +2 -0
  98. package/dist/atoms/components/data/ProgressBar/index.d.ts.map +1 -0
  99. package/dist/atoms/{composed → components/data}/StatCard/StatCard.d.ts +3 -3
  100. package/dist/atoms/components/data/StatCard/StatCard.d.ts.map +1 -0
  101. package/dist/atoms/components/data/StatCard/index.d.ts +2 -0
  102. package/dist/atoms/components/data/StatCard/index.d.ts.map +1 -0
  103. package/dist/atoms/components/data/Table/Table.d.ts +41 -0
  104. package/dist/atoms/components/data/Table/Table.d.ts.map +1 -0
  105. package/dist/atoms/components/data/Table/index.d.ts +2 -0
  106. package/dist/atoms/components/data/Table/index.d.ts.map +1 -0
  107. package/dist/atoms/components/data/TruncatedText/TruncatedText.d.ts +26 -0
  108. package/dist/atoms/components/data/TruncatedText/TruncatedText.d.ts.map +1 -0
  109. package/dist/atoms/components/data/TruncatedText/index.d.ts +2 -0
  110. package/dist/atoms/components/data/TruncatedText/index.d.ts.map +1 -0
  111. package/dist/atoms/components/data/index.d.ts +13 -0
  112. package/dist/atoms/components/data/index.d.ts.map +1 -0
  113. package/dist/atoms/components/domain/SalesPanel/SalesPanel.d.ts +19 -0
  114. package/dist/atoms/components/domain/SalesPanel/SalesPanel.d.ts.map +1 -0
  115. package/dist/atoms/components/domain/SalesPanel/index.d.ts +2 -0
  116. package/dist/atoms/components/domain/SalesPanel/index.d.ts.map +1 -0
  117. package/dist/atoms/components/domain/SalesPanel/mockSalesData.d.ts +63 -0
  118. package/dist/atoms/components/domain/SalesPanel/mockSalesData.d.ts.map +1 -0
  119. package/dist/atoms/components/domain/index.d.ts +2 -0
  120. package/dist/atoms/components/domain/index.d.ts.map +1 -0
  121. package/dist/atoms/{composed → components/feedback}/Alert/Alert.d.ts +4 -4
  122. package/dist/atoms/components/feedback/Alert/Alert.d.ts.map +1 -0
  123. package/dist/atoms/components/feedback/Alert/index.d.ts +2 -0
  124. package/dist/atoms/components/feedback/Alert/index.d.ts.map +1 -0
  125. package/dist/atoms/{composed → components/feedback}/EmptyState/EmptyState.d.ts +3 -3
  126. package/dist/atoms/components/feedback/EmptyState/EmptyState.d.ts.map +1 -0
  127. package/dist/atoms/components/feedback/EmptyState/index.d.ts +2 -0
  128. package/dist/atoms/components/feedback/EmptyState/index.d.ts.map +1 -0
  129. package/dist/atoms/components/feedback/ErrorBoundary/ErrorBoundary.d.ts +61 -0
  130. package/dist/atoms/components/feedback/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
  131. package/dist/atoms/components/feedback/ErrorBoundary/index.d.ts +2 -0
  132. package/dist/atoms/components/feedback/ErrorBoundary/index.d.ts.map +1 -0
  133. package/dist/atoms/components/feedback/Skeleton/Skeleton.d.ts +67 -0
  134. package/dist/atoms/components/feedback/Skeleton/Skeleton.d.ts.map +1 -0
  135. package/dist/atoms/components/feedback/Skeleton/index.d.ts +2 -0
  136. package/dist/atoms/components/feedback/Skeleton/index.d.ts.map +1 -0
  137. package/dist/atoms/{composed → components/feedback}/Toast/Toast.d.ts +4 -4
  138. package/dist/atoms/components/feedback/Toast/Toast.d.ts.map +1 -0
  139. package/dist/atoms/{composed → components/feedback}/Toast/index.d.ts +1 -1
  140. package/dist/atoms/components/feedback/Toast/index.d.ts.map +1 -0
  141. package/dist/atoms/components/feedback/index.d.ts +6 -0
  142. package/dist/atoms/components/feedback/index.d.ts.map +1 -0
  143. package/dist/atoms/{composed → components/forms}/DateTimePicker/DateTimePicker.d.ts +6 -6
  144. package/dist/atoms/components/forms/DateTimePicker/DateTimePicker.d.ts.map +1 -0
  145. package/dist/atoms/components/forms/DateTimePicker/index.d.ts +3 -0
  146. package/dist/atoms/components/forms/DateTimePicker/index.d.ts.map +1 -0
  147. package/dist/atoms/{composed → components/forms}/FileUpload/FileUpload.d.ts +3 -3
  148. package/dist/atoms/components/forms/FileUpload/FileUpload.d.ts.map +1 -0
  149. package/dist/atoms/components/forms/FileUpload/index.d.ts +3 -0
  150. package/dist/atoms/components/forms/FileUpload/index.d.ts.map +1 -0
  151. package/dist/atoms/{composed → components/forms}/FormField/FormField.d.ts +2 -2
  152. package/dist/atoms/components/forms/FormField/FormField.d.ts.map +1 -0
  153. package/dist/atoms/components/forms/FormField/index.d.ts +2 -0
  154. package/dist/atoms/components/forms/FormField/index.d.ts.map +1 -0
  155. package/dist/atoms/components/forms/index.d.ts +4 -0
  156. package/dist/atoms/components/forms/index.d.ts.map +1 -0
  157. package/dist/atoms/components/index.d.ts +10 -0
  158. package/dist/atoms/components/index.d.ts.map +1 -0
  159. package/dist/atoms/{composed → components/layout}/Accordion/Accordion.d.ts +3 -3
  160. package/dist/atoms/components/layout/Accordion/Accordion.d.ts.map +1 -0
  161. package/dist/atoms/components/layout/Accordion/index.d.ts +2 -0
  162. package/dist/atoms/components/layout/Accordion/index.d.ts.map +1 -0
  163. package/dist/atoms/{composed → components/layout}/Breadcrumb/Breadcrumb.d.ts +2 -3
  164. package/dist/atoms/components/layout/Breadcrumb/Breadcrumb.d.ts.map +1 -0
  165. package/dist/atoms/components/layout/Breadcrumb/index.d.ts +2 -0
  166. package/dist/atoms/components/layout/Breadcrumb/index.d.ts.map +1 -0
  167. package/dist/atoms/components/layout/Dialog/Dialog.d.ts +45 -0
  168. package/dist/atoms/components/layout/Dialog/Dialog.d.ts.map +1 -0
  169. package/dist/atoms/components/layout/Dialog/index.d.ts +3 -0
  170. package/dist/atoms/components/layout/Dialog/index.d.ts.map +1 -0
  171. package/dist/atoms/components/layout/Dropdown/Dropdown.d.ts +40 -0
  172. package/dist/atoms/components/layout/Dropdown/Dropdown.d.ts.map +1 -0
  173. package/dist/atoms/components/layout/Dropdown/index.d.ts +3 -0
  174. package/dist/atoms/components/layout/Dropdown/index.d.ts.map +1 -0
  175. package/dist/atoms/components/layout/Modal/Modal.d.ts +18 -0
  176. package/dist/atoms/components/layout/Modal/Modal.d.ts.map +1 -0
  177. package/dist/atoms/components/layout/Modal/index.d.ts +3 -0
  178. package/dist/atoms/components/layout/Modal/index.d.ts.map +1 -0
  179. package/dist/atoms/components/layout/Tabs/Tabs.d.ts +46 -0
  180. package/dist/atoms/components/layout/Tabs/Tabs.d.ts.map +1 -0
  181. package/dist/atoms/components/layout/Tabs/index.d.ts +2 -0
  182. package/dist/atoms/components/layout/Tabs/index.d.ts.map +1 -0
  183. package/dist/atoms/{composed → components/layout}/Tooltip/Tooltip.d.ts +6 -6
  184. package/dist/atoms/components/layout/Tooltip/Tooltip.d.ts.map +1 -0
  185. package/dist/atoms/components/layout/Tooltip/index.d.ts +2 -0
  186. package/dist/atoms/components/layout/Tooltip/index.d.ts.map +1 -0
  187. package/dist/atoms/components/layout/index.d.ts +8 -0
  188. package/dist/atoms/components/layout/index.d.ts.map +1 -0
  189. package/dist/atoms/{composed → components/navigation}/GlobalSearch/GlobalSearch.d.ts +2 -3
  190. package/dist/atoms/components/navigation/GlobalSearch/GlobalSearch.d.ts.map +1 -0
  191. package/dist/atoms/components/navigation/GlobalSearch/index.d.ts +2 -0
  192. package/dist/atoms/components/navigation/GlobalSearch/index.d.ts.map +1 -0
  193. package/dist/atoms/components/navigation/index.d.ts +2 -0
  194. package/dist/atoms/components/navigation/index.d.ts.map +1 -0
  195. package/dist/atoms/{composed → components/theme}/ColorSwatch/ColorSwatch.d.ts +2 -2
  196. package/dist/atoms/components/theme/ColorSwatch/ColorSwatch.d.ts.map +1 -0
  197. package/dist/atoms/components/theme/ColorSwatch/index.d.ts +2 -0
  198. package/dist/atoms/components/theme/ColorSwatch/index.d.ts.map +1 -0
  199. package/dist/atoms/components/theme/DarkModeToggle.d.ts.map +1 -0
  200. package/dist/atoms/{composed → components/theme}/PaletteSwitcher.d.ts +1 -1
  201. package/dist/atoms/components/theme/PaletteSwitcher.d.ts.map +1 -0
  202. package/dist/atoms/components/theme/StyleGuide.d.ts +3 -0
  203. package/dist/atoms/components/theme/StyleGuide.d.ts.map +1 -0
  204. package/dist/atoms/components/theme/index.d.ts +5 -0
  205. package/dist/atoms/components/theme/index.d.ts.map +1 -0
  206. package/dist/atoms/{composed → components/user}/UserAvatar/UserAvatar.d.ts +2 -3
  207. package/dist/atoms/components/user/UserAvatar/UserAvatar.d.ts.map +1 -0
  208. package/dist/atoms/components/user/UserAvatar/index.d.ts +2 -0
  209. package/dist/atoms/components/user/UserAvatar/index.d.ts.map +1 -0
  210. package/dist/atoms/{composed → components/user}/UserMenu/UserMenu.d.ts +2 -3
  211. package/dist/atoms/components/user/UserMenu/UserMenu.d.ts.map +1 -0
  212. package/dist/atoms/components/user/UserMenu/index.d.ts +2 -0
  213. package/dist/atoms/components/user/UserMenu/index.d.ts.map +1 -0
  214. package/dist/atoms/components/user/index.d.ts +3 -0
  215. package/dist/atoms/components/user/index.d.ts.map +1 -0
  216. package/dist/atoms/config/responsive.d.ts +147 -0
  217. package/dist/atoms/config/responsive.d.ts.map +1 -0
  218. package/dist/atoms/hooks/index.d.ts +5 -0
  219. package/dist/atoms/hooks/index.d.ts.map +1 -0
  220. package/dist/atoms/hooks/use-toast.d.ts +16 -0
  221. package/dist/atoms/hooks/use-toast.d.ts.map +1 -0
  222. package/dist/atoms/hooks/useApi.d.ts +2 -2
  223. package/dist/atoms/hooks/useApi.d.ts.map +1 -1
  224. package/dist/atoms/hooks/useResponsive.d.ts +42 -0
  225. package/dist/atoms/hooks/useResponsive.d.ts.map +1 -0
  226. package/dist/atoms/index.d.ts +6 -8
  227. package/dist/atoms/index.d.ts.map +1 -1
  228. package/dist/atoms/primitives/Badge.d.ts +10 -0
  229. package/dist/atoms/primitives/Badge.d.ts.map +1 -0
  230. package/dist/atoms/{ui → primitives}/ErrorBoundary.d.ts +3 -3
  231. package/dist/atoms/primitives/ErrorBoundary.d.ts.map +1 -0
  232. package/dist/atoms/primitives/Select.d.ts +30 -0
  233. package/dist/atoms/primitives/Select.d.ts.map +1 -0
  234. package/dist/atoms/primitives/Switch.d.ts +10 -0
  235. package/dist/atoms/primitives/Switch.d.ts.map +1 -0
  236. package/dist/atoms/primitives/Tabs.d.ts +30 -0
  237. package/dist/atoms/primitives/Tabs.d.ts.map +1 -0
  238. package/dist/atoms/primitives/avatar.d.ts.map +1 -0
  239. package/dist/atoms/primitives/button.d.ts +11 -0
  240. package/dist/atoms/primitives/button.d.ts.map +1 -0
  241. package/dist/atoms/primitives/button.variants.d.ts +7 -0
  242. package/dist/atoms/primitives/button.variants.d.ts.map +1 -0
  243. package/dist/atoms/{ui → primitives}/card.d.ts +2 -1
  244. package/dist/atoms/primitives/card.d.ts.map +1 -0
  245. package/dist/atoms/primitives/checkbox.d.ts +12 -0
  246. package/dist/atoms/primitives/checkbox.d.ts.map +1 -0
  247. package/dist/atoms/primitives/dialog.d.ts +34 -0
  248. package/dist/atoms/primitives/dialog.d.ts.map +1 -0
  249. package/dist/atoms/primitives/dropdown-menu.d.ts.map +1 -0
  250. package/dist/atoms/primitives/index.d.ts +17 -0
  251. package/dist/atoms/primitives/index.d.ts.map +1 -0
  252. package/dist/atoms/primitives/input.d.ts.map +1 -0
  253. package/dist/atoms/{ui → primitives}/label.d.ts +4 -1
  254. package/dist/atoms/primitives/label.d.ts.map +1 -0
  255. package/dist/atoms/primitives/skeleton.d.ts.map +1 -0
  256. package/dist/atoms/{ui → primitives}/spinner.d.ts +4 -4
  257. package/dist/atoms/primitives/spinner.d.ts.map +1 -0
  258. package/dist/atoms/primitives/table.d.ts.map +1 -0
  259. package/dist/atoms/services/api/client.d.ts +11 -2
  260. package/dist/atoms/services/api/client.d.ts.map +1 -1
  261. package/dist/atoms/services/auth-service.d.ts +1 -1
  262. package/dist/atoms/services/auth-service.d.ts.map +1 -1
  263. package/dist/atoms/services/health.d.ts +2 -2
  264. package/dist/atoms/services/index.d.ts +3 -3
  265. package/dist/atoms/shared/config/dashboard-sizes.d.ts +17 -17
  266. package/dist/atoms/shared/config/dashboard-sizes.d.ts.map +1 -1
  267. package/dist/atoms/shared/config/environment.d.ts.map +1 -1
  268. package/dist/atoms/shared/index.d.ts +4 -3
  269. package/dist/atoms/shared/index.d.ts.map +1 -1
  270. package/dist/atoms/types/auth.d.ts +11 -1
  271. package/dist/atoms/types/auth.d.ts.map +1 -1
  272. package/dist/atoms/types/entity-config.d.ts +117 -0
  273. package/dist/atoms/types/entity-config.d.ts.map +1 -0
  274. package/dist/atoms/types/generated.d.ts.map +1 -1
  275. package/dist/atoms/types/index.d.ts +6 -3
  276. package/dist/atoms/types/index.d.ts.map +1 -1
  277. package/dist/atoms/types/loading.d.ts +1 -1
  278. package/dist/atoms/types/navigation.d.ts +30 -0
  279. package/dist/atoms/types/navigation.d.ts.map +1 -0
  280. package/dist/atoms/types/ui-config.d.ts +50 -0
  281. package/dist/atoms/types/ui-config.d.ts.map +1 -0
  282. package/dist/atoms/utils/animations.d.ts +7 -7
  283. package/dist/atoms/utils/animations.d.ts.map +1 -1
  284. package/dist/atoms/utils/color-manager.d.ts +68 -0
  285. package/dist/atoms/utils/color-manager.d.ts.map +1 -0
  286. package/dist/atoms/utils/debounce.d.ts +6 -0
  287. package/dist/atoms/utils/debounce.d.ts.map +1 -0
  288. package/dist/atoms/utils/field-detection.d.ts +15 -0
  289. package/dist/atoms/utils/field-detection.d.ts.map +1 -0
  290. package/dist/atoms/utils/icon-map.d.ts +68 -0
  291. package/dist/atoms/utils/icon-map.d.ts.map +1 -0
  292. package/dist/atoms/utils/icon-resolver.d.ts +16 -0
  293. package/dist/atoms/utils/icon-resolver.d.ts.map +1 -0
  294. package/dist/atoms/utils/index.d.ts +5 -0
  295. package/dist/atoms/utils/index.d.ts.map +1 -0
  296. package/dist/atoms/utils/metric-engine.d.ts +22 -0
  297. package/dist/atoms/utils/metric-engine.d.ts.map +1 -0
  298. package/dist/atoms/utils/tooltip-helpers.d.ts +1 -1
  299. package/dist/atoms/utils/tooltip-helpers.d.ts.map +1 -1
  300. package/dist/atoms/utils/ui-mapping.d.ts +19 -0
  301. package/dist/atoms/utils/ui-mapping.d.ts.map +1 -0
  302. package/dist/atoms/utils/utils.d.ts +7 -1
  303. package/dist/atoms/utils/utils.d.ts.map +1 -1
  304. package/dist/codegen/openapi/bulk-types.d.ts +142 -0
  305. package/dist/codegen/openapi/bulk-types.d.ts.map +1 -0
  306. package/dist/features/auth/components/LoginForm.d.ts.map +1 -1
  307. package/dist/features/auth/components/LogoutButton.d.ts.map +1 -1
  308. package/dist/features/auth/components/ProtectedRoute.d.ts +2 -2
  309. package/dist/features/auth/components/ProtectedRoute.d.ts.map +1 -1
  310. package/dist/features/auth/components/index.d.ts +3 -3
  311. package/dist/features/auth/hooks/auth-context.d.ts +3 -0
  312. package/dist/features/auth/hooks/auth-context.d.ts.map +1 -0
  313. package/dist/features/auth/hooks/index.d.ts +4 -2
  314. package/dist/features/auth/hooks/index.d.ts.map +1 -1
  315. package/dist/features/auth/hooks/use-auth.d.ts +3 -0
  316. package/dist/features/auth/hooks/use-auth.d.ts.map +1 -0
  317. package/dist/features/auth/hooks/useAuth.d.ts +3 -4
  318. package/dist/features/auth/hooks/useAuth.d.ts.map +1 -1
  319. package/dist/features/auth/hooks/useAuthContext.d.ts +7 -0
  320. package/dist/features/auth/hooks/useAuthContext.d.ts.map +1 -0
  321. package/dist/features/auth/hooks/usePermissions.d.ts +3 -3
  322. package/dist/features/auth/index.d.ts +3 -2
  323. package/dist/features/auth/index.d.ts.map +1 -1
  324. package/dist/features/auth/providers/MockAuthProvider.d.ts +8 -0
  325. package/dist/features/auth/providers/MockAuthProvider.d.ts.map +1 -0
  326. package/dist/features/auth/providers/index.d.ts +3 -0
  327. package/dist/features/auth/providers/index.d.ts.map +1 -0
  328. package/dist/features/auth/providers/mock-auth-context.d.ts +3 -0
  329. package/dist/features/auth/providers/mock-auth-context.d.ts.map +1 -0
  330. package/dist/features/auth/providers/use-mock-auth.d.ts +3 -0
  331. package/dist/features/auth/providers/use-mock-auth.d.ts.map +1 -0
  332. package/dist/features/auth/services/mock-auth-service.d.ts +17 -0
  333. package/dist/features/auth/services/mock-auth-service.d.ts.map +1 -0
  334. package/dist/features/index.d.ts +1 -1
  335. package/dist/frontend-patterns.css +5069 -516
  336. package/dist/index.d.ts +17 -9
  337. package/dist/index.d.ts.map +1 -1
  338. package/dist/index.es.js +27080 -8451
  339. package/dist/index.es.js.map +1 -1
  340. package/dist/index.js +27103 -8453
  341. package/dist/index.js.map +1 -1
  342. package/dist/molecules/feedback/index.d.ts +2 -0
  343. package/dist/molecules/feedback/index.d.ts.map +1 -0
  344. package/dist/molecules/forms/FormGroup.d.ts +2 -2
  345. package/dist/molecules/forms/FormGroup.d.ts.map +1 -1
  346. package/dist/molecules/forms/SearchInput.d.ts +1 -1
  347. package/dist/molecules/forms/SearchInput.d.ts.map +1 -1
  348. package/dist/molecules/forms/index.d.ts +2 -2
  349. package/dist/molecules/forms/index.d.ts.map +1 -1
  350. package/dist/molecules/index.d.ts +3 -3
  351. package/dist/molecules/layout/AppHeader/AppHeader.d.ts +1 -1
  352. package/dist/molecules/layout/AppHeader/AppHeader.d.ts.map +1 -1
  353. package/dist/molecules/layout/AppHeader/index.d.ts +1 -1
  354. package/dist/molecules/layout/BulkSelectionBar.d.ts +15 -0
  355. package/dist/molecules/layout/BulkSelectionBar.d.ts.map +1 -0
  356. package/dist/molecules/layout/DashboardWithSidePanel/DashboardWithSidePanel.d.ts +16 -0
  357. package/dist/molecules/layout/DashboardWithSidePanel/DashboardWithSidePanel.d.ts.map +1 -0
  358. package/dist/molecules/layout/DashboardWithSidePanel/index.d.ts +2 -0
  359. package/dist/molecules/layout/DashboardWithSidePanel/index.d.ts.map +1 -0
  360. package/dist/molecules/layout/NavigationContext.d.ts +9 -0
  361. package/dist/molecules/layout/NavigationContext.d.ts.map +1 -0
  362. package/dist/molecules/layout/PageTemplate.d.ts +1 -1
  363. package/dist/molecules/layout/PageTemplate.d.ts.map +1 -1
  364. package/dist/molecules/layout/SectionHeader/SectionHeader.d.ts +4 -4
  365. package/dist/molecules/layout/SectionHeader/SectionHeader.d.ts.map +1 -1
  366. package/dist/molecules/layout/SectionHeader/index.d.ts +1 -1
  367. package/dist/molecules/layout/ShowcaseSection.d.ts +4 -4
  368. package/dist/molecules/layout/ShowcaseSection.d.ts.map +1 -1
  369. package/dist/molecules/layout/Sidebar.d.ts.map +1 -1
  370. package/dist/molecules/layout/SidebarButton/SidebarButton.d.ts +3 -1
  371. package/dist/molecules/layout/SidebarButton/SidebarButton.d.ts.map +1 -1
  372. package/dist/molecules/layout/SidebarButton/index.d.ts +1 -1
  373. package/dist/molecules/layout/SidebarContext.d.ts +1 -8
  374. package/dist/molecules/layout/SidebarContext.d.ts.map +1 -1
  375. package/dist/molecules/layout/index.d.ts +14 -7
  376. package/dist/molecules/layout/index.d.ts.map +1 -1
  377. package/dist/molecules/layout/navigation-context.d.ts +9 -0
  378. package/dist/molecules/layout/navigation-context.d.ts.map +1 -0
  379. package/dist/molecules/layout/sidebar-context.d.ts +7 -0
  380. package/dist/molecules/layout/sidebar-context.d.ts.map +1 -0
  381. package/dist/molecules/layout/use-navigation.d.ts +2 -0
  382. package/dist/molecules/layout/use-navigation.d.ts.map +1 -0
  383. package/dist/molecules/layout/use-sidebar.d.ts +2 -0
  384. package/dist/molecules/layout/use-sidebar.d.ts.map +1 -0
  385. package/dist/molecules/navigation/NavMenu.d.ts +2 -2
  386. package/dist/molecules/navigation/NavMenu.d.ts.map +1 -1
  387. package/dist/molecules/navigation/Pagination.d.ts +2 -2
  388. package/dist/molecules/navigation/index.d.ts +2 -2
  389. package/dist/organisms/index.d.ts +1 -1
  390. package/dist/organisms/showcase/ComponentShowcasePage.d.ts +1 -1
  391. package/dist/organisms/showcase/ComponentShowcasePage.d.ts.map +1 -1
  392. package/dist/templates/AuthTemplate.d.ts +4 -4
  393. package/dist/templates/AuthTemplate.d.ts.map +1 -1
  394. package/dist/templates/ComponentShowcaseTemplate.d.ts +7 -7
  395. package/dist/templates/ComponentShowcaseTemplate.d.ts.map +1 -1
  396. package/dist/templates/DashboardTemplate.d.ts +3 -3
  397. package/dist/templates/DashboardTemplate.d.ts.map +1 -1
  398. package/dist/templates/DataTemplate.d.ts +3 -3
  399. package/dist/templates/DataTemplate.d.ts.map +1 -1
  400. package/dist/templates/EnhancedDataTemplate.d.ts +188 -0
  401. package/dist/templates/EnhancedDataTemplate.d.ts.map +1 -0
  402. package/dist/templates/EnhancedDataTemplate.hooks.bulk.d.ts +18 -0
  403. package/dist/templates/EnhancedDataTemplate.hooks.bulk.d.ts.map +1 -0
  404. package/dist/templates/EnhancedDataTemplate.hooks.d.ts +22 -0
  405. package/dist/templates/EnhancedDataTemplate.hooks.d.ts.map +1 -0
  406. package/dist/templates/admin/AdminCRUDTemplate.d.ts +4 -4
  407. package/dist/templates/admin/AdminCRUDTemplate.d.ts.map +1 -1
  408. package/dist/templates/admin/AdminDashboardTemplate.d.ts +10 -13
  409. package/dist/templates/admin/AdminDashboardTemplate.d.ts.map +1 -1
  410. package/dist/templates/admin/AdminDetailTemplate.d.ts +4 -4
  411. package/dist/templates/admin/AdminDetailTemplate.d.ts.map +1 -1
  412. package/dist/templates/admin/index.d.ts +3 -3
  413. package/dist/templates/admin/index.d.ts.map +1 -1
  414. package/dist/templates/api/APIDataTemplate.d.ts +71 -0
  415. package/dist/templates/api/APIDataTemplate.d.ts.map +1 -0
  416. package/dist/templates/api/create-api-data-template.d.ts +4 -0
  417. package/dist/templates/api/create-api-data-template.d.ts.map +1 -0
  418. package/dist/templates/api/index.d.ts +9 -0
  419. package/dist/templates/api/index.d.ts.map +1 -0
  420. package/dist/templates/factory.d.ts +4 -3
  421. package/dist/templates/factory.d.ts.map +1 -1
  422. package/dist/templates/index.d.ts +8 -6
  423. package/dist/templates/index.d.ts.map +1 -1
  424. package/package.json +38 -9
  425. package/dist/atoms/composed/Accordion/Accordion.d.ts.map +0 -1
  426. package/dist/atoms/composed/Accordion/index.d.ts +0 -2
  427. package/dist/atoms/composed/Accordion/index.d.ts.map +0 -1
  428. package/dist/atoms/composed/Alert/Alert.d.ts.map +0 -1
  429. package/dist/atoms/composed/Alert/index.d.ts +0 -2
  430. package/dist/atoms/composed/Alert/index.d.ts.map +0 -1
  431. package/dist/atoms/composed/Breadcrumb/Breadcrumb.d.ts.map +0 -1
  432. package/dist/atoms/composed/Breadcrumb/index.d.ts +0 -2
  433. package/dist/atoms/composed/Breadcrumb/index.d.ts.map +0 -1
  434. package/dist/atoms/composed/Chart/Chart.d.ts +0 -37
  435. package/dist/atoms/composed/Chart/Chart.d.ts.map +0 -1
  436. package/dist/atoms/composed/Chart/index.d.ts +0 -3
  437. package/dist/atoms/composed/Chart/index.d.ts.map +0 -1
  438. package/dist/atoms/composed/ColorSwatch/ColorSwatch.d.ts.map +0 -1
  439. package/dist/atoms/composed/ColorSwatch/index.d.ts +0 -2
  440. package/dist/atoms/composed/ColorSwatch/index.d.ts.map +0 -1
  441. package/dist/atoms/composed/DarkModeToggle.d.ts.map +0 -1
  442. package/dist/atoms/composed/DataBadge/DataBadge.d.ts +0 -13
  443. package/dist/atoms/composed/DataBadge/DataBadge.d.ts.map +0 -1
  444. package/dist/atoms/composed/DataBadge/index.d.ts +0 -2
  445. package/dist/atoms/composed/DataBadge/index.d.ts.map +0 -1
  446. package/dist/atoms/composed/DataTable/DataTable.d.ts +0 -28
  447. package/dist/atoms/composed/DataTable/DataTable.d.ts.map +0 -1
  448. package/dist/atoms/composed/DataTable/TableCellWithTooltip.d.ts.map +0 -1
  449. package/dist/atoms/composed/DataTable/index.d.ts +0 -3
  450. package/dist/atoms/composed/DataTable/index.d.ts.map +0 -1
  451. package/dist/atoms/composed/DateTimePicker/DateTimePicker.d.ts.map +0 -1
  452. package/dist/atoms/composed/DateTimePicker/index.d.ts +0 -3
  453. package/dist/atoms/composed/DateTimePicker/index.d.ts.map +0 -1
  454. package/dist/atoms/composed/DetailedCard/DetailedCard.d.ts.map +0 -1
  455. package/dist/atoms/composed/DetailedCard/index.d.ts +0 -3
  456. package/dist/atoms/composed/DetailedCard/index.d.ts.map +0 -1
  457. package/dist/atoms/composed/EmptyState/EmptyState.d.ts.map +0 -1
  458. package/dist/atoms/composed/EmptyState/index.d.ts +0 -2
  459. package/dist/atoms/composed/EmptyState/index.d.ts.map +0 -1
  460. package/dist/atoms/composed/FileUpload/FileUpload.d.ts.map +0 -1
  461. package/dist/atoms/composed/FileUpload/index.d.ts +0 -3
  462. package/dist/atoms/composed/FileUpload/index.d.ts.map +0 -1
  463. package/dist/atoms/composed/FormField/FormField.d.ts.map +0 -1
  464. package/dist/atoms/composed/FormField/index.d.ts +0 -2
  465. package/dist/atoms/composed/FormField/index.d.ts.map +0 -1
  466. package/dist/atoms/composed/GlobalSearch/GlobalSearch.d.ts.map +0 -1
  467. package/dist/atoms/composed/GlobalSearch/index.d.ts +0 -2
  468. package/dist/atoms/composed/GlobalSearch/index.d.ts.map +0 -1
  469. package/dist/atoms/composed/IconBadge/IconBadge.d.ts +0 -16
  470. package/dist/atoms/composed/IconBadge/IconBadge.d.ts.map +0 -1
  471. package/dist/atoms/composed/IconBadge/index.d.ts +0 -3
  472. package/dist/atoms/composed/IconBadge/index.d.ts.map +0 -1
  473. package/dist/atoms/composed/Modal/Modal.d.ts +0 -18
  474. package/dist/atoms/composed/Modal/Modal.d.ts.map +0 -1
  475. package/dist/atoms/composed/Modal/index.d.ts +0 -3
  476. package/dist/atoms/composed/Modal/index.d.ts.map +0 -1
  477. package/dist/atoms/composed/PaletteSwitcher.d.ts.map +0 -1
  478. package/dist/atoms/composed/ProgressBar/ProgressBar.d.ts.map +0 -1
  479. package/dist/atoms/composed/ProgressBar/index.d.ts +0 -2
  480. package/dist/atoms/composed/ProgressBar/index.d.ts.map +0 -1
  481. package/dist/atoms/composed/StatCard/StatCard.d.ts.map +0 -1
  482. package/dist/atoms/composed/StatCard/index.d.ts +0 -2
  483. package/dist/atoms/composed/StatCard/index.d.ts.map +0 -1
  484. package/dist/atoms/composed/StyleGuide.d.ts +0 -3
  485. package/dist/atoms/composed/StyleGuide.d.ts.map +0 -1
  486. package/dist/atoms/composed/Toast/Toast.d.ts.map +0 -1
  487. package/dist/atoms/composed/Toast/index.d.ts.map +0 -1
  488. package/dist/atoms/composed/Tooltip/Tooltip.d.ts.map +0 -1
  489. package/dist/atoms/composed/Tooltip/index.d.ts +0 -2
  490. package/dist/atoms/composed/Tooltip/index.d.ts.map +0 -1
  491. package/dist/atoms/composed/UserAvatar/UserAvatar.d.ts.map +0 -1
  492. package/dist/atoms/composed/UserAvatar/index.d.ts +0 -2
  493. package/dist/atoms/composed/UserAvatar/index.d.ts.map +0 -1
  494. package/dist/atoms/composed/UserMenu/UserMenu.d.ts.map +0 -1
  495. package/dist/atoms/composed/UserMenu/index.d.ts +0 -2
  496. package/dist/atoms/composed/UserMenu/index.d.ts.map +0 -1
  497. package/dist/atoms/composed/index.d.ts +0 -25
  498. package/dist/atoms/composed/index.d.ts.map +0 -1
  499. package/dist/atoms/ui/Badge.d.ts +0 -10
  500. package/dist/atoms/ui/Badge.d.ts.map +0 -1
  501. package/dist/atoms/ui/ErrorBoundary.d.ts.map +0 -1
  502. package/dist/atoms/ui/Select.d.ts +0 -28
  503. package/dist/atoms/ui/Select.d.ts.map +0 -1
  504. package/dist/atoms/ui/Switch.d.ts +0 -9
  505. package/dist/atoms/ui/Switch.d.ts.map +0 -1
  506. package/dist/atoms/ui/Tabs.d.ts +0 -30
  507. package/dist/atoms/ui/Tabs.d.ts.map +0 -1
  508. package/dist/atoms/ui/avatar.d.ts.map +0 -1
  509. package/dist/atoms/ui/button.d.ts +0 -14
  510. package/dist/atoms/ui/button.d.ts.map +0 -1
  511. package/dist/atoms/ui/card.d.ts.map +0 -1
  512. package/dist/atoms/ui/dropdown-menu.d.ts.map +0 -1
  513. package/dist/atoms/ui/index.d.ts +0 -15
  514. package/dist/atoms/ui/index.d.ts.map +0 -1
  515. package/dist/atoms/ui/input.d.ts.map +0 -1
  516. package/dist/atoms/ui/label.d.ts.map +0 -1
  517. package/dist/atoms/ui/skeleton.d.ts.map +0 -1
  518. package/dist/atoms/ui/spinner.d.ts.map +0 -1
  519. package/dist/atoms/ui/table.d.ts.map +0 -1
  520. package/src/App.css +0 -42
  521. package/src/App.tsx +0 -54
  522. package/src/__tests__/README.md +0 -221
  523. package/src/__tests__/atoms/hooks/simple-hooks.test.ts +0 -44
  524. package/src/__tests__/atoms/ui/button.test.tsx +0 -68
  525. package/src/__tests__/atoms/utils/simple.test.ts +0 -18
  526. package/src/__tests__/atoms/utils/utils.test.ts +0 -77
  527. package/src/__tests__/features/auth/simple-auth.test.tsx +0 -40
  528. package/src/__tests__/molecules/layout/simple-layout.test.tsx +0 -81
  529. package/src/__tests__/organisms/showcase/simple-showcase.test.tsx +0 -167
  530. package/src/__tests__/setup.ts +0 -51
  531. package/src/__tests__/utils.tsx +0 -123
  532. package/src/atoms/composed/Accordion/Accordion.tsx +0 -271
  533. package/src/atoms/composed/Accordion/index.ts +0 -1
  534. package/src/atoms/composed/Alert/Alert.tsx +0 -132
  535. package/src/atoms/composed/Alert/index.ts +0 -1
  536. package/src/atoms/composed/Breadcrumb/Breadcrumb.tsx +0 -83
  537. package/src/atoms/composed/Breadcrumb/index.ts +0 -1
  538. package/src/atoms/composed/Chart/Chart.tsx +0 -425
  539. package/src/atoms/composed/Chart/index.ts +0 -2
  540. package/src/atoms/composed/ColorSwatch/ColorSwatch.tsx +0 -72
  541. package/src/atoms/composed/ColorSwatch/index.ts +0 -1
  542. package/src/atoms/composed/DarkModeToggle.tsx +0 -66
  543. package/src/atoms/composed/DataBadge/DataBadge.tsx +0 -81
  544. package/src/atoms/composed/DataBadge/index.ts +0 -1
  545. package/src/atoms/composed/DataTable/DataTable.tsx +0 -394
  546. package/src/atoms/composed/DataTable/TableCellWithTooltip.tsx +0 -41
  547. package/src/atoms/composed/DataTable/index.ts +0 -2
  548. package/src/atoms/composed/DateTimePicker/DateTimePicker.tsx +0 -611
  549. package/src/atoms/composed/DateTimePicker/index.ts +0 -2
  550. package/src/atoms/composed/DetailedCard/DetailedCard.tsx +0 -181
  551. package/src/atoms/composed/DetailedCard/index.ts +0 -2
  552. package/src/atoms/composed/EmptyState/EmptyState.tsx +0 -90
  553. package/src/atoms/composed/EmptyState/index.ts +0 -1
  554. package/src/atoms/composed/FileUpload/FileUpload.tsx +0 -477
  555. package/src/atoms/composed/FileUpload/index.ts +0 -2
  556. package/src/atoms/composed/FormField/FormField.tsx +0 -92
  557. package/src/atoms/composed/FormField/index.ts +0 -1
  558. package/src/atoms/composed/GlobalSearch/GlobalSearch.tsx +0 -37
  559. package/src/atoms/composed/GlobalSearch/index.ts +0 -1
  560. package/src/atoms/composed/IconBadge/IconBadge.tsx +0 -95
  561. package/src/atoms/composed/IconBadge/index.ts +0 -2
  562. package/src/atoms/composed/Modal/Modal.tsx +0 -223
  563. package/src/atoms/composed/Modal/index.ts +0 -2
  564. package/src/atoms/composed/PaletteSwitcher.tsx +0 -386
  565. package/src/atoms/composed/ProgressBar/ProgressBar.tsx +0 -116
  566. package/src/atoms/composed/ProgressBar/index.ts +0 -1
  567. package/src/atoms/composed/StatCard/StatCard.tsx +0 -219
  568. package/src/atoms/composed/StatCard/index.ts +0 -1
  569. package/src/atoms/composed/StyleGuide.tsx +0 -717
  570. package/src/atoms/composed/Toast/Toast.tsx +0 -219
  571. package/src/atoms/composed/Toast/index.ts +0 -1
  572. package/src/atoms/composed/Tooltip/Tooltip.tsx +0 -213
  573. package/src/atoms/composed/Tooltip/index.ts +0 -1
  574. package/src/atoms/composed/UserAvatar/UserAvatar.tsx +0 -139
  575. package/src/atoms/composed/UserAvatar/index.ts +0 -1
  576. package/src/atoms/composed/UserMenu/UserMenu.tsx +0 -16
  577. package/src/atoms/composed/UserMenu/index.ts +0 -1
  578. package/src/atoms/composed/index.ts +0 -29
  579. package/src/atoms/hooks/useApi.ts +0 -80
  580. package/src/atoms/hooks/useHealth.ts +0 -17
  581. package/src/atoms/index.ts +0 -13
  582. package/src/atoms/services/api/client.ts +0 -134
  583. package/src/atoms/services/auth-service.ts +0 -248
  584. package/src/atoms/services/health.ts +0 -15
  585. package/src/atoms/services/index.ts +0 -3
  586. package/src/atoms/shared/config/constants.ts +0 -17
  587. package/src/atoms/shared/config/dashboard-sizes.ts +0 -111
  588. package/src/atoms/shared/config/environment.ts +0 -10
  589. package/src/atoms/shared/index.ts +0 -4
  590. package/src/atoms/shared/styles/color-palettes.css +0 -566
  591. package/src/atoms/types/auth.ts +0 -62
  592. package/src/atoms/types/generated.ts +0 -1469
  593. package/src/atoms/types/index.ts +0 -4
  594. package/src/atoms/types/loading.ts +0 -28
  595. package/src/atoms/ui/Badge.tsx +0 -30
  596. package/src/atoms/ui/ErrorBoundary.tsx +0 -59
  597. package/src/atoms/ui/Select.tsx +0 -53
  598. package/src/atoms/ui/Switch.tsx +0 -42
  599. package/src/atoms/ui/Tabs.tsx +0 -118
  600. package/src/atoms/ui/avatar.tsx +0 -48
  601. package/src/atoms/ui/button.tsx +0 -70
  602. package/src/atoms/ui/card.tsx +0 -76
  603. package/src/atoms/ui/dropdown-menu.tsx +0 -199
  604. package/src/atoms/ui/index.ts +0 -39
  605. package/src/atoms/ui/input.tsx +0 -23
  606. package/src/atoms/ui/label.tsx +0 -23
  607. package/src/atoms/ui/skeleton.tsx +0 -13
  608. package/src/atoms/ui/spinner.tsx +0 -49
  609. package/src/atoms/ui/table.tsx +0 -116
  610. package/src/atoms/utils/animations.ts +0 -135
  611. package/src/atoms/utils/tooltip-helpers.ts +0 -140
  612. package/src/atoms/utils/utils.ts +0 -9
  613. package/src/features/auth/components/LoginForm.tsx +0 -168
  614. package/src/features/auth/components/LogoutButton.tsx +0 -19
  615. package/src/features/auth/components/ProtectedRoute.tsx +0 -60
  616. package/src/features/auth/components/index.ts +0 -4
  617. package/src/features/auth/hooks/index.ts +0 -2
  618. package/src/features/auth/hooks/useAuth.tsx +0 -205
  619. package/src/features/auth/hooks/usePermissions.ts +0 -35
  620. package/src/features/auth/index.ts +0 -2
  621. package/src/features/index.ts +0 -2
  622. package/src/index.css +0 -704
  623. package/src/index.ts +0 -13
  624. package/src/main.tsx +0 -48
  625. package/src/molecules/.gitkeep +0 -0
  626. package/src/molecules/forms/FormGroup.tsx +0 -75
  627. package/src/molecules/forms/SearchInput.tsx +0 -259
  628. package/src/molecules/forms/index.ts +0 -4
  629. package/src/molecules/index.ts +0 -4
  630. package/src/molecules/layout/AppHeader/AppHeader.tsx +0 -42
  631. package/src/molecules/layout/AppHeader/index.ts +0 -1
  632. package/src/molecules/layout/AppLayout.tsx +0 -29
  633. package/src/molecules/layout/PageTemplate.tsx +0 -87
  634. package/src/molecules/layout/SectionHeader/SectionHeader.tsx +0 -87
  635. package/src/molecules/layout/SectionHeader/index.ts +0 -1
  636. package/src/molecules/layout/ShowcaseSection.tsx +0 -57
  637. package/src/molecules/layout/Sidebar.tsx +0 -144
  638. package/src/molecules/layout/SidebarButton/SidebarButton.tsx +0 -99
  639. package/src/molecules/layout/SidebarButton/index.ts +0 -1
  640. package/src/molecules/layout/SidebarContext.tsx +0 -31
  641. package/src/molecules/layout/index.ts +0 -7
  642. package/src/molecules/navigation/NavMenu.tsx +0 -188
  643. package/src/molecules/navigation/Pagination.tsx +0 -172
  644. package/src/molecules/navigation/index.ts +0 -4
  645. package/src/organisms/index.ts +0 -5
  646. package/src/organisms/showcase/ComponentShowcasePage.tsx +0 -2496
  647. package/src/organisms/showcase/index.ts +0 -1
  648. package/src/pages/AdminShowcase/AdminCRUDShowcase.tsx +0 -242
  649. package/src/pages/AdminShowcase/AdminDashboardShowcase.tsx +0 -171
  650. package/src/pages/AdminShowcase/AdminDetailShowcase.tsx +0 -385
  651. package/src/pages/AdminShowcase/index.tsx +0 -3
  652. package/src/pages/ComponentShowcase/BadgesShowcase.tsx +0 -188
  653. package/src/pages/ComponentShowcase/CardsShowcase.tsx +0 -392
  654. package/src/pages/ComponentShowcase/PalettesShowcase.tsx +0 -207
  655. package/src/pages/ComponentShowcase/StatesShowcase.tsx +0 -485
  656. package/src/pages/ComponentShowcase/TablesShowcase.tsx +0 -134
  657. package/src/pages/ComponentShowcase/TypographyShowcase.tsx +0 -255
  658. package/src/pages/ComponentShowcase/index.tsx +0 -188
  659. package/src/pages/index.ts +0 -2
  660. package/src/templates/AuthTemplate.tsx +0 -216
  661. package/src/templates/ComponentShowcaseTemplate.tsx +0 -173
  662. package/src/templates/DashboardTemplate.tsx +0 -232
  663. package/src/templates/DataTemplate.tsx +0 -319
  664. package/src/templates/admin/AdminCRUDTemplate.tsx +0 -630
  665. package/src/templates/admin/AdminDashboardTemplate.tsx +0 -351
  666. package/src/templates/admin/AdminDetailTemplate.tsx +0 -563
  667. package/src/templates/admin/index.ts +0 -29
  668. package/src/templates/factory.tsx +0 -169
  669. package/src/templates/index.ts +0 -37
  670. package/src/vite-env.d.ts +0 -1
  671. /package/dist/atoms/{composed → components/theme}/DarkModeToggle.d.ts +0 -0
  672. /package/dist/atoms/{ui → primitives}/avatar.d.ts +0 -0
  673. /package/dist/atoms/{ui → primitives}/dropdown-menu.d.ts +0 -0
  674. /package/dist/atoms/{ui → primitives}/input.d.ts +0 -0
  675. /package/dist/atoms/{ui → primitives}/skeleton.d.ts +0 -0
  676. /package/dist/atoms/{ui → primitives}/table.d.ts +0 -0
@@ -1,717 +0,0 @@
1
- import React from 'react';
2
- import { Card } from '../ui/card';
3
- import { DataTable, type Column } from './DataTable/DataTable';
4
- import { StatCard } from './StatCard/StatCard';
5
- import { DataBadge } from './DataBadge/DataBadge';
6
- import { EmptyState } from './EmptyState/EmptyState';
7
- import { cn } from '../utils/utils';
8
- import { Users, DollarSign, ShoppingCart, TrendingUp } from 'lucide-react';
9
-
10
- export const StyleGuide: React.FC = () => {
11
- return (
12
- <div className="p-8 space-y-8 max-w-6xl mx-auto">
13
- <div>
14
- <h1 className="text-3xl font-bold mb-2">Data Interface Style Guide</h1>
15
- <p className="text-muted-foreground">Comprehensive design system for data applications</p>
16
- </div>
17
-
18
- {/* Color System */}
19
- <section>
20
- <h2 className="text-2xl font-semibold mb-4">Color System</h2>
21
- <p className="text-muted-foreground mb-8">
22
- Our comprehensive color palette designed for data visualization and interface design.
23
- </p>
24
-
25
- {/* Category Colors */}
26
- <div className="mb-8">
27
- <h3 className="text-lg font-medium mb-3">Data Categories (8 colors)</h3>
28
- <p className="text-sm text-muted-foreground mb-4">
29
- Distinct, accessible colors for data categorization and visualization.
30
- </p>
31
- <div className="grid grid-cols-4 gap-4">
32
- {[
33
- { num: 1, color: 'hsl(220 70% 50%)', name: 'Blue' },
34
- { num: 2, color: 'hsl(160 60% 45%)', name: 'Teal' },
35
- { num: 3, color: 'hsl(30 80% 55%)', name: 'Orange' },
36
- { num: 4, color: 'hsl(280 65% 60%)', name: 'Purple' },
37
- { num: 5, color: 'hsl(340 75% 55%)', name: 'Pink' },
38
- { num: 6, color: 'hsl(120 50% 45%)', name: 'Green' },
39
- { num: 7, color: 'hsl(45 85% 60%)', name: 'Yellow' },
40
- { num: 8, color: 'hsl(15 75% 50%)', name: 'Red' },
41
- ].map(({ num, color }) => (
42
- <div key={num} className="space-y-2">
43
- <div
44
- className="h-16 rounded flex items-center justify-center text-white font-semibold"
45
- style={{ backgroundColor: color }}
46
- >
47
- Category {num}
48
- </div>
49
- <div
50
- className="px-3 py-1 rounded text-sm"
51
- style={{
52
- backgroundColor: color.replace(')', ' / 0.1)'),
53
- color: color,
54
- border: `1px solid ${color.replace(')', ' / 0.2)')}`
55
- }}
56
- >
57
- Badge {num}
58
- </div>
59
- <div className="text-xs text-center font-mono">bg-category-{num}</div>
60
- </div>
61
- ))}
62
- </div>
63
- </div>
64
-
65
- {/* Status Colors */}
66
- <div className="mb-8">
67
- <h3 className="text-lg font-medium mb-3">Status Colors</h3>
68
- <p className="text-sm text-muted-foreground mb-4">
69
- Semantic colors for communicating state and feedback.
70
- </p>
71
- <div className="grid grid-cols-5 gap-4">
72
- {[
73
- { status: 'success', color: 'hsl(142 76% 36%)' },
74
- { status: 'warning', color: 'hsl(45 93% 47%)' },
75
- { status: 'error', color: 'hsl(0 84% 60%)' },
76
- { status: 'info', color: 'hsl(217 91% 60%)' },
77
- { status: 'neutral', color: 'hsl(215 16% 47%)' },
78
- ].map(({ status, color }) => (
79
- <div key={status} className="space-y-2">
80
- <div
81
- className="h-16 rounded flex items-center justify-center text-white font-semibold capitalize"
82
- style={{ backgroundColor: color }}
83
- >
84
- {status}
85
- </div>
86
- <div
87
- className="px-3 py-1 rounded-pill text-sm capitalize"
88
- style={{
89
- backgroundColor: color.replace(')', ' / 0.1)'),
90
- color: color,
91
- border: `1px solid ${color.replace(')', ' / 0.2)')}`
92
- }}
93
- >
94
- {status}
95
- </div>
96
- <div className="text-xs text-center font-mono">bg-status-{status}</div>
97
- </div>
98
- ))}
99
- </div>
100
- </div>
101
-
102
- {/* Standard Gray Scale */}
103
- <div className="mb-8">
104
- <h3 className="text-lg font-medium mb-3">Standard Gray Scale</h3>
105
- <p className="text-sm text-muted-foreground mb-4">
106
- Tailwind-compatible gray scale (50-950) for consistent neutral colors.
107
- </p>
108
- <div className="grid grid-cols-6 gap-2">
109
- {[
110
- { shade: 50, color: 'hsl(210 20% 98%)' },
111
- { shade: 100, color: 'hsl(214 15% 91%)' },
112
- { shade: 200, color: 'hsl(213 27% 84%)' },
113
- { shade: 300, color: 'hsl(215 25% 77%)' },
114
- { shade: 400, color: 'hsl(215 20% 65%)' },
115
- { shade: 500, color: 'hsl(215 16% 47%)' },
116
- { shade: 600, color: 'hsl(215 19% 35%)' },
117
- { shade: 700, color: 'hsl(215 25% 27%)' },
118
- { shade: 800, color: 'hsl(217 33% 17%)' },
119
- { shade: 900, color: 'hsl(222 47% 11%)' },
120
- { shade: 950, color: 'hsl(224 71% 4%)' },
121
- ].map(({ shade, color }) => (
122
- <div key={shade} className="space-y-1">
123
- <div
124
- className="h-12 rounded border flex items-center justify-center text-xs font-mono"
125
- style={{
126
- backgroundColor: color,
127
- color: shade >= 500 ? 'white' : 'black',
128
- borderColor: 'hsl(214.3 31.8% 91.4%)'
129
- }}
130
- >
131
- {shade}
132
- </div>
133
- <div className="text-xs text-center font-mono">gray-{shade}</div>
134
- </div>
135
- ))}
136
- </div>
137
- </div>
138
-
139
- {/* Additional Semantic Colors */}
140
- <div className="mb-8">
141
- <h3 className="text-lg font-medium mb-3">Additional Semantic Colors</h3>
142
- <p className="text-sm text-muted-foreground mb-4">
143
- Extended semantic palette for specific use cases and contexts.
144
- </p>
145
- <div className="grid grid-cols-5 gap-4">
146
- {[
147
- { name: 'danger', color: 'hsl(0 84% 60%)' },
148
- { name: 'positive', color: 'hsl(142 76% 36%)' },
149
- { name: 'negative', color: 'hsl(0 84% 60%)' },
150
- { name: 'pending', color: 'hsl(45 93% 47%)' },
151
- { name: 'disabled', color: 'hsl(215 16% 47%)' },
152
- ].map(({ name, color }) => (
153
- <div key={name} className="space-y-2">
154
- <div
155
- className="h-16 rounded flex items-center justify-center text-white font-semibold capitalize"
156
- style={{ backgroundColor: color }}
157
- >
158
- {name}
159
- </div>
160
- <div className="text-xs text-center font-mono">bg-{name}</div>
161
- </div>
162
- ))}
163
- </div>
164
- </div>
165
-
166
- {/* Interactive State Colors */}
167
- <div className="mb-8">
168
- <h3 className="text-lg font-medium mb-3">Interactive State Colors</h3>
169
- <p className="text-sm text-muted-foreground mb-4">
170
- Hover, active, and disabled states for interactive elements.
171
- </p>
172
- <div className="grid grid-cols-3 gap-4">
173
- {[
174
- { name: 'Primary States', states: [
175
- { label: 'Default', color: 'hsl(222.2 47.4% 11.2%)', textColor: 'hsl(210 40% 98%)' },
176
- { label: 'Hover', color: 'hsl(222.2 47.4% 15%)', textColor: 'white' },
177
- { label: 'Active', color: 'hsl(222.2 47.4% 8%)', textColor: 'white' },
178
- ]},
179
- { name: 'Secondary States', states: [
180
- { label: 'Default', color: 'hsl(210 40% 96%)', textColor: 'hsl(222.2 84% 4.9%)' },
181
- { label: 'Hover', color: 'hsl(210 40% 92%)', textColor: 'hsl(222.2 84% 4.9%)' },
182
- { label: 'Active', color: 'hsl(210 40% 88%)', textColor: 'hsl(222.2 84% 4.9%)' },
183
- ]},
184
- { name: 'Destructive States', states: [
185
- { label: 'Default', color: 'hsl(0 84.2% 60.2%)', textColor: 'hsl(210 40% 98%)' },
186
- { label: 'Hover', color: 'hsl(0 84.2% 65%)', textColor: 'white' },
187
- { label: 'Active', color: 'hsl(0 84.2% 55%)', textColor: 'white' },
188
- ]},
189
- ].map(({ name, states }) => (
190
- <div key={name} className="space-y-3">
191
- <h4 className="text-sm font-medium">{name}</h4>
192
- <div className="space-y-2">
193
- {states.map(({ label, color, textColor }) => (
194
- <div key={label} className="space-y-1">
195
- <div
196
- className="h-12 rounded flex items-center justify-center text-sm font-medium"
197
- style={{ backgroundColor: color, color: textColor }}
198
- >
199
- {label}
200
- </div>
201
- <div className="text-xs text-center font-mono">bg-{name.toLowerCase().split(' ')[0]}-{label.toLowerCase()}</div>
202
- </div>
203
- ))}
204
- </div>
205
- </div>
206
- ))}
207
- </div>
208
- </div>
209
-
210
- {/* Extended Gray Scale */}
211
- <div className="mb-8">
212
- <h3 className="text-lg font-medium mb-3">Extended Gray Scale (Custom)</h3>
213
- <p className="text-sm text-muted-foreground mb-4">
214
- Custom gray values (25-925) for fine-grained neutral color control.
215
- </p>
216
- <div className="grid grid-cols-6 gap-2">
217
- {[
218
- { shade: 25, color: 'hsl(210 20% 98%)' },
219
- { shade: 75, color: 'hsl(214 15% 91%)' },
220
- { shade: 150, color: 'hsl(213 27% 84%)' },
221
- { shade: 250, color: 'hsl(215 25% 77%)' },
222
- { shade: 350, color: 'hsl(215 20% 65%)' },
223
- { shade: 450, color: 'hsl(215 16% 47%)' },
224
- { shade: 550, color: 'hsl(215 19% 35%)' },
225
- { shade: 650, color: 'hsl(215 25% 27%)' },
226
- { shade: 750, color: 'hsl(217 33% 17%)' },
227
- { shade: 850, color: 'hsl(222 47% 11%)' },
228
- { shade: 925, color: 'hsl(224 71% 4%)' },
229
- ].map(({ shade, color }) => (
230
- <div key={shade} className="space-y-1">
231
- <div
232
- className="h-12 rounded border flex items-center justify-center text-xs font-mono"
233
- style={{
234
- backgroundColor: color,
235
- color: shade >= 450 ? 'white' : 'black',
236
- borderColor: 'hsl(214.3 31.8% 91.4%)'
237
- }}
238
- >
239
- {shade}
240
- </div>
241
- <div className="text-xs text-center font-mono">gray-{shade}</div>
242
- </div>
243
- ))}
244
- </div>
245
- </div>
246
- </section>
247
-
248
- {/* Radius System */}
249
- <section>
250
- <h2 className="text-2xl font-semibold mb-4">Border Radius System</h2>
251
- <div className="space-y-6">
252
- {/* Regular Border Radius */}
253
- <div>
254
- <h3 className="text-lg font-medium mb-3">Standard Border Radius</h3>
255
- <div className="grid grid-cols-4 gap-4">
256
- {[
257
- { name: 'xs', class: 'rounded-xs', description: '2px' },
258
- { name: 'sm', class: 'rounded-sm', description: '4px' },
259
- { name: 'default', class: 'rounded', description: '8px' },
260
- { name: 'md', class: 'rounded-md', description: '10px' },
261
- { name: 'lg', class: 'rounded-lg', description: '12px' },
262
- { name: 'xl', class: 'rounded-xl', description: '16px' },
263
- { name: '2xl', class: 'rounded-2xl', description: '20px' },
264
- { name: '3xl', class: 'rounded-3xl', description: '24px' },
265
- ].map((radius) => (
266
- <div key={radius.name} className="text-center">
267
- <div
268
- className={cn("h-16 w-full mb-2 flex items-center justify-center text-white font-medium", radius.class)}
269
- style={{ backgroundColor: 'hsl(220 70% 50%)' }}
270
- >
271
- {radius.name}
272
- </div>
273
- <div className="text-sm font-mono">{radius.class}</div>
274
- <div className="text-xs text-muted-foreground">{radius.description}</div>
275
- </div>
276
- ))}
277
- </div>
278
- </div>
279
-
280
- {/* Pill Shapes */}
281
- <div>
282
- <h3 className="text-lg font-medium mb-3">Pill Shapes (Fully Rounded)</h3>
283
- <div className="space-y-3">
284
- <div className="flex items-center gap-4">
285
- <div
286
- className="px-6 py-3 rounded-pill text-white font-medium"
287
- style={{ backgroundColor: 'hsl(220 70% 50%)' }}
288
- >
289
- Button Pill
290
- </div>
291
- <div className="text-sm font-mono">rounded-pill</div>
292
- <div className="text-sm text-muted-foreground">Perfect for buttons and badges</div>
293
- </div>
294
- <div className="flex items-center gap-4">
295
- <div
296
- className="px-4 py-2 rounded-pill text-sm"
297
- style={{
298
- backgroundColor: 'hsl(220 70% 50% / 0.1)',
299
- color: 'hsl(220 70% 50%)',
300
- border: '1px solid hsl(220 70% 50% / 0.2)'
301
- }}
302
- >
303
- Badge Pill
304
- </div>
305
- <div className="text-sm font-mono">rounded-pill</div>
306
- <div className="text-sm text-muted-foreground">Great for status indicators</div>
307
- </div>
308
- <div className="flex items-center gap-4">
309
- <div
310
- className="w-8 h-8 rounded-pill flex items-center justify-center text-white font-medium"
311
- style={{ backgroundColor: 'hsl(220 70% 50%)' }}
312
- >
313
- A
314
- </div>
315
- <div className="text-sm font-mono">rounded-pill</div>
316
- <div className="text-sm text-muted-foreground">Avatar or icon containers</div>
317
- </div>
318
- </div>
319
- </div>
320
- </div>
321
- </section>
322
-
323
- {/* Spacing System */}
324
- <section>
325
- <h2 className="text-2xl font-semibold mb-4">Spacing System</h2>
326
- <div className="space-y-4">
327
- <div>
328
- <h3 className="text-lg font-medium mb-3">Card Layouts</h3>
329
- <div className="space-y-4">
330
-
331
- {/* Standard Card */}
332
- <Card className="card-container">
333
- <h4 className="text-data-label">Standard Card</h4>
334
- <p className="text-data-value">Uses var(--card-padding) for consistent spacing</p>
335
- <p className="text-data-meta">Perfect for primary content containers</p>
336
- </Card>
337
-
338
- {/* Nested Card */}
339
- <Card className="card-container">
340
- <h4 className="text-data-label">Parent Card</h4>
341
- <p className="text-data-value mb-4">Contains nested elements with proper spacing</p>
342
-
343
- <div className="card-nested">
344
- <h5 className="text-data-label">Nested Card</h5>
345
- <p className="text-data-value">Automatically offset by var(--nested-offset)</p>
346
- <p className="text-data-meta">Edges align perfectly with parent</p>
347
- </div>
348
- </Card>
349
-
350
- {/* Flush Cards */}
351
- <Card className="card-container">
352
- <h4 className="text-data-label mb-4">List with Flush Cards</h4>
353
- {['Item 1', 'Item 2', 'Item 3'].map((item, i) => (
354
- <div key={i} className="card-flush border">
355
- <div className="text-data-value">{item}</div>
356
- <div className="text-data-meta">Flush cards for seamless lists</div>
357
- </div>
358
- ))}
359
- </Card>
360
- </div>
361
- </div>
362
-
363
- <div>
364
- <h3 className="text-lg font-medium mb-3">Edge Alignment</h3>
365
- <Card className="card-container">
366
- <h4 className="text-data-label">Edge Alignment Demo</h4>
367
- <div className="edge-align-both bg-muted p-4 rounded text-center">
368
- <div className="text-data-value">Edge Aligned Content</div>
369
- <div className="text-data-meta">Extends to card edges using edge-align-both</div>
370
- </div>
371
- </Card>
372
- </div>
373
- </div>
374
- </section>
375
-
376
- {/* Typography */}
377
- <section>
378
- <h2 className="text-2xl font-semibold mb-4">Typography System</h2>
379
- <p className="text-muted-foreground mb-8">
380
- Specialized typography classes designed for data interfaces and information hierarchy.
381
- </p>
382
-
383
- <div className="space-y-6">
384
- {/* Data Typography Hierarchy */}
385
- <Card className="card-container">
386
- <h3 className="text-lg font-medium mb-4">Data Typography Hierarchy</h3>
387
- <div className="space-y-4">
388
- <div>
389
- <div className="text-data-label">Label Text</div>
390
- <div className="text-data-value">Primary Value</div>
391
- <div className="text-data-meta">Supporting metadata information</div>
392
- </div>
393
- <div className="text-sm text-muted-foreground">
394
- Perfect for displaying data relationships with clear visual hierarchy.
395
- </div>
396
- </div>
397
- </Card>
398
-
399
- {/* Typography Scale */}
400
- <Card className="card-container">
401
- <h3 className="text-lg font-medium mb-4">Data Typography Scale</h3>
402
-
403
- <div className="grid grid-cols-3 gap-4">
404
- <div>
405
- <div className="text-data-xs mb-1">Data XS</div>
406
- <div className="text-xs font-mono bg-muted p-2 rounded">text-data-xs</div>
407
- <div className="text-xs text-muted-foreground mt-1">12px • For fine details</div>
408
- </div>
409
- <div>
410
- <div className="text-data-sm mb-1">Data SM</div>
411
- <div className="text-xs font-mono bg-muted p-2 rounded">text-data-sm</div>
412
- <div className="text-xs text-muted-foreground mt-1">14px • Metadata</div>
413
- </div>
414
- <div>
415
- <div className="text-data-base mb-1">Data Base</div>
416
- <div className="text-xs font-mono bg-muted p-2 rounded">text-data-base</div>
417
- <div className="text-xs text-muted-foreground mt-1">16px • Body text</div>
418
- </div>
419
- <div>
420
- <div className="text-data-lg mb-1">Data LG</div>
421
- <div className="text-xs font-mono bg-muted p-2 rounded">text-data-lg</div>
422
- <div className="text-xs text-muted-foreground mt-1">18px • Emphasis</div>
423
- </div>
424
- <div>
425
- <div className="text-data-xl mb-1">Data XL</div>
426
- <div className="text-xs font-mono bg-muted p-2 rounded">text-data-xl</div>
427
- <div className="text-xs text-muted-foreground mt-1">20px • Headings</div>
428
- </div>
429
- </div>
430
- </Card>
431
- </div>
432
- </section>
433
-
434
- {/* Stat Cards */}
435
- <section>
436
- <h2 className="text-2xl font-semibold mb-4">Stat Cards</h2>
437
- <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
438
- <StatCard
439
- title="Total Users"
440
- value="1,234"
441
- subtitle="Active accounts"
442
- trend={{ value: 12.5, label: "vs last month" }}
443
- category={1}
444
- icon={<Users className="w-5 h-5" />}
445
- onClick={() => console.log('Navigate to users')}
446
- />
447
- <StatCard
448
- title="Revenue"
449
- value="$45,231"
450
- subtitle="Monthly recurring"
451
- trend={{ value: -3.2, label: "vs last month" }}
452
- category={2}
453
- icon={<DollarSign className="w-5 h-5" />}
454
- />
455
- <StatCard
456
- title="Orders"
457
- value="89"
458
- subtitle="This week"
459
- trend={{ value: 0, label: "vs last week" }}
460
- category={3}
461
- icon={<ShoppingCart className="w-5 h-5" />}
462
- />
463
- <StatCard
464
- title="Growth Rate"
465
- value="23.1%"
466
- subtitle="Year over year"
467
- trend={{ value: 8.7, label: "vs last year" }}
468
- category={4}
469
- icon={<TrendingUp className="w-5 h-5" />}
470
- />
471
- </div>
472
- </section>
473
-
474
- {/* Data Badges */}
475
- <section>
476
- <h2 className="text-2xl font-semibold mb-4">Data Badges</h2>
477
- <Card className="card-container space-y-6">
478
- <div>
479
- <h3 className="text-lg font-medium mb-3">Category Badges</h3>
480
- <div className="flex flex-wrap gap-2">
481
- <DataBadge variant="category" category={1}>User</DataBadge>
482
- <DataBadge variant="category" category={2}>Admin</DataBadge>
483
- <DataBadge variant="category" category={3}>Manager</DataBadge>
484
- <DataBadge variant="category" category={4}>Guest</DataBadge>
485
- <DataBadge variant="category" category={5}>VIP</DataBadge>
486
- </div>
487
- </div>
488
-
489
- <div>
490
- <h3 className="text-lg font-medium mb-3">Status Badges</h3>
491
- <div className="flex flex-wrap gap-2">
492
- <DataBadge variant="status" status="success">Active</DataBadge>
493
- <DataBadge variant="status" status="warning">Pending</DataBadge>
494
- <DataBadge variant="status" status="error">Inactive</DataBadge>
495
- <DataBadge variant="status" status="info">Processing</DataBadge>
496
- <DataBadge variant="status" status="neutral">Unknown</DataBadge>
497
- </div>
498
- </div>
499
-
500
- <div>
501
- <h3 className="text-lg font-medium mb-3">Interactive Badges</h3>
502
- <div className="flex flex-wrap gap-2">
503
- <DataBadge variant="category" category={1} interactive onClick={() => alert('Category clicked!')}>
504
- Clickable
505
- </DataBadge>
506
- <DataBadge variant="status" status="success" size="lg" interactive>
507
- Large Badge
508
- </DataBadge>
509
- <DataBadge variant="category" category={3} size="sm">
510
- Small Badge
511
- </DataBadge>
512
- </div>
513
- </div>
514
- </Card>
515
- </section>
516
-
517
- {/* Empty States */}
518
- <section>
519
- <h2 className="text-2xl font-semibold mb-4">Empty States</h2>
520
- <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
521
- <Card className="card-container">
522
- <EmptyState
523
- variant="no-data"
524
- title="No users found"
525
- description="Get started by inviting your first team member to the workspace."
526
- action={{
527
- label: "Invite User",
528
- onClick: () => console.log('Invite user')
529
- }}
530
- secondaryAction={{
531
- label: "Learn More",
532
- onClick: () => console.log('Learn more')
533
- }}
534
- />
535
- </Card>
536
-
537
- <Card className="card-container">
538
- <EmptyState
539
- variant="no-results"
540
- title="No search results"
541
- description="Try adjusting your search terms or clearing the current filters."
542
- action={{
543
- label: "Clear Filters",
544
- onClick: () => console.log('Clear filters')
545
- }}
546
- />
547
- </Card>
548
- </div>
549
- </section>
550
-
551
- {/* Data Table Component */}
552
- <section>
553
- <h2 className="text-2xl font-semibold mb-4">Data Table Component</h2>
554
- <Card className="card-container">
555
- <DataTableExample />
556
- </Card>
557
- </section>
558
-
559
- {/* Usage Examples */}
560
- <section>
561
- <h2 className="text-2xl font-semibold mb-4">Real-World Examples</h2>
562
- <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
563
-
564
- {/* Data Table Card */}
565
- <Card className="card-container">
566
- <div className="text-data-label">User Analytics</div>
567
- <div className="space-y-3 mt-4">
568
- {[
569
- { label: 'Active Users', value: '1,234', status: 'success', category: 1, categoryClass: 'bg-category-1', statusClass: 'status-success' },
570
- { label: 'New Signups', value: '89', status: 'info', category: 2, categoryClass: 'bg-category-2', statusClass: 'status-info' },
571
- { label: 'Churn Rate', value: '2.3%', status: 'warning', category: 3, categoryClass: 'bg-category-3', statusClass: 'status-warning' },
572
- ].map((item, i) => (
573
- <div key={i} className="flex items-center justify-between p-3 bg-muted/30 rounded">
574
- <div className="flex items-center gap-3">
575
- <div className={cn("w-3 h-3 rounded-full", item.categoryClass)}></div>
576
- <div className="text-data-value">{item.label}</div>
577
- </div>
578
- <div className="flex items-center gap-2">
579
- <div className="text-data-value">{item.value}</div>
580
- <div className={cn("px-2 py-1 rounded-pill text-xs", item.statusClass)}>
581
- {item.status}
582
- </div>
583
- </div>
584
- </div>
585
- ))}
586
- </div>
587
- </Card>
588
-
589
- {/* Status Dashboard */}
590
- <Card className="card-container">
591
- <div className="text-data-label">System Status</div>
592
- <div className="grid grid-cols-2 gap-card-gap mt-4">
593
- {[
594
- { service: 'API', status: 'success', uptime: '99.9%', statusClass: 'status-success' },
595
- { service: 'Database', status: 'success', uptime: '99.8%', statusClass: 'status-success' },
596
- { service: 'Cache', status: 'warning', uptime: '98.2%', statusClass: 'status-warning' },
597
- { service: 'CDN', status: 'error', uptime: '97.1%', statusClass: 'status-error' },
598
- ].map((item, i) => (
599
- <div key={i} className="card-nested">
600
- <div className="text-data-label">{item.service}</div>
601
- <div className="text-data-value">{item.uptime}</div>
602
- <div className={cn("px-2 py-1 rounded-pill text-xs mt-2 inline-block", item.statusClass)}>
603
- {item.status}
604
- </div>
605
- </div>
606
- ))}
607
- </div>
608
- </Card>
609
- </div>
610
- </section>
611
- </div>
612
- );
613
- };
614
-
615
- // DataTable Example Component
616
- const DataTableExample = () => {
617
- // Sample data
618
- const sampleData = [
619
- { id: 1, name: 'John Doe', email: 'john@example.com', role: 'Admin', status: 'active', category: 1 },
620
- { id: 2, name: 'Jane Smith', email: 'jane@example.com', role: 'User', status: 'active', category: 2 },
621
- { id: 3, name: 'Bob Johnson', email: 'bob@example.com', role: 'Manager', status: 'inactive', category: 3 },
622
- { id: 4, name: 'Alice Brown', email: 'alice@example.com', role: 'User', status: 'pending', category: 4 },
623
- { id: 5, name: 'Charlie Wilson', email: 'charlie@example.com', role: 'Admin', status: 'active', category: 1 },
624
- { id: 6, name: 'Diana Evans', email: 'diana@example.com', role: 'Manager', status: 'active', category: 2 },
625
- { id: 7, name: 'Frank Miller', email: 'frank@example.com', role: 'User', status: 'inactive', category: 3 },
626
- { id: 8, name: 'Grace Lee', email: 'grace@example.com', role: 'Admin', status: 'active', category: 4 },
627
- { id: 9, name: 'Henry Taylor', email: 'henry@example.com', role: 'User', status: 'pending', category: 1 },
628
- { id: 10, name: 'Iris Clark', email: 'iris@example.com', role: 'Manager', status: 'active', category: 2 },
629
- { id: 11, name: 'Jack Davis', email: 'jack@example.com', role: 'User', status: 'active', category: 3 },
630
- { id: 12, name: 'Kate Moore', email: 'kate@example.com', role: 'Admin', status: 'inactive', category: 4 },
631
- ];
632
-
633
- // Column definitions
634
- const columns: Column<typeof sampleData[0]>[] = [
635
- {
636
- key: 'name',
637
- header: 'Name',
638
- sortable: true,
639
- filterable: true,
640
- },
641
- {
642
- key: 'email',
643
- header: 'Email',
644
- sortable: true,
645
- filterable: true,
646
- },
647
- {
648
- key: 'role',
649
- header: 'Role',
650
- sortable: true,
651
- filterable: true,
652
- cell: (item) => (
653
- <DataBadge variant="category" category={item.category as 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8}>
654
- {item.role}
655
- </DataBadge>
656
- ),
657
- },
658
- {
659
- key: 'status',
660
- header: 'Status',
661
- sortable: true,
662
- filterable: true,
663
- cell: (item) => {
664
- const statusType = {
665
- active: 'success',
666
- inactive: 'neutral',
667
- pending: 'warning',
668
- }[item.status] || 'neutral';
669
-
670
- return (
671
- <DataBadge variant="status" status={statusType as 'success' | 'warning' | 'error' | 'info' | 'neutral'}>
672
- {item.status}
673
- </DataBadge>
674
- );
675
- },
676
- },
677
- ];
678
-
679
- return (
680
- <div className="space-y-4">
681
- <div>
682
- <h3 className="text-lg font-medium mb-2">Advanced Data Table</h3>
683
- <p className="text-data-meta mb-4">
684
- Features: sorting, filtering, pagination, custom cell rendering
685
- </p>
686
- </div>
687
-
688
- <DataTable
689
- data={sampleData}
690
- columns={columns}
691
- pageSize={5}
692
- searchPlaceholder="Search users..."
693
- onRowClick={(item) => console.log('Clicked:', item)}
694
- />
695
-
696
- <div className="mt-6 p-4 bg-muted/30 rounded">
697
- <h4 className="text-data-label mb-2">Usage Example</h4>
698
- <pre className="text-xs overflow-x-auto">
699
- {`<DataTable
700
- data={users}
701
- columns={[
702
- { key: 'name', header: 'Name', sortable: true },
703
- { key: 'email', header: 'Email', sortable: true },
704
- {
705
- key: 'status',
706
- header: 'Status',
707
- cell: (item) => <StatusBadge status={item.status} />
708
- }
709
- ]}
710
- pageSize={10}
711
- onRowClick={(user) => navigate(\`/users/\${user.id}\`)}
712
- />`}
713
- </pre>
714
- </div>
715
- </div>
716
- );
717
- };