@pattern-stack/frontend-patterns 0.0.6 → 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 (647) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/LICENSE +19 -0
  3. package/cli/cli/commands/generate-hooks.js +291 -0
  4. package/cli/cli/commands/init.js +25 -0
  5. package/cli/cli/commands/scaffold.js +201 -0
  6. package/cli/cli/index.js +113 -0
  7. package/cli/commands/generate-hooks.js +288 -0
  8. package/cli/commands/generate-hooks.ts +316 -0
  9. package/cli/commands/init.js +22 -0
  10. package/cli/commands/init.ts +33 -0
  11. package/cli/commands/scaffold.js +198 -0
  12. package/cli/commands/scaffold.ts +224 -0
  13. package/cli/index.js +3210 -0
  14. package/cli/index.ts +122 -0
  15. package/cli/src/codegen/openapi/bulk-hook-generator.js +252 -0
  16. package/cli/src/codegen/openapi/bulk-types.js +89 -0
  17. package/cli/src/codegen/openapi/client-generator.js +672 -0
  18. package/cli/src/codegen/openapi/confidence-scorer.js +204 -0
  19. package/cli/src/codegen/openapi/hook-config.js +66 -0
  20. package/cli/src/codegen/openapi/hook-generator.js +1057 -0
  21. package/cli/src/codegen/openapi/parser.js +279 -0
  22. package/cli/src/codegen/openapi/type-generator.js +339 -0
  23. package/dist/atoms/components/core/Avatar/Avatar.d.ts +41 -0
  24. package/dist/atoms/components/core/Avatar/Avatar.d.ts.map +1 -0
  25. package/dist/atoms/components/core/Avatar/index.d.ts +2 -0
  26. package/dist/atoms/components/core/Avatar/index.d.ts.map +1 -0
  27. package/dist/atoms/components/core/Badge/Badge.d.ts +38 -0
  28. package/dist/atoms/components/core/Badge/Badge.d.ts.map +1 -0
  29. package/dist/atoms/components/core/Badge/index.d.ts +2 -0
  30. package/dist/atoms/components/core/Badge/index.d.ts.map +1 -0
  31. package/dist/atoms/components/core/Button/Button.d.ts +28 -0
  32. package/dist/atoms/components/core/Button/Button.d.ts.map +1 -0
  33. package/dist/atoms/components/core/Button/index.d.ts +3 -0
  34. package/dist/atoms/components/core/Button/index.d.ts.map +1 -0
  35. package/dist/atoms/components/core/Card/Card.d.ts +41 -0
  36. package/dist/atoms/components/core/Card/Card.d.ts.map +1 -0
  37. package/dist/atoms/components/core/Card/index.d.ts +3 -0
  38. package/dist/atoms/components/core/Card/index.d.ts.map +1 -0
  39. package/dist/atoms/components/core/Checkbox/Checkbox.d.ts +28 -0
  40. package/dist/atoms/components/core/Checkbox/Checkbox.d.ts.map +1 -0
  41. package/dist/atoms/components/core/Checkbox/index.d.ts +3 -0
  42. package/dist/atoms/components/core/Checkbox/index.d.ts.map +1 -0
  43. package/dist/atoms/components/core/Input/Input.d.ts +37 -0
  44. package/dist/atoms/components/core/Input/Input.d.ts.map +1 -0
  45. package/dist/atoms/components/core/Input/index.d.ts +3 -0
  46. package/dist/atoms/components/core/Input/index.d.ts.map +1 -0
  47. package/dist/atoms/components/core/Label/Label.d.ts +23 -0
  48. package/dist/atoms/components/core/Label/Label.d.ts.map +1 -0
  49. package/dist/atoms/components/core/Label/index.d.ts +3 -0
  50. package/dist/atoms/components/core/Label/index.d.ts.map +1 -0
  51. package/dist/atoms/components/core/Select/Select.d.ts +42 -0
  52. package/dist/atoms/components/core/Select/Select.d.ts.map +1 -0
  53. package/dist/atoms/components/core/Select/index.d.ts +3 -0
  54. package/dist/atoms/components/core/Select/index.d.ts.map +1 -0
  55. package/dist/atoms/components/core/Spinner/Spinner.d.ts +25 -0
  56. package/dist/atoms/components/core/Spinner/Spinner.d.ts.map +1 -0
  57. package/dist/atoms/components/core/Spinner/index.d.ts +3 -0
  58. package/dist/atoms/components/core/Spinner/index.d.ts.map +1 -0
  59. package/dist/atoms/components/core/Switch/Switch.d.ts +35 -0
  60. package/dist/atoms/components/core/Switch/Switch.d.ts.map +1 -0
  61. package/dist/atoms/components/core/Switch/index.d.ts +2 -0
  62. package/dist/atoms/components/core/Switch/index.d.ts.map +1 -0
  63. package/dist/atoms/components/core/index.d.ts +11 -0
  64. package/dist/atoms/components/core/index.d.ts.map +1 -0
  65. package/dist/atoms/components/data/ActivityFeed/ActivityFeed.d.ts +4 -0
  66. package/dist/atoms/components/data/ActivityFeed/ActivityFeed.d.ts.map +1 -0
  67. package/dist/atoms/components/data/ActivityFeed/ActivityFeed.stories.d.ts +38 -0
  68. package/dist/atoms/components/data/ActivityFeed/ActivityFeed.stories.d.ts.map +1 -0
  69. package/dist/atoms/components/data/ActivityFeed/ActivityFeedItem.d.ts +9 -0
  70. package/dist/atoms/components/data/ActivityFeed/ActivityFeedItem.d.ts.map +1 -0
  71. package/dist/atoms/components/data/ActivityFeed/index.d.ts +4 -0
  72. package/dist/atoms/components/data/ActivityFeed/index.d.ts.map +1 -0
  73. package/dist/atoms/components/data/ActivityFeed/types.d.ts +26 -0
  74. package/dist/atoms/components/data/ActivityFeed/types.d.ts.map +1 -0
  75. package/dist/atoms/components/data/ActivityFeed/utils.d.ts +5 -0
  76. package/dist/atoms/components/data/ActivityFeed/utils.d.ts.map +1 -0
  77. package/dist/atoms/{composed → components/data}/Chart/Chart.d.ts +2 -2
  78. package/dist/atoms/components/data/Chart/Chart.d.ts.map +1 -0
  79. package/dist/atoms/components/data/Chart/index.d.ts.map +1 -0
  80. package/dist/atoms/components/data/DataBadge/DataBadge.d.ts +18 -0
  81. package/dist/atoms/components/data/DataBadge/DataBadge.d.ts.map +1 -0
  82. package/dist/atoms/components/data/DataBadge/index.d.ts.map +1 -0
  83. package/dist/atoms/components/data/DataTable/DataTable.d.ts +5 -0
  84. package/dist/atoms/components/data/DataTable/DataTable.d.ts.map +1 -0
  85. package/dist/atoms/components/data/DataTable/DataTable.types.d.ts +51 -0
  86. package/dist/atoms/components/data/DataTable/DataTable.types.d.ts.map +1 -0
  87. package/dist/atoms/components/data/DataTable/TableCellWithTooltip.d.ts.map +1 -0
  88. package/dist/atoms/components/data/DataTable/index.d.ts.map +1 -0
  89. package/dist/atoms/components/data/DetailedCard/DetailedCard.d.ts.map +1 -0
  90. package/dist/atoms/components/data/DetailedCard/index.d.ts.map +1 -0
  91. package/dist/atoms/components/data/EntityIcon/EntityIcon.d.ts +24 -0
  92. package/dist/atoms/components/data/EntityIcon/EntityIcon.d.ts.map +1 -0
  93. package/dist/atoms/components/data/EntityIcon/index.d.ts +2 -0
  94. package/dist/atoms/components/data/EntityIcon/index.d.ts.map +1 -0
  95. package/dist/atoms/{composed → components/data}/IconBadge/IconBadge.d.ts +2 -1
  96. package/dist/atoms/components/data/IconBadge/IconBadge.d.ts.map +1 -0
  97. package/dist/atoms/components/data/IconBadge/index.d.ts.map +1 -0
  98. package/dist/atoms/components/data/ListCard/ListCard.d.ts +32 -0
  99. package/dist/atoms/components/data/ListCard/ListCard.d.ts.map +1 -0
  100. package/dist/atoms/components/data/ListCard/index.d.ts +2 -0
  101. package/dist/atoms/components/data/ListCard/index.d.ts.map +1 -0
  102. package/dist/atoms/components/data/ProgressBar/ProgressBar.d.ts.map +1 -0
  103. package/dist/atoms/components/data/ProgressBar/index.d.ts.map +1 -0
  104. package/dist/atoms/{composed → components/data}/StatCard/StatCard.d.ts +1 -1
  105. package/dist/atoms/components/data/StatCard/StatCard.d.ts.map +1 -0
  106. package/dist/atoms/components/data/StatCard/index.d.ts.map +1 -0
  107. package/dist/atoms/components/data/Table/Table.d.ts +41 -0
  108. package/dist/atoms/components/data/Table/Table.d.ts.map +1 -0
  109. package/dist/atoms/components/data/Table/index.d.ts +2 -0
  110. package/dist/atoms/components/data/Table/index.d.ts.map +1 -0
  111. package/dist/atoms/components/data/TruncatedText/TruncatedText.d.ts +26 -0
  112. package/dist/atoms/components/data/TruncatedText/TruncatedText.d.ts.map +1 -0
  113. package/dist/atoms/components/data/TruncatedText/index.d.ts +2 -0
  114. package/dist/atoms/components/data/TruncatedText/index.d.ts.map +1 -0
  115. package/dist/atoms/components/data/index.d.ts +13 -0
  116. package/dist/atoms/components/data/index.d.ts.map +1 -0
  117. package/dist/atoms/components/domain/SalesPanel/SalesPanel.d.ts.map +1 -0
  118. package/dist/atoms/components/domain/SalesPanel/index.d.ts.map +1 -0
  119. package/dist/atoms/components/domain/SalesPanel/mockSalesData.d.ts.map +1 -0
  120. package/dist/atoms/components/domain/index.d.ts +2 -0
  121. package/dist/atoms/components/domain/index.d.ts.map +1 -0
  122. package/dist/atoms/components/feedback/Alert/Alert.d.ts.map +1 -0
  123. package/dist/atoms/components/feedback/Alert/index.d.ts.map +1 -0
  124. package/dist/atoms/components/feedback/EmptyState/EmptyState.d.ts.map +1 -0
  125. package/dist/atoms/components/feedback/EmptyState/index.d.ts.map +1 -0
  126. package/dist/atoms/components/feedback/ErrorBoundary/ErrorBoundary.d.ts +61 -0
  127. package/dist/atoms/components/feedback/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
  128. package/dist/atoms/components/feedback/ErrorBoundary/index.d.ts +2 -0
  129. package/dist/atoms/components/feedback/ErrorBoundary/index.d.ts.map +1 -0
  130. package/dist/atoms/components/feedback/Skeleton/Skeleton.d.ts +41 -0
  131. package/dist/atoms/components/feedback/Skeleton/Skeleton.d.ts.map +1 -0
  132. package/dist/atoms/components/feedback/Skeleton/index.d.ts +2 -0
  133. package/dist/atoms/components/feedback/Skeleton/index.d.ts.map +1 -0
  134. package/dist/atoms/components/feedback/Toast/Toast.d.ts.map +1 -0
  135. package/dist/atoms/components/feedback/Toast/index.d.ts.map +1 -0
  136. package/dist/atoms/components/feedback/index.d.ts +6 -0
  137. package/dist/atoms/components/feedback/index.d.ts.map +1 -0
  138. package/dist/atoms/components/forms/DateTimePicker/DateTimePicker.d.ts.map +1 -0
  139. package/dist/atoms/components/forms/DateTimePicker/index.d.ts.map +1 -0
  140. package/dist/atoms/components/forms/FileUpload/FileUpload.d.ts.map +1 -0
  141. package/dist/atoms/components/forms/FileUpload/index.d.ts.map +1 -0
  142. package/dist/atoms/components/forms/FormField/FormField.d.ts.map +1 -0
  143. package/dist/atoms/components/forms/FormField/index.d.ts.map +1 -0
  144. package/dist/atoms/components/forms/index.d.ts +4 -0
  145. package/dist/atoms/components/forms/index.d.ts.map +1 -0
  146. package/dist/atoms/components/index.d.ts +10 -0
  147. package/dist/atoms/components/index.d.ts.map +1 -0
  148. package/dist/atoms/components/layout/Accordion/Accordion.d.ts.map +1 -0
  149. package/dist/atoms/components/layout/Accordion/index.d.ts.map +1 -0
  150. package/dist/atoms/components/layout/Breadcrumb/Breadcrumb.d.ts.map +1 -0
  151. package/dist/atoms/components/layout/Breadcrumb/index.d.ts.map +1 -0
  152. package/dist/atoms/components/layout/Dialog/index.d.ts +3 -0
  153. package/dist/atoms/components/layout/Dialog/index.d.ts.map +1 -0
  154. package/dist/atoms/components/layout/Dropdown/Dropdown.d.ts +40 -0
  155. package/dist/atoms/components/layout/Dropdown/Dropdown.d.ts.map +1 -0
  156. package/dist/atoms/components/layout/Dropdown/index.d.ts +3 -0
  157. package/dist/atoms/components/layout/Dropdown/index.d.ts.map +1 -0
  158. package/dist/atoms/components/layout/Modal/Modal.d.ts.map +1 -0
  159. package/dist/atoms/components/layout/Modal/index.d.ts.map +1 -0
  160. package/dist/atoms/components/layout/Tabs/index.d.ts +2 -0
  161. package/dist/atoms/components/layout/Tabs/index.d.ts.map +1 -0
  162. package/dist/atoms/components/layout/Tooltip/Tooltip.d.ts.map +1 -0
  163. package/dist/atoms/components/layout/Tooltip/index.d.ts +2 -0
  164. package/dist/atoms/components/layout/Tooltip/index.d.ts.map +1 -0
  165. package/dist/atoms/components/layout/index.d.ts +8 -0
  166. package/dist/atoms/components/layout/index.d.ts.map +1 -0
  167. package/dist/atoms/components/navigation/GlobalSearch/GlobalSearch.d.ts.map +1 -0
  168. package/dist/atoms/components/navigation/GlobalSearch/index.d.ts.map +1 -0
  169. package/dist/atoms/components/navigation/index.d.ts +2 -0
  170. package/dist/atoms/components/navigation/index.d.ts.map +1 -0
  171. package/dist/atoms/components/theme/ColorSwatch/ColorSwatch.d.ts.map +1 -0
  172. package/dist/atoms/components/theme/ColorSwatch/index.d.ts.map +1 -0
  173. package/dist/atoms/components/theme/DarkModeToggle.d.ts.map +1 -0
  174. package/dist/atoms/components/theme/PaletteSwitcher.d.ts.map +1 -0
  175. package/dist/atoms/components/theme/StyleGuide.d.ts.map +1 -0
  176. package/dist/atoms/components/theme/index.d.ts +5 -0
  177. package/dist/atoms/components/theme/index.d.ts.map +1 -0
  178. package/dist/atoms/components/user/UserAvatar/UserAvatar.d.ts.map +1 -0
  179. package/dist/atoms/components/user/UserAvatar/index.d.ts.map +1 -0
  180. package/dist/atoms/components/user/UserMenu/UserMenu.d.ts.map +1 -0
  181. package/dist/atoms/components/user/UserMenu/index.d.ts.map +1 -0
  182. package/dist/atoms/components/user/index.d.ts +3 -0
  183. package/dist/atoms/components/user/index.d.ts.map +1 -0
  184. package/dist/atoms/config/responsive.d.ts +147 -0
  185. package/dist/atoms/config/responsive.d.ts.map +1 -0
  186. package/dist/atoms/hooks/index.d.ts +5 -0
  187. package/dist/atoms/hooks/index.d.ts.map +1 -0
  188. package/dist/atoms/hooks/use-toast.d.ts +16 -0
  189. package/dist/atoms/hooks/use-toast.d.ts.map +1 -0
  190. package/dist/atoms/hooks/useResponsive.d.ts +42 -0
  191. package/dist/atoms/hooks/useResponsive.d.ts.map +1 -0
  192. package/dist/atoms/index.d.ts +4 -5
  193. package/dist/atoms/index.d.ts.map +1 -1
  194. package/dist/atoms/primitives/Badge.d.ts.map +1 -0
  195. package/dist/atoms/{ui → primitives}/ErrorBoundary.d.ts +1 -1
  196. package/dist/atoms/primitives/ErrorBoundary.d.ts.map +1 -0
  197. package/dist/atoms/primitives/Select.d.ts.map +1 -0
  198. package/dist/atoms/primitives/Switch.d.ts.map +1 -0
  199. package/dist/atoms/primitives/Tabs.d.ts.map +1 -0
  200. package/dist/atoms/primitives/avatar.d.ts.map +1 -0
  201. package/dist/atoms/{ui → primitives}/button.d.ts +2 -2
  202. package/dist/atoms/primitives/button.d.ts.map +1 -0
  203. package/dist/atoms/primitives/card.d.ts.map +1 -0
  204. package/dist/atoms/primitives/checkbox.d.ts +12 -0
  205. package/dist/atoms/primitives/checkbox.d.ts.map +1 -0
  206. package/dist/atoms/primitives/dialog.d.ts +34 -0
  207. package/dist/atoms/primitives/dialog.d.ts.map +1 -0
  208. package/dist/atoms/primitives/dropdown-menu.d.ts.map +1 -0
  209. package/dist/atoms/{ui → primitives}/index.d.ts +2 -0
  210. package/dist/atoms/primitives/index.d.ts.map +1 -0
  211. package/dist/atoms/primitives/input.d.ts.map +1 -0
  212. package/dist/atoms/primitives/label.d.ts.map +1 -0
  213. package/dist/atoms/primitives/skeleton.d.ts.map +1 -0
  214. package/dist/atoms/primitives/spinner.d.ts.map +1 -0
  215. package/dist/atoms/primitives/table.d.ts.map +1 -0
  216. package/dist/atoms/shared/index.d.ts +1 -0
  217. package/dist/atoms/shared/index.d.ts.map +1 -1
  218. package/dist/atoms/types/index.d.ts +1 -0
  219. package/dist/atoms/types/index.d.ts.map +1 -1
  220. package/dist/atoms/types/navigation.d.ts +1 -1
  221. package/dist/atoms/types/navigation.d.ts.map +1 -1
  222. package/dist/atoms/types/ui-config.d.ts +50 -0
  223. package/dist/atoms/types/ui-config.d.ts.map +1 -0
  224. package/dist/atoms/utils/color-manager.d.ts +68 -0
  225. package/dist/atoms/utils/color-manager.d.ts.map +1 -0
  226. package/dist/atoms/utils/debounce.d.ts +6 -0
  227. package/dist/atoms/utils/debounce.d.ts.map +1 -0
  228. package/dist/atoms/utils/field-detection.d.ts +15 -0
  229. package/dist/atoms/utils/field-detection.d.ts.map +1 -0
  230. package/dist/atoms/utils/icon-resolver.d.ts +5 -1
  231. package/dist/atoms/utils/icon-resolver.d.ts.map +1 -1
  232. package/dist/atoms/utils/index.d.ts +5 -0
  233. package/dist/atoms/utils/index.d.ts.map +1 -0
  234. package/dist/atoms/utils/ui-mapping.d.ts +17 -0
  235. package/dist/atoms/utils/ui-mapping.d.ts.map +1 -0
  236. package/dist/atoms/utils/utils.d.ts +3 -0
  237. package/dist/atoms/utils/utils.d.ts.map +1 -1
  238. package/dist/codegen/index.d.ts +7 -0
  239. package/dist/codegen/index.d.ts.map +1 -0
  240. package/dist/codegen/openapi/bulk-hook-generator.d.ts +40 -0
  241. package/dist/codegen/openapi/bulk-hook-generator.d.ts.map +1 -0
  242. package/dist/codegen/openapi/bulk-types.d.ts +142 -0
  243. package/dist/codegen/openapi/bulk-types.d.ts.map +1 -0
  244. package/dist/codegen/openapi/client-generator.d.ts +52 -0
  245. package/dist/codegen/openapi/client-generator.d.ts.map +1 -0
  246. package/dist/codegen/openapi/confidence-scorer.d.ts +30 -0
  247. package/dist/codegen/openapi/confidence-scorer.d.ts.map +1 -0
  248. package/dist/codegen/openapi/hook-config.d.ts +50 -0
  249. package/dist/codegen/openapi/hook-config.d.ts.map +1 -0
  250. package/dist/codegen/openapi/hook-generator.d.ts +108 -0
  251. package/dist/codegen/openapi/hook-generator.d.ts.map +1 -0
  252. package/dist/codegen/openapi/index.d.ts +27 -0
  253. package/dist/codegen/openapi/index.d.ts.map +1 -0
  254. package/dist/codegen/openapi/parser.d.ts +107 -0
  255. package/dist/codegen/openapi/parser.d.ts.map +1 -0
  256. package/dist/codegen/openapi/type-generator.d.ts +53 -0
  257. package/dist/codegen/openapi/type-generator.d.ts.map +1 -0
  258. package/dist/features/auth/components/LoginForm.d.ts.map +1 -1
  259. package/dist/features/auth/components/ProtectedRoute.d.ts +1 -1
  260. package/dist/features/auth/hooks/index.d.ts +1 -0
  261. package/dist/features/auth/hooks/index.d.ts.map +1 -1
  262. package/dist/features/auth/hooks/useAuthContext.d.ts +7 -0
  263. package/dist/features/auth/hooks/useAuthContext.d.ts.map +1 -0
  264. package/dist/features/auth/index.d.ts +1 -0
  265. package/dist/features/auth/index.d.ts.map +1 -1
  266. package/dist/features/auth/providers/MockAuthProvider.d.ts +9 -0
  267. package/dist/features/auth/providers/MockAuthProvider.d.ts.map +1 -0
  268. package/dist/features/auth/providers/index.d.ts +2 -0
  269. package/dist/features/auth/providers/index.d.ts.map +1 -0
  270. package/dist/features/auth/services/mock-auth-service.d.ts +17 -0
  271. package/dist/features/auth/services/mock-auth-service.d.ts.map +1 -0
  272. package/dist/frontend-patterns.css +4417 -1
  273. package/dist/generated/client/client.d.ts +23 -0
  274. package/dist/generated/client/client.d.ts.map +1 -0
  275. package/dist/generated/client/config.d.ts +10 -0
  276. package/dist/generated/client/config.d.ts.map +1 -0
  277. package/dist/generated/client/index.d.ts +12 -0
  278. package/dist/generated/client/index.d.ts.map +1 -0
  279. package/dist/generated/client/methods.d.ts +591 -0
  280. package/dist/generated/client/methods.d.ts.map +1 -0
  281. package/dist/generated/client/types.d.ts +37 -0
  282. package/dist/generated/client/types.d.ts.map +1 -0
  283. package/dist/generated/example.d.ts +8 -0
  284. package/dist/generated/example.d.ts.map +1 -0
  285. package/dist/generated/hooks/index.d.ts +11 -0
  286. package/dist/generated/hooks/index.d.ts.map +1 -0
  287. package/dist/generated/hooks/keys.d.ts +59 -0
  288. package/dist/generated/hooks/keys.d.ts.map +1 -0
  289. package/dist/generated/hooks/mutations.d.ts +551 -0
  290. package/dist/generated/hooks/mutations.d.ts.map +1 -0
  291. package/dist/generated/hooks/queries.d.ts +426 -0
  292. package/dist/generated/hooks/queries.d.ts.map +1 -0
  293. package/dist/generated/hooks/types.d.ts +318 -0
  294. package/dist/generated/hooks/types.d.ts.map +1 -0
  295. package/dist/generated/index.d.ts +13 -0
  296. package/dist/generated/index.d.ts.map +1 -0
  297. package/dist/generated/types/endpoints.d.ts +1364 -0
  298. package/dist/generated/types/endpoints.d.ts.map +1 -0
  299. package/dist/generated/types/index.d.ts +11 -0
  300. package/dist/generated/types/index.d.ts.map +1 -0
  301. package/dist/generated/types/parameters.d.ts +8 -0
  302. package/dist/generated/types/parameters.d.ts.map +1 -0
  303. package/dist/generated/types/responses.d.ts +8 -0
  304. package/dist/generated/types/responses.d.ts.map +1 -0
  305. package/dist/generated/types/schemas.d.ts +652 -0
  306. package/dist/generated/types/schemas.d.ts.map +1 -0
  307. package/dist/index.d.ts +8 -0
  308. package/dist/index.d.ts.map +1 -1
  309. package/dist/index.es.js +27049 -8420
  310. package/dist/index.es.js.map +1 -1
  311. package/dist/index.js +25314 -6664
  312. package/dist/index.js.map +1 -1
  313. package/dist/molecules/feedback/index.d.ts +2 -0
  314. package/dist/molecules/feedback/index.d.ts.map +1 -0
  315. package/dist/molecules/forms/SearchInput.d.ts.map +1 -1
  316. package/dist/molecules/layout/AppHeader/AppHeader.d.ts.map +1 -1
  317. package/dist/molecules/layout/BulkSelectionBar.d.ts +15 -0
  318. package/dist/molecules/layout/BulkSelectionBar.d.ts.map +1 -0
  319. package/dist/molecules/layout/NavigationContext.d.ts.map +1 -1
  320. package/dist/molecules/layout/index.d.ts +1 -0
  321. package/dist/molecules/layout/index.d.ts.map +1 -1
  322. package/dist/organisms/showcase/ComponentShowcasePage.d.ts.map +1 -1
  323. package/dist/templates/DataTemplate.d.ts +1 -1
  324. package/dist/templates/DataTemplate.d.ts.map +1 -1
  325. package/dist/templates/EnhancedDataTemplate.d.ts +188 -0
  326. package/dist/templates/EnhancedDataTemplate.d.ts.map +1 -0
  327. package/dist/templates/EnhancedDataTemplate.hooks.bulk.d.ts +18 -0
  328. package/dist/templates/EnhancedDataTemplate.hooks.bulk.d.ts.map +1 -0
  329. package/dist/templates/EnhancedDataTemplate.hooks.d.ts +22 -0
  330. package/dist/templates/EnhancedDataTemplate.hooks.d.ts.map +1 -0
  331. package/dist/templates/admin/AdminCRUDTemplate.d.ts.map +1 -1
  332. package/dist/templates/admin/AdminDashboardTemplate.d.ts +6 -9
  333. package/dist/templates/admin/AdminDashboardTemplate.d.ts.map +1 -1
  334. package/dist/templates/admin/AdminDetailTemplate.d.ts +1 -1
  335. package/dist/templates/admin/AdminDetailTemplate.d.ts.map +1 -1
  336. package/dist/templates/api/APIDataTemplate.d.ts +66 -0
  337. package/dist/templates/api/APIDataTemplate.d.ts.map +1 -0
  338. package/dist/templates/api/index.d.ts +8 -0
  339. package/dist/templates/api/index.d.ts.map +1 -0
  340. package/dist/templates/index.d.ts +2 -0
  341. package/dist/templates/index.d.ts.map +1 -1
  342. package/package.json +29 -8
  343. package/dist/atoms/composed/Accordion/Accordion.d.ts.map +0 -1
  344. package/dist/atoms/composed/Accordion/index.d.ts.map +0 -1
  345. package/dist/atoms/composed/Alert/Alert.d.ts.map +0 -1
  346. package/dist/atoms/composed/Alert/index.d.ts.map +0 -1
  347. package/dist/atoms/composed/Breadcrumb/Breadcrumb.d.ts.map +0 -1
  348. package/dist/atoms/composed/Breadcrumb/index.d.ts.map +0 -1
  349. package/dist/atoms/composed/Chart/Chart.d.ts.map +0 -1
  350. package/dist/atoms/composed/Chart/index.d.ts.map +0 -1
  351. package/dist/atoms/composed/ColorSwatch/ColorSwatch.d.ts.map +0 -1
  352. package/dist/atoms/composed/ColorSwatch/index.d.ts.map +0 -1
  353. package/dist/atoms/composed/DarkModeToggle.d.ts.map +0 -1
  354. package/dist/atoms/composed/DataBadge/DataBadge.d.ts +0 -13
  355. package/dist/atoms/composed/DataBadge/DataBadge.d.ts.map +0 -1
  356. package/dist/atoms/composed/DataBadge/index.d.ts.map +0 -1
  357. package/dist/atoms/composed/DataTable/DataTable.d.ts +0 -28
  358. package/dist/atoms/composed/DataTable/DataTable.d.ts.map +0 -1
  359. package/dist/atoms/composed/DataTable/TableCellWithTooltip.d.ts.map +0 -1
  360. package/dist/atoms/composed/DataTable/index.d.ts.map +0 -1
  361. package/dist/atoms/composed/DateTimePicker/DateTimePicker.d.ts.map +0 -1
  362. package/dist/atoms/composed/DateTimePicker/index.d.ts.map +0 -1
  363. package/dist/atoms/composed/DetailedCard/DetailedCard.d.ts.map +0 -1
  364. package/dist/atoms/composed/DetailedCard/index.d.ts.map +0 -1
  365. package/dist/atoms/composed/EmptyState/EmptyState.d.ts.map +0 -1
  366. package/dist/atoms/composed/EmptyState/index.d.ts.map +0 -1
  367. package/dist/atoms/composed/FileUpload/FileUpload.d.ts.map +0 -1
  368. package/dist/atoms/composed/FileUpload/index.d.ts.map +0 -1
  369. package/dist/atoms/composed/FormField/FormField.d.ts.map +0 -1
  370. package/dist/atoms/composed/FormField/index.d.ts.map +0 -1
  371. package/dist/atoms/composed/GlobalSearch/GlobalSearch.d.ts.map +0 -1
  372. package/dist/atoms/composed/GlobalSearch/index.d.ts.map +0 -1
  373. package/dist/atoms/composed/IconBadge/IconBadge.d.ts.map +0 -1
  374. package/dist/atoms/composed/IconBadge/index.d.ts.map +0 -1
  375. package/dist/atoms/composed/Modal/Modal.d.ts.map +0 -1
  376. package/dist/atoms/composed/Modal/index.d.ts.map +0 -1
  377. package/dist/atoms/composed/PaletteSwitcher.d.ts.map +0 -1
  378. package/dist/atoms/composed/ProgressBar/ProgressBar.d.ts.map +0 -1
  379. package/dist/atoms/composed/ProgressBar/index.d.ts.map +0 -1
  380. package/dist/atoms/composed/SalesPanel/SalesPanel.d.ts.map +0 -1
  381. package/dist/atoms/composed/SalesPanel/index.d.ts.map +0 -1
  382. package/dist/atoms/composed/SalesPanel/mockSalesData.d.ts.map +0 -1
  383. package/dist/atoms/composed/StatCard/StatCard.d.ts.map +0 -1
  384. package/dist/atoms/composed/StatCard/index.d.ts.map +0 -1
  385. package/dist/atoms/composed/StyleGuide.d.ts.map +0 -1
  386. package/dist/atoms/composed/Toast/Toast.d.ts.map +0 -1
  387. package/dist/atoms/composed/Toast/index.d.ts.map +0 -1
  388. package/dist/atoms/composed/Tooltip/Tooltip.d.ts.map +0 -1
  389. package/dist/atoms/composed/Tooltip/index.d.ts +0 -2
  390. package/dist/atoms/composed/Tooltip/index.d.ts.map +0 -1
  391. package/dist/atoms/composed/UserAvatar/UserAvatar.d.ts.map +0 -1
  392. package/dist/atoms/composed/UserAvatar/index.d.ts.map +0 -1
  393. package/dist/atoms/composed/UserMenu/UserMenu.d.ts.map +0 -1
  394. package/dist/atoms/composed/UserMenu/index.d.ts.map +0 -1
  395. package/dist/atoms/composed/index.d.ts +0 -26
  396. package/dist/atoms/composed/index.d.ts.map +0 -1
  397. package/dist/atoms/ui/Badge.d.ts.map +0 -1
  398. package/dist/atoms/ui/ErrorBoundary.d.ts.map +0 -1
  399. package/dist/atoms/ui/Select.d.ts.map +0 -1
  400. package/dist/atoms/ui/Switch.d.ts.map +0 -1
  401. package/dist/atoms/ui/Tabs.d.ts.map +0 -1
  402. package/dist/atoms/ui/avatar.d.ts.map +0 -1
  403. package/dist/atoms/ui/button.d.ts.map +0 -1
  404. package/dist/atoms/ui/card.d.ts.map +0 -1
  405. package/dist/atoms/ui/dropdown-menu.d.ts.map +0 -1
  406. package/dist/atoms/ui/index.d.ts.map +0 -1
  407. package/dist/atoms/ui/input.d.ts.map +0 -1
  408. package/dist/atoms/ui/label.d.ts.map +0 -1
  409. package/dist/atoms/ui/skeleton.d.ts.map +0 -1
  410. package/dist/atoms/ui/spinner.d.ts.map +0 -1
  411. package/dist/atoms/ui/table.d.ts.map +0 -1
  412. package/src/App.css +0 -42
  413. package/src/App.tsx +0 -64
  414. package/src/__tests__/README.md +0 -221
  415. package/src/__tests__/atoms/composed/databadge.test.tsx +0 -106
  416. package/src/__tests__/atoms/composed/statcard.test.tsx +0 -133
  417. package/src/__tests__/atoms/hooks/simple-hooks.test.ts +0 -44
  418. package/src/__tests__/atoms/ui/button.test.tsx +0 -68
  419. package/src/__tests__/atoms/utils/icon-resolver.test.tsx +0 -140
  420. package/src/__tests__/atoms/utils/simple.test.ts +0 -18
  421. package/src/__tests__/atoms/utils/utils.test.ts +0 -77
  422. package/src/__tests__/features/auth/simple-auth.test.tsx +0 -40
  423. package/src/__tests__/molecules/layout/simple-layout.test.tsx +0 -81
  424. package/src/__tests__/organisms/showcase/simple-showcase.test.tsx +0 -167
  425. package/src/__tests__/setup.ts +0 -51
  426. package/src/__tests__/utils.tsx +0 -123
  427. package/src/atoms/composed/Accordion/Accordion.tsx +0 -271
  428. package/src/atoms/composed/Accordion/index.ts +0 -1
  429. package/src/atoms/composed/Alert/Alert.tsx +0 -132
  430. package/src/atoms/composed/Alert/index.ts +0 -1
  431. package/src/atoms/composed/Breadcrumb/Breadcrumb.tsx +0 -83
  432. package/src/atoms/composed/Breadcrumb/index.ts +0 -1
  433. package/src/atoms/composed/Chart/Chart.tsx +0 -425
  434. package/src/atoms/composed/Chart/index.ts +0 -2
  435. package/src/atoms/composed/ColorSwatch/ColorSwatch.tsx +0 -72
  436. package/src/atoms/composed/ColorSwatch/index.ts +0 -1
  437. package/src/atoms/composed/DarkModeToggle.tsx +0 -66
  438. package/src/atoms/composed/DataBadge/DataBadge.tsx +0 -81
  439. package/src/atoms/composed/DataBadge/index.ts +0 -1
  440. package/src/atoms/composed/DataTable/DataTable.tsx +0 -394
  441. package/src/atoms/composed/DataTable/TableCellWithTooltip.tsx +0 -41
  442. package/src/atoms/composed/DataTable/index.ts +0 -2
  443. package/src/atoms/composed/DateTimePicker/DateTimePicker.tsx +0 -611
  444. package/src/atoms/composed/DateTimePicker/index.ts +0 -2
  445. package/src/atoms/composed/DetailedCard/DetailedCard.tsx +0 -181
  446. package/src/atoms/composed/DetailedCard/index.ts +0 -2
  447. package/src/atoms/composed/EmptyState/EmptyState.tsx +0 -90
  448. package/src/atoms/composed/EmptyState/index.ts +0 -1
  449. package/src/atoms/composed/FileUpload/FileUpload.tsx +0 -477
  450. package/src/atoms/composed/FileUpload/index.ts +0 -2
  451. package/src/atoms/composed/FormField/FormField.tsx +0 -92
  452. package/src/atoms/composed/FormField/index.ts +0 -1
  453. package/src/atoms/composed/GlobalSearch/GlobalSearch.tsx +0 -37
  454. package/src/atoms/composed/GlobalSearch/index.ts +0 -1
  455. package/src/atoms/composed/IconBadge/IconBadge.tsx +0 -95
  456. package/src/atoms/composed/IconBadge/index.ts +0 -2
  457. package/src/atoms/composed/Modal/Modal.tsx +0 -223
  458. package/src/atoms/composed/Modal/index.ts +0 -2
  459. package/src/atoms/composed/PaletteSwitcher.tsx +0 -386
  460. package/src/atoms/composed/ProgressBar/ProgressBar.tsx +0 -116
  461. package/src/atoms/composed/ProgressBar/index.ts +0 -1
  462. package/src/atoms/composed/SalesPanel/SalesPanel.tsx +0 -116
  463. package/src/atoms/composed/SalesPanel/index.ts +0 -1
  464. package/src/atoms/composed/SalesPanel/mockSalesData.ts +0 -151
  465. package/src/atoms/composed/StatCard/StatCard.tsx +0 -219
  466. package/src/atoms/composed/StatCard/index.ts +0 -1
  467. package/src/atoms/composed/StyleGuide.tsx +0 -717
  468. package/src/atoms/composed/Toast/Toast.tsx +0 -219
  469. package/src/atoms/composed/Toast/index.ts +0 -1
  470. package/src/atoms/composed/Tooltip/Tooltip.tsx +0 -213
  471. package/src/atoms/composed/Tooltip/index.ts +0 -1
  472. package/src/atoms/composed/UserAvatar/UserAvatar.tsx +0 -139
  473. package/src/atoms/composed/UserAvatar/index.ts +0 -1
  474. package/src/atoms/composed/UserMenu/UserMenu.tsx +0 -16
  475. package/src/atoms/composed/UserMenu/index.ts +0 -1
  476. package/src/atoms/composed/index.ts +0 -30
  477. package/src/atoms/hooks/useApi.ts +0 -80
  478. package/src/atoms/hooks/useHealth.ts +0 -17
  479. package/src/atoms/index.ts +0 -13
  480. package/src/atoms/services/api/client.ts +0 -134
  481. package/src/atoms/services/auth-service.ts +0 -248
  482. package/src/atoms/services/health.ts +0 -15
  483. package/src/atoms/services/index.ts +0 -3
  484. package/src/atoms/shared/config/constants.ts +0 -17
  485. package/src/atoms/shared/config/dashboard-sizes.ts +0 -111
  486. package/src/atoms/shared/config/environment.ts +0 -10
  487. package/src/atoms/shared/index.ts +0 -4
  488. package/src/atoms/shared/styles/color-palettes.css +0 -566
  489. package/src/atoms/types/auth.ts +0 -62
  490. package/src/atoms/types/entity-config.ts +0 -127
  491. package/src/atoms/types/generated.ts +0 -1469
  492. package/src/atoms/types/index.ts +0 -6
  493. package/src/atoms/types/loading.ts +0 -28
  494. package/src/atoms/types/navigation.ts +0 -43
  495. package/src/atoms/ui/Badge.tsx +0 -30
  496. package/src/atoms/ui/ErrorBoundary.tsx +0 -59
  497. package/src/atoms/ui/Select.tsx +0 -53
  498. package/src/atoms/ui/Switch.tsx +0 -42
  499. package/src/atoms/ui/Tabs.tsx +0 -118
  500. package/src/atoms/ui/avatar.tsx +0 -48
  501. package/src/atoms/ui/button.tsx +0 -70
  502. package/src/atoms/ui/card.tsx +0 -76
  503. package/src/atoms/ui/dropdown-menu.tsx +0 -199
  504. package/src/atoms/ui/index.ts +0 -39
  505. package/src/atoms/ui/input.tsx +0 -23
  506. package/src/atoms/ui/label.tsx +0 -23
  507. package/src/atoms/ui/skeleton.tsx +0 -13
  508. package/src/atoms/ui/spinner.tsx +0 -49
  509. package/src/atoms/ui/table.tsx +0 -116
  510. package/src/atoms/utils/animations.ts +0 -135
  511. package/src/atoms/utils/icon-resolver.tsx +0 -54
  512. package/src/atoms/utils/metric-engine.ts +0 -236
  513. package/src/atoms/utils/tooltip-helpers.ts +0 -140
  514. package/src/atoms/utils/utils.ts +0 -11
  515. package/src/features/auth/components/LoginForm.tsx +0 -168
  516. package/src/features/auth/components/LogoutButton.tsx +0 -19
  517. package/src/features/auth/components/ProtectedRoute.tsx +0 -60
  518. package/src/features/auth/components/index.ts +0 -4
  519. package/src/features/auth/hooks/index.ts +0 -2
  520. package/src/features/auth/hooks/useAuth.tsx +0 -205
  521. package/src/features/auth/hooks/usePermissions.ts +0 -35
  522. package/src/features/auth/index.ts +0 -2
  523. package/src/features/index.ts +0 -2
  524. package/src/index.css +0 -704
  525. package/src/index.ts +0 -13
  526. package/src/main.tsx +0 -48
  527. package/src/molecules/.gitkeep +0 -0
  528. package/src/molecules/forms/FormGroup.tsx +0 -75
  529. package/src/molecules/forms/SearchInput.tsx +0 -259
  530. package/src/molecules/forms/index.ts +0 -4
  531. package/src/molecules/index.ts +0 -4
  532. package/src/molecules/layout/AppHeader/AppHeader.tsx +0 -42
  533. package/src/molecules/layout/AppHeader/index.ts +0 -1
  534. package/src/molecules/layout/AppLayout.tsx +0 -29
  535. package/src/molecules/layout/DashboardWithSidePanel/DashboardWithSidePanel.tsx +0 -42
  536. package/src/molecules/layout/DashboardWithSidePanel/index.ts +0 -1
  537. package/src/molecules/layout/NavigationContext.tsx +0 -63
  538. package/src/molecules/layout/PageTemplate.tsx +0 -87
  539. package/src/molecules/layout/SectionHeader/SectionHeader.tsx +0 -87
  540. package/src/molecules/layout/SectionHeader/index.ts +0 -1
  541. package/src/molecules/layout/ShowcaseSection.tsx +0 -57
  542. package/src/molecules/layout/Sidebar.tsx +0 -131
  543. package/src/molecules/layout/SidebarButton/SidebarButton.tsx +0 -121
  544. package/src/molecules/layout/SidebarButton/index.ts +0 -1
  545. package/src/molecules/layout/SidebarContext.tsx +0 -31
  546. package/src/molecules/layout/index.ts +0 -10
  547. package/src/molecules/navigation/NavMenu.tsx +0 -188
  548. package/src/molecules/navigation/Pagination.tsx +0 -172
  549. package/src/molecules/navigation/index.ts +0 -4
  550. package/src/organisms/entity/CategoryBreakdownPanel.tsx +0 -427
  551. package/src/organisms/entity/EntityListPanel.tsx +0 -339
  552. package/src/organisms/entity/MetricsOverviewPanel.tsx +0 -236
  553. package/src/organisms/entity/TrendAnalysisPanel.tsx +0 -337
  554. package/src/organisms/entity/index.ts +0 -4
  555. package/src/organisms/index.ts +0 -9
  556. package/src/organisms/showcase/ComponentShowcasePage.tsx +0 -2496
  557. package/src/organisms/showcase/index.ts +0 -1
  558. package/src/pages/AdminShowcase/AdminCRUDShowcase.tsx +0 -242
  559. package/src/pages/AdminShowcase/AdminDashboardShowcase.tsx +0 -173
  560. package/src/pages/AdminShowcase/AdminDetailShowcase.tsx +0 -385
  561. package/src/pages/AdminShowcase/SalesPerformanceDashboard.tsx +0 -158
  562. package/src/pages/AdminShowcase/index.tsx +0 -4
  563. package/src/pages/ComponentShowcase/BadgesShowcase.tsx +0 -188
  564. package/src/pages/ComponentShowcase/CardsShowcase.tsx +0 -392
  565. package/src/pages/ComponentShowcase/PalettesShowcase.tsx +0 -207
  566. package/src/pages/ComponentShowcase/StatesShowcase.tsx +0 -485
  567. package/src/pages/ComponentShowcase/TablesShowcase.tsx +0 -134
  568. package/src/pages/ComponentShowcase/TypographyShowcase.tsx +0 -255
  569. package/src/pages/ComponentShowcase/index.tsx +0 -188
  570. package/src/pages/EntityShowcase/EntityManagementShowcase.tsx +0 -137
  571. package/src/pages/EntityShowcase/EntityPerformanceShowcase.tsx +0 -117
  572. package/src/pages/EntityShowcase/index.ts +0 -2
  573. package/src/pages/EntityTemplateExample.tsx +0 -229
  574. package/src/pages/TestEntityTemplate.tsx +0 -40
  575. package/src/pages/index.ts +0 -3
  576. package/src/templates/AuthTemplate.tsx +0 -216
  577. package/src/templates/ComponentShowcaseTemplate.tsx +0 -173
  578. package/src/templates/DashboardTemplate.tsx +0 -232
  579. package/src/templates/DataTemplate.tsx +0 -319
  580. package/src/templates/admin/AdminCRUDTemplate.tsx +0 -630
  581. package/src/templates/admin/AdminDashboardTemplate.tsx +0 -351
  582. package/src/templates/admin/AdminDetailTemplate.tsx +0 -563
  583. package/src/templates/admin/index.ts +0 -29
  584. package/src/templates/entity/EntityManagementTemplate.tsx +0 -430
  585. package/src/templates/entity/EntityPerformanceDashboardTemplate.tsx +0 -277
  586. package/src/templates/entity/configs/financial-config.ts +0 -141
  587. package/src/templates/entity/configs/index.ts +0 -1
  588. package/src/templates/entity/index.ts +0 -3
  589. package/src/templates/factory.tsx +0 -176
  590. package/src/templates/financial/FinancialDashboardTemplate.tsx +0 -326
  591. package/src/templates/index.ts +0 -41
  592. package/src/vite-env.d.ts +0 -1
  593. /package/dist/atoms/{composed → components/data}/Chart/index.d.ts +0 -0
  594. /package/dist/atoms/{composed → components/data}/DataBadge/index.d.ts +0 -0
  595. /package/dist/atoms/{composed → components/data}/DataTable/TableCellWithTooltip.d.ts +0 -0
  596. /package/dist/atoms/{composed → components/data}/DataTable/index.d.ts +0 -0
  597. /package/dist/atoms/{composed → components/data}/DetailedCard/DetailedCard.d.ts +0 -0
  598. /package/dist/atoms/{composed → components/data}/DetailedCard/index.d.ts +0 -0
  599. /package/dist/atoms/{composed → components/data}/IconBadge/index.d.ts +0 -0
  600. /package/dist/atoms/{composed → components/data}/ProgressBar/ProgressBar.d.ts +0 -0
  601. /package/dist/atoms/{composed → components/data}/ProgressBar/index.d.ts +0 -0
  602. /package/dist/atoms/{composed → components/data}/StatCard/index.d.ts +0 -0
  603. /package/dist/atoms/{composed → components/domain}/SalesPanel/SalesPanel.d.ts +0 -0
  604. /package/dist/atoms/{composed → components/domain}/SalesPanel/index.d.ts +0 -0
  605. /package/dist/atoms/{composed → components/domain}/SalesPanel/mockSalesData.d.ts +0 -0
  606. /package/dist/atoms/{composed → components/feedback}/Alert/Alert.d.ts +0 -0
  607. /package/dist/atoms/{composed → components/feedback}/Alert/index.d.ts +0 -0
  608. /package/dist/atoms/{composed → components/feedback}/EmptyState/EmptyState.d.ts +0 -0
  609. /package/dist/atoms/{composed → components/feedback}/EmptyState/index.d.ts +0 -0
  610. /package/dist/atoms/{composed → components/feedback}/Toast/Toast.d.ts +0 -0
  611. /package/dist/atoms/{composed → components/feedback}/Toast/index.d.ts +0 -0
  612. /package/dist/atoms/{composed → components/forms}/DateTimePicker/DateTimePicker.d.ts +0 -0
  613. /package/dist/atoms/{composed → components/forms}/DateTimePicker/index.d.ts +0 -0
  614. /package/dist/atoms/{composed → components/forms}/FileUpload/FileUpload.d.ts +0 -0
  615. /package/dist/atoms/{composed → components/forms}/FileUpload/index.d.ts +0 -0
  616. /package/dist/atoms/{composed → components/forms}/FormField/FormField.d.ts +0 -0
  617. /package/dist/atoms/{composed → components/forms}/FormField/index.d.ts +0 -0
  618. /package/dist/atoms/{composed → components/layout}/Accordion/Accordion.d.ts +0 -0
  619. /package/dist/atoms/{composed → components/layout}/Accordion/index.d.ts +0 -0
  620. /package/dist/atoms/{composed → components/layout}/Breadcrumb/Breadcrumb.d.ts +0 -0
  621. /package/dist/atoms/{composed → components/layout}/Breadcrumb/index.d.ts +0 -0
  622. /package/dist/atoms/{composed → components/layout}/Modal/Modal.d.ts +0 -0
  623. /package/dist/atoms/{composed → components/layout}/Modal/index.d.ts +0 -0
  624. /package/dist/atoms/{composed → components/layout}/Tooltip/Tooltip.d.ts +0 -0
  625. /package/dist/atoms/{composed → components/navigation}/GlobalSearch/GlobalSearch.d.ts +0 -0
  626. /package/dist/atoms/{composed → components/navigation}/GlobalSearch/index.d.ts +0 -0
  627. /package/dist/atoms/{composed → components/theme}/ColorSwatch/ColorSwatch.d.ts +0 -0
  628. /package/dist/atoms/{composed → components/theme}/ColorSwatch/index.d.ts +0 -0
  629. /package/dist/atoms/{composed → components/theme}/DarkModeToggle.d.ts +0 -0
  630. /package/dist/atoms/{composed → components/theme}/PaletteSwitcher.d.ts +0 -0
  631. /package/dist/atoms/{composed → components/theme}/StyleGuide.d.ts +0 -0
  632. /package/dist/atoms/{composed → components/user}/UserAvatar/UserAvatar.d.ts +0 -0
  633. /package/dist/atoms/{composed → components/user}/UserAvatar/index.d.ts +0 -0
  634. /package/dist/atoms/{composed → components/user}/UserMenu/UserMenu.d.ts +0 -0
  635. /package/dist/atoms/{composed → components/user}/UserMenu/index.d.ts +0 -0
  636. /package/dist/atoms/{ui → primitives}/Badge.d.ts +0 -0
  637. /package/dist/atoms/{ui → primitives}/Select.d.ts +0 -0
  638. /package/dist/atoms/{ui → primitives}/Switch.d.ts +0 -0
  639. /package/dist/atoms/{ui → primitives}/Tabs.d.ts +0 -0
  640. /package/dist/atoms/{ui → primitives}/avatar.d.ts +0 -0
  641. /package/dist/atoms/{ui → primitives}/card.d.ts +0 -0
  642. /package/dist/atoms/{ui → primitives}/dropdown-menu.d.ts +0 -0
  643. /package/dist/atoms/{ui → primitives}/input.d.ts +0 -0
  644. /package/dist/atoms/{ui → primitives}/label.d.ts +0 -0
  645. /package/dist/atoms/{ui → primitives}/skeleton.d.ts +0 -0
  646. /package/dist/atoms/{ui → primitives}/spinner.d.ts +0 -0
  647. /package/dist/atoms/{ui → primitives}/table.d.ts +0 -0
@@ -1,236 +0,0 @@
1
- import type { MetricConfig, MetricValue, EntityData, FormatConfig, TrendDataPoint } from '../types';
2
-
3
- export class MetricCalculationEngine {
4
- static calculateMetric(
5
- config: MetricConfig,
6
- data: EntityData[],
7
- previousData?: EntityData[]
8
- ): MetricValue {
9
- const currentValue = this.aggregateValue(config, data);
10
- const previousValue = previousData ? this.aggregateValue(config, previousData) : undefined;
11
-
12
- const trend = this.calculateTrend(currentValue, previousValue);
13
- const formattedValue = this.formatValue(currentValue, config.format, config.type);
14
-
15
- const target = typeof config.target === 'function'
16
- ? config.target(data)
17
- : config.target;
18
-
19
- return {
20
- current: currentValue,
21
- previous: previousValue,
22
- trend,
23
- target,
24
- formattedValue
25
- };
26
- }
27
-
28
- private static aggregateValue(config: MetricConfig, data: EntityData[]): number {
29
- if (!data.length) return 0;
30
-
31
- const values = data
32
- .map(item => {
33
- const value = this.extractValue(item, config.key);
34
- return typeof value === 'number' ? value : 0;
35
- })
36
- .filter(value => !isNaN(value));
37
-
38
- if (!values.length) return 0;
39
-
40
- switch (config.aggregation || 'sum') {
41
- case 'sum':
42
- return values.reduce((sum, value) => sum + value, 0);
43
- case 'avg':
44
- return values.reduce((sum, value) => sum + value, 0) / values.length;
45
- case 'count':
46
- return values.length;
47
- case 'min':
48
- return Math.min(...values);
49
- case 'max':
50
- return Math.max(...values);
51
- default:
52
- return values.reduce((sum, value) => sum + value, 0);
53
- }
54
- }
55
-
56
- private static extractValue(item: EntityData, key: string): unknown {
57
- return key.split('.').reduce((obj: any, k: string) => obj?.[k], item);
58
- }
59
-
60
- private static calculateTrend(current: number, previous?: number): 'up' | 'down' | 'neutral' {
61
- if (previous === undefined || previous === 0) return 'neutral';
62
-
63
- const change = ((current - previous) / Math.abs(previous)) * 100;
64
-
65
- if (change > 1) return 'up';
66
- if (change < -1) return 'down';
67
- return 'neutral';
68
- }
69
-
70
- private static formatValue(value: number, format?: FormatConfig, type?: string): string {
71
- let formatted = value;
72
-
73
- if (format?.decimals !== undefined) {
74
- formatted = Number(value.toFixed(format.decimals));
75
- }
76
-
77
- let result = formatted.toString();
78
-
79
- if (format?.thousands !== false && Math.abs(formatted) >= 1000) {
80
- result = formatted.toLocaleString();
81
- }
82
-
83
- switch (type) {
84
- case 'currency':
85
- result = new Intl.NumberFormat('en-US', {
86
- style: 'currency',
87
- currency: 'USD',
88
- minimumFractionDigits: format?.decimals ?? 2,
89
- maximumFractionDigits: format?.decimals ?? 2
90
- }).format(formatted);
91
- break;
92
- case 'percentage':
93
- result = `${formatted.toFixed(format?.decimals ?? 1)}%`;
94
- break;
95
- case 'duration':
96
- result = this.formatDuration(formatted);
97
- break;
98
- case 'ratio':
99
- result = `${formatted.toFixed(format?.decimals ?? 2)}:1`;
100
- break;
101
- default:
102
- if (format?.prefix) result = format.prefix + result;
103
- if (format?.suffix) result = result + format.suffix;
104
- }
105
-
106
- return result;
107
- }
108
-
109
- private static formatDuration(minutes: number): string {
110
- const hours = Math.floor(minutes / 60);
111
- const mins = Math.floor(minutes % 60);
112
-
113
- if (hours > 0) {
114
- return `${hours}h ${mins}m`;
115
- }
116
- return `${mins}m`;
117
- }
118
-
119
- static calculateTrendData(
120
- config: MetricConfig,
121
- data: EntityData[],
122
- dateField: string = 'date',
123
- periods: number = 12
124
- ): TrendDataPoint[] {
125
- const groupedData = this.groupByPeriod(data, dateField);
126
- const sortedDates = Object.keys(groupedData).sort();
127
-
128
- return sortedDates.slice(-periods).map(date => ({
129
- date,
130
- value: this.aggregateValue(config, groupedData[date]),
131
- label: this.formatDateLabel(date)
132
- }));
133
- }
134
-
135
- private static groupByPeriod(data: EntityData[], dateField: string): Record<string, EntityData[]> {
136
- return data.reduce((groups, item) => {
137
- const date = this.extractValue(item, dateField);
138
- if (!date) return groups;
139
-
140
- const period = new Date(date as string | number | Date).toISOString().split('T')[0];
141
-
142
- if (!groups[period]) groups[period] = [];
143
- groups[period].push(item);
144
-
145
- return groups;
146
- }, {} as Record<string, EntityData[]>);
147
- }
148
-
149
- private static formatDateLabel(dateString: string): string {
150
- const date = new Date(dateString);
151
- return date.toLocaleDateString('en-US', {
152
- month: 'short',
153
- day: 'numeric'
154
- });
155
- }
156
-
157
- static calculateCategoryBreakdown(
158
- data: EntityData[],
159
- categoryField: string,
160
- valueField: string,
161
- maxCategories: number = 8
162
- ) {
163
- const groups = data.reduce((acc, item) => {
164
- const category = String(this.extractValue(item, categoryField) || 'Unknown');
165
- const value = this.extractValue(item, valueField) || 0;
166
-
167
- if (!acc[category]) acc[category] = 0;
168
- acc[category] += typeof value === 'number' ? value : 0;
169
-
170
- return acc;
171
- }, {} as Record<string, number>);
172
-
173
- const total = Object.values(groups).reduce((sum, value) => sum + value, 0);
174
-
175
- let categories = Object.entries(groups)
176
- .map(([category, value]) => ({
177
- category,
178
- value,
179
- percentage: total > 0 ? (value / total) * 100 : 0
180
- }))
181
- .sort((a, b) => b.value - a.value);
182
-
183
- if (categories.length > maxCategories) {
184
- const topCategories = categories.slice(0, maxCategories - 1);
185
- const otherValue = categories.slice(maxCategories - 1)
186
- .reduce((sum, cat) => sum + cat.value, 0);
187
-
188
- topCategories.push({
189
- category: 'Other',
190
- value: otherValue,
191
- percentage: total > 0 ? (otherValue / total) * 100 : 0
192
- });
193
-
194
- categories = topCategories;
195
- }
196
-
197
- return categories;
198
- }
199
-
200
- static detectInsights(
201
- metrics: Record<string, MetricValue>,
202
- thresholds: Record<string, { warning: number; critical: number }> = {}
203
- ) {
204
- const insights = [];
205
-
206
- for (const [key, metric] of Object.entries(metrics)) {
207
- const threshold = thresholds[key];
208
-
209
- if (metric.target && metric.current < metric.target * 0.8) {
210
- insights.push({
211
- type: 'negative' as const,
212
- message: `${key} is significantly below target`,
213
- value: metric.current
214
- });
215
- }
216
-
217
- if (metric.trend === 'up' && metric.previous && metric.current > metric.previous * 1.2) {
218
- insights.push({
219
- type: 'positive' as const,
220
- message: `${key} showing strong growth`,
221
- value: metric.current
222
- });
223
- }
224
-
225
- if (threshold && metric.current >= threshold.critical) {
226
- insights.push({
227
- type: 'negative' as const,
228
- message: `${key} has reached critical threshold`,
229
- value: metric.current
230
- });
231
- }
232
- }
233
-
234
- return insights.slice(0, 5);
235
- }
236
- }
@@ -1,140 +0,0 @@
1
- import { useRef, useState, useEffect } from 'react';
2
-
3
- /**
4
- * Hook to detect if an element's text is truncated/overflowing
5
- * Useful for conditionally showing tooltips only when needed
6
- */
7
- export const useTextOverflow = () => {
8
- const ref = useRef<HTMLElement>(null);
9
- const [isOverflowing, setIsOverflowing] = useState(false);
10
-
11
- useEffect(() => {
12
- const checkOverflow = () => {
13
- const element = ref.current;
14
- if (!element) return;
15
-
16
- // Check if text is truncated
17
- const isOverflow = element.scrollWidth > element.clientWidth ||
18
- element.scrollHeight > element.clientHeight;
19
- setIsOverflowing(isOverflow);
20
- };
21
-
22
- checkOverflow();
23
-
24
- // Re-check on resize
25
- window.addEventListener('resize', checkOverflow);
26
-
27
- // Use ResizeObserver if available for more accurate detection
28
- if (typeof ResizeObserver !== 'undefined') {
29
- const resizeObserver = new ResizeObserver(checkOverflow);
30
- if (ref.current) {
31
- resizeObserver.observe(ref.current);
32
- }
33
- return () => {
34
- resizeObserver.disconnect();
35
- window.removeEventListener('resize', checkOverflow);
36
- };
37
- }
38
-
39
- return () => window.removeEventListener('resize', checkOverflow);
40
- }, []);
41
-
42
- return { ref, isOverflowing };
43
- };
44
-
45
- /**
46
- * Formats large numbers with abbreviations
47
- * Useful for StatCard values with tooltips showing full numbers
48
- */
49
- export const formatNumberWithTooltip = (value: number): { display: string; tooltip: string } => {
50
- const formatter = new Intl.NumberFormat('en-US');
51
- const fullNumber = formatter.format(value);
52
-
53
- if (value >= 1_000_000_000) {
54
- return {
55
- display: `${(value / 1_000_000_000).toFixed(1)}B`,
56
- tooltip: fullNumber
57
- };
58
- } else if (value >= 1_000_000) {
59
- return {
60
- display: `${(value / 1_000_000).toFixed(1)}M`,
61
- tooltip: fullNumber
62
- };
63
- } else if (value >= 10_000) {
64
- return {
65
- display: `${(value / 1_000).toFixed(1)}K`,
66
- tooltip: fullNumber
67
- };
68
- }
69
-
70
- return {
71
- display: fullNumber,
72
- tooltip: '' // No tooltip needed for small numbers
73
- };
74
- };
75
-
76
- /**
77
- * Standard tooltip content for common UI patterns
78
- */
79
- export const tooltipContent = {
80
- // Icon button tooltips
81
- refresh: 'Refresh data',
82
- download: 'Download',
83
- upload: 'Upload file',
84
- edit: 'Edit',
85
- delete: 'Delete',
86
- view: 'View details',
87
- filter: 'Filter',
88
- search: 'Search',
89
- settings: 'Settings',
90
- help: 'Help',
91
- export: 'Export data',
92
- import: 'Import data',
93
- add: 'Add new',
94
- create: 'Create new',
95
- back: 'Go back',
96
- forward: 'Go forward',
97
- menu: 'Open menu',
98
- more: 'More options',
99
- copy: 'Copy',
100
- paste: 'Paste',
101
- share: 'Share',
102
- print: 'Print',
103
-
104
- // Status tooltips
105
- success: 'Operation completed successfully',
106
- warning: 'Requires attention',
107
- error: 'Error occurred',
108
- info: 'Information',
109
- pending: 'Pending',
110
-
111
- // Common actions
112
- save: 'Save changes',
113
- cancel: 'Cancel',
114
- close: 'Close',
115
- expand: 'Expand',
116
- collapse: 'Collapse',
117
- minimize: 'Minimize',
118
- maximize: 'Maximize',
119
-
120
- // Navigation
121
- previous: 'Previous',
122
- next: 'Next',
123
- first: 'Go to first',
124
- last: 'Go to last',
125
- home: 'Home',
126
-
127
- // Data operations
128
- sort: 'Sort',
129
- sortAsc: 'Sort ascending',
130
- sortDesc: 'Sort descending',
131
- clearSort: 'Clear sorting',
132
- clearFilters: 'Clear all filters',
133
- clearSearch: 'Clear search',
134
-
135
- // Authentication
136
- login: 'Sign in',
137
- logout: 'Sign out',
138
- profile: 'Profile',
139
- account: 'Account settings',
140
- };
@@ -1,11 +0,0 @@
1
- import { clsx, type ClassValue } from "clsx"
2
- import { twMerge } from "tailwind-merge"
3
-
4
- export function cn(...inputs: ClassValue[]) {
5
- return twMerge(clsx(inputs))
6
- }
7
-
8
- // Re-export utilities
9
- export * from './tooltip-helpers';
10
- export * from './metric-engine';
11
- export { Icon, getIcon, isValidIcon } from './icon-resolver';
@@ -1,168 +0,0 @@
1
- import { useState } from 'react';
2
- import { useAuth } from '../hooks/useAuth';
3
- import { Button } from '../../../atoms/ui/button';
4
- import { Input } from '../../../atoms/ui/input';
5
- import { Label } from '../../../atoms/ui/label';
6
- import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '../../../atoms/ui/card';
7
- import { cn } from '../../../atoms/utils/utils';
8
- import { Database, Shield, TrendingUp, Mail, Lock, Sparkles } from 'lucide-react';
9
-
10
- export function LoginForm() {
11
- const [email, setEmail] = useState('');
12
- const [password, setPassword] = useState('');
13
- const [error, setError] = useState('');
14
- const { login, isLoading } = useAuth();
15
-
16
- const handleSubmit = async (e: React.FormEvent) => {
17
- e.preventDefault();
18
- setError('');
19
-
20
- try {
21
- await login({ email, password });
22
- } catch (err) {
23
- setError(err instanceof Error ? err.message : 'Login failed');
24
- }
25
- };
26
-
27
- return (
28
- <div className="min-h-screen relative overflow-hidden bg-gradient-to-br from-muted/20 via-background to-muted/40">
29
- {/* Background Pattern */}
30
- <div className="absolute inset-0 bg-muted/5 opacity-5" />
31
-
32
- {/* Floating Elements */}
33
- <div className="absolute top-20 left-20 w-32 h-32 bg-primary/10 rounded-full blur-xl animate-pulse" />
34
- <div className="absolute top-40 right-32 w-24 h-24 bg-secondary/10 rounded-full blur-lg animate-pulse delay-1000" />
35
- <div className="absolute bottom-40 left-32 w-40 h-40 bg-accent/10 rounded-full blur-2xl animate-pulse delay-500" />
36
-
37
- <div className="min-h-screen flex items-center justify-center p-4 relative z-10">
38
- <div className="w-full max-w-md space-y-8">
39
- {/* Header */}
40
- <div className="text-center space-y-6 animate-slide-up">
41
- <div className="flex justify-center">
42
- <div className="relative">
43
- <div className="w-16 h-16 bg-gradient-to-br from-primary to-secondary rounded flex items-center justify-center shadow">
44
- <Database className="w-8 h-8 text-primary-foreground" />
45
- </div>
46
- <div className="absolute -top-1 -right-1 w-6 h-6 bg-gradient-to-br from-accent to-accent-foreground rounded-full flex items-center justify-center">
47
- <Sparkles className="w-3 h-3 text-accent-foreground" />
48
- </div>
49
- </div>
50
- </div>
51
-
52
- <div className="space-y-2">
53
- <h1 className="text-3xl font-bold bg-gradient-to-r from-foreground via-primary to-secondary bg-clip-text text-transparent">
54
- Data Trust Navigator
55
- </h1>
56
- <p className="text-muted-foreground text-lg">
57
- Explore, analyze, and trust your data ecosystem
58
- </p>
59
- </div>
60
- </div>
61
-
62
- {/* Login Card */}
63
- <Card className="card-container animate-slide-up border-0 shadow bg-background/80 backdrop-blur-sm">
64
- <CardHeader className="text-center pb-4">
65
- <CardTitle className="text-xl font-semibold">Welcome Back</CardTitle>
66
- <CardDescription>
67
- Sign in to access your analytics dashboard
68
- </CardDescription>
69
- </CardHeader>
70
-
71
- <CardContent className="space-y-6">
72
- <form onSubmit={handleSubmit} className="space-y-5">
73
- <div className="space-y-2">
74
- <Label htmlFor="email" className="text-data-label">Email Address</Label>
75
- <div className="relative">
76
- <Mail className="absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground w-4 h-4" />
77
- <Input
78
- id="email"
79
- type="email"
80
- value={email}
81
- onChange={(e) => setEmail(e.target.value)}
82
- required
83
- placeholder="Enter your email"
84
- className="pl-10 h-11 transition-all duration-200 focus:ring-2 focus:ring-ring focus:border-ring"
85
- />
86
- </div>
87
- </div>
88
-
89
- <div className="space-y-2">
90
- <Label htmlFor="password" className="text-data-label">Password</Label>
91
- <div className="relative">
92
- <Lock className="absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground w-4 h-4" />
93
- <Input
94
- id="password"
95
- type="password"
96
- value={password}
97
- onChange={(e) => setPassword(e.target.value)}
98
- required
99
- placeholder="Enter your password"
100
- className="pl-10 h-11 transition-all duration-200 focus:ring-2 focus:ring-ring focus:border-ring"
101
- />
102
- </div>
103
- </div>
104
-
105
- {error && (
106
- <div className="bg-destructive/10 border border-destructive/20 text-destructive text-sm p-3 rounded animate-shake">
107
- {error}
108
- </div>
109
- )}
110
-
111
- <Button
112
- type="submit"
113
- className={cn(
114
- "w-full h-11 bg-gradient-to-r from-primary to-secondary hover:from-primary/90 hover:to-secondary/90 text-primary-foreground font-medium transition-all duration-200 hover:shadow-lg hover:scale-[1.02] active:scale-[0.98]"
115
- )}
116
- disabled={isLoading}
117
- >
118
- {isLoading ? (
119
- <div className="flex items-center gap-2">
120
- <div className="w-4 h-4 border-2 border-primary-foreground/30 border-t-primary-foreground rounded-full animate-spin" />
121
- Signing in...
122
- </div>
123
- ) : (
124
- <div className="flex items-center gap-2">
125
- <Shield className="w-4 h-4" />
126
- Sign In
127
- </div>
128
- )}
129
- </Button>
130
- </form>
131
-
132
- {/* Demo Notice */}
133
- <div className="bg-muted/50 border border-border rounded p-4">
134
- <div className="flex items-start gap-3">
135
- <div className="w-6 h-6 bg-primary rounded-full flex items-center justify-center flex-shrink-0 mt-0.5">
136
- <TrendingUp className="w-3 h-3 text-primary-foreground" />
137
- </div>
138
- <div className="space-y-1">
139
- <p className="text-sm font-medium text-foreground">Demo Environment</p>
140
- <p className="text-xs text-muted-foreground">
141
- Use any email and password to explore the analytics platform
142
- </p>
143
- </div>
144
- </div>
145
- </div>
146
- </CardContent>
147
- </Card>
148
-
149
- {/* Features */}
150
- <div className="grid grid-cols-3 gap-4 animate-slide-up">
151
- {[
152
- { icon: Database, label: 'Data Models', bgClass: 'bg-primary/10', textClass: 'text-primary' },
153
- { icon: Shield, label: 'Quality Tests', bgClass: 'bg-secondary/10', textClass: 'text-secondary-foreground' },
154
- { icon: TrendingUp, label: 'Analytics', bgClass: 'bg-accent/10', textClass: 'text-accent-foreground' }
155
- ].map((feature) => (
156
- <div key={feature.label} className="text-center space-y-2">
157
- <div className={cn('w-10 h-10 rounded-lg flex items-center justify-center mx-auto', feature.bgClass)}>
158
- <feature.icon className={cn('w-5 h-5', feature.textClass)} />
159
- </div>
160
- <p className="text-xs text-muted-foreground font-medium">{feature.label}</p>
161
- </div>
162
- ))}
163
- </div>
164
- </div>
165
- </div>
166
- </div>
167
- );
168
- }
@@ -1,19 +0,0 @@
1
- import { useAuth } from '../hooks/useAuth';
2
- import { Button } from '../../../atoms/ui/button';
3
-
4
- export function LogoutButton() {
5
- const { logout, user } = useAuth();
6
-
7
- return (
8
- <div className="flex items-center gap-2">
9
- <span className="text-sm text-muted-foreground">Welcome, {(user as any)?.name || user?.email}</span>
10
- <Button
11
- variant="outline"
12
- size="sm"
13
- onClick={logout}
14
- >
15
- Logout
16
- </Button>
17
- </div>
18
- );
19
- }
@@ -1,60 +0,0 @@
1
- import type { ReactNode } from 'react';
2
- import { useAuth } from '../hooks/useAuth';
3
- import { LoginForm } from './LoginForm';
4
-
5
- interface ProtectedRouteProps {
6
- children: ReactNode;
7
- requirePermission?: string;
8
- requireRole?: string;
9
- fallback?: ReactNode;
10
- }
11
-
12
- export function ProtectedRoute({
13
- children,
14
- requirePermission,
15
- requireRole,
16
- fallback
17
- }: ProtectedRouteProps) {
18
- const { isAuthenticated, isLoading, hasPermission, hasRole } = useAuth();
19
-
20
- if (isLoading) {
21
- return (
22
- <div className="min-h-screen flex items-center justify-center">
23
- <div className="text-center">
24
- <div className="animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto"></div>
25
- <p className="mt-2 text-muted-foreground">Loading...</p>
26
- </div>
27
- </div>
28
- );
29
- }
30
-
31
- if (!isAuthenticated) {
32
- return <LoginForm />;
33
- }
34
-
35
- // Check permission if required
36
- if (requirePermission && !hasPermission(requirePermission)) {
37
- return fallback || (
38
- <div className="min-h-screen flex items-center justify-center">
39
- <div className="text-center">
40
- <h2 className="text-xl font-semibold text-destructive mb-2">Access Denied</h2>
41
- <p className="text-muted-foreground">You don't have permission to access this resource.</p>
42
- </div>
43
- </div>
44
- );
45
- }
46
-
47
- // Check role if required
48
- if (requireRole && !hasRole(requireRole)) {
49
- return fallback || (
50
- <div className="min-h-screen flex items-center justify-center">
51
- <div className="text-center">
52
- <h2 className="text-xl font-semibold text-destructive mb-2">Access Denied</h2>
53
- <p className="text-muted-foreground">Your role doesn't have access to this resource.</p>
54
- </div>
55
- </div>
56
- );
57
- }
58
-
59
- return <>{children}</>;
60
- }
@@ -1,4 +0,0 @@
1
- export { LoginForm } from './LoginForm';
2
- export { ProtectedRoute } from './ProtectedRoute';
3
- export { LogoutButton } from './LogoutButton';
4
- // AuthProvider is exported from ../hooks/useAuth
@@ -1,2 +0,0 @@
1
- export { useAuth, AuthProvider } from './useAuth';
2
- export { usePermissions } from './usePermissions';