@pattern-stack/frontend-patterns 0.1.1 → 0.1.3

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 (627) hide show
  1. package/CHANGELOG.md +85 -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 +291 -0
  8. package/cli/commands/generate-hooks.ts +316 -0
  9. package/cli/commands/init.js +25 -0
  10. package/cli/commands/init.ts +33 -0
  11. package/cli/commands/scaffold.js +201 -0
  12. package/cli/commands/scaffold.ts +224 -0
  13. package/cli/index.js +6665 -0
  14. package/cli/index.ts +124 -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 +19 -0
  118. package/dist/atoms/components/domain/SalesPanel/SalesPanel.d.ts.map +1 -0
  119. package/dist/atoms/components/domain/SalesPanel/index.d.ts +2 -0
  120. package/dist/atoms/components/domain/SalesPanel/index.d.ts.map +1 -0
  121. package/dist/atoms/components/domain/SalesPanel/mockSalesData.d.ts +63 -0
  122. package/dist/atoms/components/domain/SalesPanel/mockSalesData.d.ts.map +1 -0
  123. package/dist/atoms/components/domain/index.d.ts +2 -0
  124. package/dist/atoms/components/domain/index.d.ts.map +1 -0
  125. package/dist/atoms/components/feedback/Alert/Alert.d.ts.map +1 -0
  126. package/dist/atoms/components/feedback/Alert/index.d.ts.map +1 -0
  127. package/dist/atoms/components/feedback/EmptyState/EmptyState.d.ts.map +1 -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 +41 -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/components/feedback/Toast/Toast.d.ts.map +1 -0
  138. package/dist/atoms/components/feedback/Toast/index.d.ts.map +1 -0
  139. package/dist/atoms/components/feedback/index.d.ts +6 -0
  140. package/dist/atoms/components/feedback/index.d.ts.map +1 -0
  141. package/dist/atoms/components/forms/DateTimePicker/DateTimePicker.d.ts.map +1 -0
  142. package/dist/atoms/components/forms/DateTimePicker/index.d.ts.map +1 -0
  143. package/dist/atoms/components/forms/FileUpload/FileUpload.d.ts.map +1 -0
  144. package/dist/atoms/components/forms/FileUpload/index.d.ts.map +1 -0
  145. package/dist/atoms/components/forms/FormField/FormField.d.ts.map +1 -0
  146. package/dist/atoms/components/forms/FormField/index.d.ts.map +1 -0
  147. package/dist/atoms/components/forms/index.d.ts +4 -0
  148. package/dist/atoms/components/forms/index.d.ts.map +1 -0
  149. package/dist/atoms/components/index.d.ts +10 -0
  150. package/dist/atoms/components/index.d.ts.map +1 -0
  151. package/dist/atoms/components/layout/Accordion/Accordion.d.ts.map +1 -0
  152. package/dist/atoms/components/layout/Accordion/index.d.ts.map +1 -0
  153. package/dist/atoms/components/layout/Breadcrumb/Breadcrumb.d.ts.map +1 -0
  154. package/dist/atoms/components/layout/Breadcrumb/index.d.ts.map +1 -0
  155. package/dist/atoms/components/layout/Dialog/index.d.ts +3 -0
  156. package/dist/atoms/components/layout/Dialog/index.d.ts.map +1 -0
  157. package/dist/atoms/components/layout/Dropdown/Dropdown.d.ts +40 -0
  158. package/dist/atoms/components/layout/Dropdown/Dropdown.d.ts.map +1 -0
  159. package/dist/atoms/components/layout/Dropdown/index.d.ts +3 -0
  160. package/dist/atoms/components/layout/Dropdown/index.d.ts.map +1 -0
  161. package/dist/atoms/components/layout/Modal/Modal.d.ts.map +1 -0
  162. package/dist/atoms/components/layout/Modal/index.d.ts.map +1 -0
  163. package/dist/atoms/components/layout/Tabs/index.d.ts +2 -0
  164. package/dist/atoms/components/layout/Tabs/index.d.ts.map +1 -0
  165. package/dist/atoms/components/layout/Tooltip/Tooltip.d.ts.map +1 -0
  166. package/dist/atoms/components/layout/Tooltip/index.d.ts +2 -0
  167. package/dist/atoms/components/layout/Tooltip/index.d.ts.map +1 -0
  168. package/dist/atoms/components/layout/index.d.ts +8 -0
  169. package/dist/atoms/components/layout/index.d.ts.map +1 -0
  170. package/dist/atoms/components/navigation/GlobalSearch/GlobalSearch.d.ts.map +1 -0
  171. package/dist/atoms/components/navigation/GlobalSearch/index.d.ts.map +1 -0
  172. package/dist/atoms/components/navigation/index.d.ts +2 -0
  173. package/dist/atoms/components/navigation/index.d.ts.map +1 -0
  174. package/dist/atoms/components/theme/ColorSwatch/ColorSwatch.d.ts.map +1 -0
  175. package/dist/atoms/components/theme/ColorSwatch/index.d.ts.map +1 -0
  176. package/dist/atoms/components/theme/DarkModeToggle.d.ts.map +1 -0
  177. package/dist/atoms/components/theme/PaletteSwitcher.d.ts.map +1 -0
  178. package/dist/atoms/components/theme/StyleGuide.d.ts.map +1 -0
  179. package/dist/atoms/components/theme/index.d.ts +5 -0
  180. package/dist/atoms/components/theme/index.d.ts.map +1 -0
  181. package/dist/atoms/components/user/UserAvatar/UserAvatar.d.ts.map +1 -0
  182. package/dist/atoms/components/user/UserAvatar/index.d.ts.map +1 -0
  183. package/dist/atoms/components/user/UserMenu/UserMenu.d.ts.map +1 -0
  184. package/dist/atoms/components/user/UserMenu/index.d.ts.map +1 -0
  185. package/dist/atoms/components/user/index.d.ts +3 -0
  186. package/dist/atoms/components/user/index.d.ts.map +1 -0
  187. package/dist/atoms/config/responsive.d.ts +147 -0
  188. package/dist/atoms/config/responsive.d.ts.map +1 -0
  189. package/dist/atoms/hooks/index.d.ts +5 -0
  190. package/dist/atoms/hooks/index.d.ts.map +1 -0
  191. package/dist/atoms/hooks/use-toast.d.ts +16 -0
  192. package/dist/atoms/hooks/use-toast.d.ts.map +1 -0
  193. package/dist/atoms/hooks/useResponsive.d.ts +42 -0
  194. package/dist/atoms/hooks/useResponsive.d.ts.map +1 -0
  195. package/dist/atoms/index.d.ts +4 -5
  196. package/dist/atoms/index.d.ts.map +1 -1
  197. package/dist/atoms/primitives/Badge.d.ts.map +1 -0
  198. package/dist/atoms/primitives/ErrorBoundary.d.ts.map +1 -0
  199. package/dist/atoms/{ui → primitives}/Select.d.ts +1 -1
  200. package/dist/atoms/primitives/Select.d.ts.map +1 -0
  201. package/dist/atoms/primitives/Switch.d.ts.map +1 -0
  202. package/dist/atoms/primitives/Tabs.d.ts.map +1 -0
  203. package/dist/atoms/primitives/avatar.d.ts.map +1 -0
  204. package/dist/atoms/{ui → primitives}/button.d.ts +3 -3
  205. package/dist/atoms/primitives/button.d.ts.map +1 -0
  206. package/dist/atoms/{ui → primitives}/card.d.ts +1 -1
  207. package/dist/atoms/primitives/card.d.ts.map +1 -0
  208. package/dist/atoms/primitives/checkbox.d.ts +12 -0
  209. package/dist/atoms/primitives/checkbox.d.ts.map +1 -0
  210. package/dist/atoms/primitives/dialog.d.ts +34 -0
  211. package/dist/atoms/primitives/dialog.d.ts.map +1 -0
  212. package/dist/atoms/primitives/dropdown-menu.d.ts.map +1 -0
  213. package/dist/atoms/{ui → primitives}/index.d.ts +2 -0
  214. package/dist/atoms/primitives/index.d.ts.map +1 -0
  215. package/dist/atoms/primitives/input.d.ts.map +1 -0
  216. package/dist/atoms/{ui → primitives}/label.d.ts +2 -0
  217. package/dist/atoms/primitives/label.d.ts.map +1 -0
  218. package/dist/atoms/primitives/skeleton.d.ts.map +1 -0
  219. package/dist/atoms/{ui → primitives}/spinner.d.ts +1 -1
  220. package/dist/atoms/primitives/spinner.d.ts.map +1 -0
  221. package/dist/atoms/primitives/table.d.ts.map +1 -0
  222. package/dist/atoms/shared/index.d.ts +1 -0
  223. package/dist/atoms/shared/index.d.ts.map +1 -1
  224. package/dist/atoms/types/entity-config.d.ts +117 -0
  225. package/dist/atoms/types/entity-config.d.ts.map +1 -0
  226. package/dist/atoms/types/index.d.ts +3 -0
  227. package/dist/atoms/types/index.d.ts.map +1 -1
  228. package/dist/atoms/types/navigation.d.ts +30 -0
  229. package/dist/atoms/types/navigation.d.ts.map +1 -0
  230. package/dist/atoms/types/ui-config.d.ts +50 -0
  231. package/dist/atoms/types/ui-config.d.ts.map +1 -0
  232. package/dist/atoms/utils/color-manager.d.ts +68 -0
  233. package/dist/atoms/utils/color-manager.d.ts.map +1 -0
  234. package/dist/atoms/utils/debounce.d.ts +6 -0
  235. package/dist/atoms/utils/debounce.d.ts.map +1 -0
  236. package/dist/atoms/utils/field-detection.d.ts +15 -0
  237. package/dist/atoms/utils/field-detection.d.ts.map +1 -0
  238. package/dist/atoms/utils/icon-resolver.d.ts +76 -0
  239. package/dist/atoms/utils/icon-resolver.d.ts.map +1 -0
  240. package/dist/atoms/utils/index.d.ts +5 -0
  241. package/dist/atoms/utils/index.d.ts.map +1 -0
  242. package/dist/atoms/utils/metric-engine.d.ts +30 -0
  243. package/dist/atoms/utils/metric-engine.d.ts.map +1 -0
  244. package/dist/atoms/utils/ui-mapping.d.ts +17 -0
  245. package/dist/atoms/utils/ui-mapping.d.ts.map +1 -0
  246. package/dist/atoms/utils/utils.d.ts +5 -0
  247. package/dist/atoms/utils/utils.d.ts.map +1 -1
  248. package/dist/codegen/index.d.ts +7 -0
  249. package/dist/codegen/index.d.ts.map +1 -0
  250. package/dist/codegen/openapi/bulk-hook-generator.d.ts +40 -0
  251. package/dist/codegen/openapi/bulk-hook-generator.d.ts.map +1 -0
  252. package/dist/codegen/openapi/bulk-types.d.ts +142 -0
  253. package/dist/codegen/openapi/bulk-types.d.ts.map +1 -0
  254. package/dist/codegen/openapi/client-generator.d.ts +52 -0
  255. package/dist/codegen/openapi/client-generator.d.ts.map +1 -0
  256. package/dist/codegen/openapi/confidence-scorer.d.ts +30 -0
  257. package/dist/codegen/openapi/confidence-scorer.d.ts.map +1 -0
  258. package/dist/codegen/openapi/hook-config.d.ts +50 -0
  259. package/dist/codegen/openapi/hook-config.d.ts.map +1 -0
  260. package/dist/codegen/openapi/hook-generator.d.ts +108 -0
  261. package/dist/codegen/openapi/hook-generator.d.ts.map +1 -0
  262. package/dist/codegen/openapi/index.d.ts +27 -0
  263. package/dist/codegen/openapi/index.d.ts.map +1 -0
  264. package/dist/codegen/openapi/parser.d.ts +107 -0
  265. package/dist/codegen/openapi/parser.d.ts.map +1 -0
  266. package/dist/codegen/openapi/type-generator.d.ts +53 -0
  267. package/dist/codegen/openapi/type-generator.d.ts.map +1 -0
  268. package/dist/features/auth/components/LoginForm.d.ts.map +1 -1
  269. package/dist/features/auth/hooks/index.d.ts +1 -0
  270. package/dist/features/auth/hooks/index.d.ts.map +1 -1
  271. package/dist/features/auth/hooks/useAuthContext.d.ts +7 -0
  272. package/dist/features/auth/hooks/useAuthContext.d.ts.map +1 -0
  273. package/dist/features/auth/index.d.ts +1 -0
  274. package/dist/features/auth/index.d.ts.map +1 -1
  275. package/dist/features/auth/providers/MockAuthProvider.d.ts +9 -0
  276. package/dist/features/auth/providers/MockAuthProvider.d.ts.map +1 -0
  277. package/dist/features/auth/providers/index.d.ts +2 -0
  278. package/dist/features/auth/providers/index.d.ts.map +1 -0
  279. package/dist/features/auth/services/mock-auth-service.d.ts +17 -0
  280. package/dist/features/auth/services/mock-auth-service.d.ts.map +1 -0
  281. package/dist/frontend-patterns.css +4417 -1
  282. package/dist/generated/client/client.d.ts +23 -0
  283. package/dist/generated/client/client.d.ts.map +1 -0
  284. package/dist/generated/client/config.d.ts +10 -0
  285. package/dist/generated/client/config.d.ts.map +1 -0
  286. package/dist/generated/client/index.d.ts +12 -0
  287. package/dist/generated/client/index.d.ts.map +1 -0
  288. package/dist/generated/client/methods.d.ts +591 -0
  289. package/dist/generated/client/methods.d.ts.map +1 -0
  290. package/dist/generated/client/types.d.ts +37 -0
  291. package/dist/generated/client/types.d.ts.map +1 -0
  292. package/dist/generated/example.d.ts +8 -0
  293. package/dist/generated/example.d.ts.map +1 -0
  294. package/dist/generated/hooks/index.d.ts +11 -0
  295. package/dist/generated/hooks/index.d.ts.map +1 -0
  296. package/dist/generated/hooks/keys.d.ts +59 -0
  297. package/dist/generated/hooks/keys.d.ts.map +1 -0
  298. package/dist/generated/hooks/mutations.d.ts +551 -0
  299. package/dist/generated/hooks/mutations.d.ts.map +1 -0
  300. package/dist/generated/hooks/queries.d.ts +426 -0
  301. package/dist/generated/hooks/queries.d.ts.map +1 -0
  302. package/dist/generated/hooks/types.d.ts +318 -0
  303. package/dist/generated/hooks/types.d.ts.map +1 -0
  304. package/dist/generated/index.d.ts +13 -0
  305. package/dist/generated/index.d.ts.map +1 -0
  306. package/dist/generated/types/endpoints.d.ts +1364 -0
  307. package/dist/generated/types/endpoints.d.ts.map +1 -0
  308. package/dist/generated/types/index.d.ts +11 -0
  309. package/dist/generated/types/index.d.ts.map +1 -0
  310. package/dist/generated/types/parameters.d.ts +8 -0
  311. package/dist/generated/types/parameters.d.ts.map +1 -0
  312. package/dist/generated/types/responses.d.ts +8 -0
  313. package/dist/generated/types/responses.d.ts.map +1 -0
  314. package/dist/generated/types/schemas.d.ts +652 -0
  315. package/dist/generated/types/schemas.d.ts.map +1 -0
  316. package/dist/index.d.ts +8 -0
  317. package/dist/index.d.ts.map +1 -1
  318. package/dist/index.es.js +27449 -8432
  319. package/dist/index.es.js.map +1 -1
  320. package/dist/index.js +27461 -8422
  321. package/dist/index.js.map +1 -1
  322. package/dist/molecules/feedback/index.d.ts +2 -0
  323. package/dist/molecules/feedback/index.d.ts.map +1 -0
  324. package/dist/molecules/forms/SearchInput.d.ts.map +1 -1
  325. package/dist/molecules/layout/AppHeader/AppHeader.d.ts.map +1 -1
  326. package/dist/molecules/layout/BulkSelectionBar.d.ts +15 -0
  327. package/dist/molecules/layout/BulkSelectionBar.d.ts.map +1 -0
  328. package/dist/molecules/layout/DashboardWithSidePanel/DashboardWithSidePanel.d.ts +16 -0
  329. package/dist/molecules/layout/DashboardWithSidePanel/DashboardWithSidePanel.d.ts.map +1 -0
  330. package/dist/molecules/layout/DashboardWithSidePanel/index.d.ts +2 -0
  331. package/dist/molecules/layout/DashboardWithSidePanel/index.d.ts.map +1 -0
  332. package/dist/molecules/layout/NavigationContext.d.ts +15 -0
  333. package/dist/molecules/layout/NavigationContext.d.ts.map +1 -0
  334. package/dist/molecules/layout/Sidebar.d.ts.map +1 -1
  335. package/dist/molecules/layout/SidebarButton/SidebarButton.d.ts +2 -0
  336. package/dist/molecules/layout/SidebarButton/SidebarButton.d.ts.map +1 -1
  337. package/dist/molecules/layout/index.d.ts +4 -0
  338. package/dist/molecules/layout/index.d.ts.map +1 -1
  339. package/dist/organisms/showcase/ComponentShowcasePage.d.ts.map +1 -1
  340. package/dist/templates/DataTemplate.d.ts +1 -1
  341. package/dist/templates/DataTemplate.d.ts.map +1 -1
  342. package/dist/templates/EnhancedDataTemplate.d.ts +188 -0
  343. package/dist/templates/EnhancedDataTemplate.d.ts.map +1 -0
  344. package/dist/templates/EnhancedDataTemplate.hooks.bulk.d.ts +18 -0
  345. package/dist/templates/EnhancedDataTemplate.hooks.bulk.d.ts.map +1 -0
  346. package/dist/templates/EnhancedDataTemplate.hooks.d.ts +22 -0
  347. package/dist/templates/EnhancedDataTemplate.hooks.d.ts.map +1 -0
  348. package/dist/templates/admin/AdminCRUDTemplate.d.ts.map +1 -1
  349. package/dist/templates/admin/AdminDashboardTemplate.d.ts +6 -9
  350. package/dist/templates/admin/AdminDashboardTemplate.d.ts.map +1 -1
  351. package/dist/templates/admin/AdminDetailTemplate.d.ts +1 -1
  352. package/dist/templates/admin/AdminDetailTemplate.d.ts.map +1 -1
  353. package/dist/templates/api/APIDataTemplate.d.ts +66 -0
  354. package/dist/templates/api/APIDataTemplate.d.ts.map +1 -0
  355. package/dist/templates/api/index.d.ts +8 -0
  356. package/dist/templates/api/index.d.ts.map +1 -0
  357. package/dist/templates/factory.d.ts +2 -1
  358. package/dist/templates/factory.d.ts.map +1 -1
  359. package/dist/templates/index.d.ts +2 -0
  360. package/dist/templates/index.d.ts.map +1 -1
  361. package/package.json +37 -11
  362. package/dist/atoms/composed/Accordion/Accordion.d.ts.map +0 -1
  363. package/dist/atoms/composed/Accordion/index.d.ts.map +0 -1
  364. package/dist/atoms/composed/Alert/Alert.d.ts.map +0 -1
  365. package/dist/atoms/composed/Alert/index.d.ts.map +0 -1
  366. package/dist/atoms/composed/Breadcrumb/Breadcrumb.d.ts.map +0 -1
  367. package/dist/atoms/composed/Breadcrumb/index.d.ts.map +0 -1
  368. package/dist/atoms/composed/Chart/Chart.d.ts.map +0 -1
  369. package/dist/atoms/composed/Chart/index.d.ts.map +0 -1
  370. package/dist/atoms/composed/ColorSwatch/ColorSwatch.d.ts.map +0 -1
  371. package/dist/atoms/composed/ColorSwatch/index.d.ts.map +0 -1
  372. package/dist/atoms/composed/DarkModeToggle.d.ts.map +0 -1
  373. package/dist/atoms/composed/DataBadge/DataBadge.d.ts +0 -13
  374. package/dist/atoms/composed/DataBadge/DataBadge.d.ts.map +0 -1
  375. package/dist/atoms/composed/DataBadge/index.d.ts.map +0 -1
  376. package/dist/atoms/composed/DataTable/DataTable.d.ts +0 -28
  377. package/dist/atoms/composed/DataTable/DataTable.d.ts.map +0 -1
  378. package/dist/atoms/composed/DataTable/TableCellWithTooltip.d.ts.map +0 -1
  379. package/dist/atoms/composed/DataTable/index.d.ts.map +0 -1
  380. package/dist/atoms/composed/DateTimePicker/DateTimePicker.d.ts.map +0 -1
  381. package/dist/atoms/composed/DateTimePicker/index.d.ts.map +0 -1
  382. package/dist/atoms/composed/DetailedCard/DetailedCard.d.ts.map +0 -1
  383. package/dist/atoms/composed/DetailedCard/index.d.ts.map +0 -1
  384. package/dist/atoms/composed/EmptyState/EmptyState.d.ts.map +0 -1
  385. package/dist/atoms/composed/EmptyState/index.d.ts.map +0 -1
  386. package/dist/atoms/composed/FileUpload/FileUpload.d.ts.map +0 -1
  387. package/dist/atoms/composed/FileUpload/index.d.ts.map +0 -1
  388. package/dist/atoms/composed/FormField/FormField.d.ts.map +0 -1
  389. package/dist/atoms/composed/FormField/index.d.ts.map +0 -1
  390. package/dist/atoms/composed/GlobalSearch/GlobalSearch.d.ts.map +0 -1
  391. package/dist/atoms/composed/GlobalSearch/index.d.ts.map +0 -1
  392. package/dist/atoms/composed/IconBadge/IconBadge.d.ts.map +0 -1
  393. package/dist/atoms/composed/IconBadge/index.d.ts.map +0 -1
  394. package/dist/atoms/composed/Modal/Modal.d.ts.map +0 -1
  395. package/dist/atoms/composed/Modal/index.d.ts.map +0 -1
  396. package/dist/atoms/composed/PaletteSwitcher.d.ts.map +0 -1
  397. package/dist/atoms/composed/ProgressBar/ProgressBar.d.ts.map +0 -1
  398. package/dist/atoms/composed/ProgressBar/index.d.ts.map +0 -1
  399. package/dist/atoms/composed/StatCard/StatCard.d.ts.map +0 -1
  400. package/dist/atoms/composed/StatCard/index.d.ts.map +0 -1
  401. package/dist/atoms/composed/StyleGuide.d.ts.map +0 -1
  402. package/dist/atoms/composed/Toast/Toast.d.ts.map +0 -1
  403. package/dist/atoms/composed/Toast/index.d.ts.map +0 -1
  404. package/dist/atoms/composed/Tooltip/Tooltip.d.ts.map +0 -1
  405. package/dist/atoms/composed/Tooltip/index.d.ts +0 -2
  406. package/dist/atoms/composed/Tooltip/index.d.ts.map +0 -1
  407. package/dist/atoms/composed/UserAvatar/UserAvatar.d.ts.map +0 -1
  408. package/dist/atoms/composed/UserAvatar/index.d.ts.map +0 -1
  409. package/dist/atoms/composed/UserMenu/UserMenu.d.ts.map +0 -1
  410. package/dist/atoms/composed/UserMenu/index.d.ts.map +0 -1
  411. package/dist/atoms/composed/index.d.ts +0 -25
  412. package/dist/atoms/composed/index.d.ts.map +0 -1
  413. package/dist/atoms/ui/Badge.d.ts.map +0 -1
  414. package/dist/atoms/ui/ErrorBoundary.d.ts.map +0 -1
  415. package/dist/atoms/ui/Select.d.ts.map +0 -1
  416. package/dist/atoms/ui/Switch.d.ts.map +0 -1
  417. package/dist/atoms/ui/Tabs.d.ts.map +0 -1
  418. package/dist/atoms/ui/avatar.d.ts.map +0 -1
  419. package/dist/atoms/ui/button.d.ts.map +0 -1
  420. package/dist/atoms/ui/card.d.ts.map +0 -1
  421. package/dist/atoms/ui/dropdown-menu.d.ts.map +0 -1
  422. package/dist/atoms/ui/index.d.ts.map +0 -1
  423. package/dist/atoms/ui/input.d.ts.map +0 -1
  424. package/dist/atoms/ui/label.d.ts.map +0 -1
  425. package/dist/atoms/ui/skeleton.d.ts.map +0 -1
  426. package/dist/atoms/ui/spinner.d.ts.map +0 -1
  427. package/dist/atoms/ui/table.d.ts.map +0 -1
  428. package/src/App.css +0 -42
  429. package/src/App.tsx +0 -54
  430. package/src/__tests__/README.md +0 -221
  431. package/src/__tests__/atoms/hooks/simple-hooks.test.ts +0 -44
  432. package/src/__tests__/atoms/ui/button.test.tsx +0 -68
  433. package/src/__tests__/atoms/utils/simple.test.ts +0 -18
  434. package/src/__tests__/atoms/utils/utils.test.ts +0 -77
  435. package/src/__tests__/features/auth/simple-auth.test.tsx +0 -40
  436. package/src/__tests__/molecules/layout/simple-layout.test.tsx +0 -81
  437. package/src/__tests__/organisms/showcase/simple-showcase.test.tsx +0 -167
  438. package/src/__tests__/setup.ts +0 -51
  439. package/src/__tests__/utils.tsx +0 -123
  440. package/src/atoms/composed/Accordion/Accordion.tsx +0 -271
  441. package/src/atoms/composed/Accordion/index.ts +0 -1
  442. package/src/atoms/composed/Alert/Alert.tsx +0 -132
  443. package/src/atoms/composed/Alert/index.ts +0 -1
  444. package/src/atoms/composed/Breadcrumb/Breadcrumb.tsx +0 -83
  445. package/src/atoms/composed/Breadcrumb/index.ts +0 -1
  446. package/src/atoms/composed/Chart/Chart.tsx +0 -425
  447. package/src/atoms/composed/Chart/index.ts +0 -2
  448. package/src/atoms/composed/ColorSwatch/ColorSwatch.tsx +0 -72
  449. package/src/atoms/composed/ColorSwatch/index.ts +0 -1
  450. package/src/atoms/composed/DarkModeToggle.tsx +0 -66
  451. package/src/atoms/composed/DataBadge/DataBadge.tsx +0 -81
  452. package/src/atoms/composed/DataBadge/index.ts +0 -1
  453. package/src/atoms/composed/DataTable/DataTable.tsx +0 -394
  454. package/src/atoms/composed/DataTable/TableCellWithTooltip.tsx +0 -41
  455. package/src/atoms/composed/DataTable/index.ts +0 -2
  456. package/src/atoms/composed/DateTimePicker/DateTimePicker.tsx +0 -611
  457. package/src/atoms/composed/DateTimePicker/index.ts +0 -2
  458. package/src/atoms/composed/DetailedCard/DetailedCard.tsx +0 -181
  459. package/src/atoms/composed/DetailedCard/index.ts +0 -2
  460. package/src/atoms/composed/EmptyState/EmptyState.tsx +0 -90
  461. package/src/atoms/composed/EmptyState/index.ts +0 -1
  462. package/src/atoms/composed/FileUpload/FileUpload.tsx +0 -477
  463. package/src/atoms/composed/FileUpload/index.ts +0 -2
  464. package/src/atoms/composed/FormField/FormField.tsx +0 -92
  465. package/src/atoms/composed/FormField/index.ts +0 -1
  466. package/src/atoms/composed/GlobalSearch/GlobalSearch.tsx +0 -37
  467. package/src/atoms/composed/GlobalSearch/index.ts +0 -1
  468. package/src/atoms/composed/IconBadge/IconBadge.tsx +0 -95
  469. package/src/atoms/composed/IconBadge/index.ts +0 -2
  470. package/src/atoms/composed/Modal/Modal.tsx +0 -223
  471. package/src/atoms/composed/Modal/index.ts +0 -2
  472. package/src/atoms/composed/PaletteSwitcher.tsx +0 -386
  473. package/src/atoms/composed/ProgressBar/ProgressBar.tsx +0 -116
  474. package/src/atoms/composed/ProgressBar/index.ts +0 -1
  475. package/src/atoms/composed/StatCard/StatCard.tsx +0 -219
  476. package/src/atoms/composed/StatCard/index.ts +0 -1
  477. package/src/atoms/composed/StyleGuide.tsx +0 -717
  478. package/src/atoms/composed/Toast/Toast.tsx +0 -219
  479. package/src/atoms/composed/Toast/index.ts +0 -1
  480. package/src/atoms/composed/Tooltip/Tooltip.tsx +0 -213
  481. package/src/atoms/composed/Tooltip/index.ts +0 -1
  482. package/src/atoms/composed/UserAvatar/UserAvatar.tsx +0 -139
  483. package/src/atoms/composed/UserAvatar/index.ts +0 -1
  484. package/src/atoms/composed/UserMenu/UserMenu.tsx +0 -16
  485. package/src/atoms/composed/UserMenu/index.ts +0 -1
  486. package/src/atoms/composed/index.ts +0 -29
  487. package/src/atoms/hooks/useApi.ts +0 -80
  488. package/src/atoms/hooks/useHealth.ts +0 -17
  489. package/src/atoms/index.ts +0 -13
  490. package/src/atoms/services/api/client.ts +0 -134
  491. package/src/atoms/services/auth-service.ts +0 -248
  492. package/src/atoms/services/health.ts +0 -15
  493. package/src/atoms/services/index.ts +0 -3
  494. package/src/atoms/shared/config/constants.ts +0 -17
  495. package/src/atoms/shared/config/dashboard-sizes.ts +0 -111
  496. package/src/atoms/shared/config/environment.ts +0 -10
  497. package/src/atoms/shared/index.ts +0 -4
  498. package/src/atoms/shared/styles/color-palettes.css +0 -566
  499. package/src/atoms/types/auth.ts +0 -62
  500. package/src/atoms/types/generated.ts +0 -1469
  501. package/src/atoms/types/index.ts +0 -4
  502. package/src/atoms/types/loading.ts +0 -28
  503. package/src/atoms/ui/Badge.tsx +0 -30
  504. package/src/atoms/ui/ErrorBoundary.tsx +0 -59
  505. package/src/atoms/ui/Select.tsx +0 -53
  506. package/src/atoms/ui/Switch.tsx +0 -42
  507. package/src/atoms/ui/Tabs.tsx +0 -118
  508. package/src/atoms/ui/avatar.tsx +0 -48
  509. package/src/atoms/ui/button.tsx +0 -70
  510. package/src/atoms/ui/card.tsx +0 -76
  511. package/src/atoms/ui/dropdown-menu.tsx +0 -199
  512. package/src/atoms/ui/index.ts +0 -39
  513. package/src/atoms/ui/input.tsx +0 -23
  514. package/src/atoms/ui/label.tsx +0 -23
  515. package/src/atoms/ui/skeleton.tsx +0 -13
  516. package/src/atoms/ui/spinner.tsx +0 -49
  517. package/src/atoms/ui/table.tsx +0 -116
  518. package/src/atoms/utils/animations.ts +0 -135
  519. package/src/atoms/utils/tooltip-helpers.ts +0 -140
  520. package/src/atoms/utils/utils.ts +0 -9
  521. package/src/features/auth/components/LoginForm.tsx +0 -168
  522. package/src/features/auth/components/LogoutButton.tsx +0 -19
  523. package/src/features/auth/components/ProtectedRoute.tsx +0 -60
  524. package/src/features/auth/components/index.ts +0 -4
  525. package/src/features/auth/hooks/index.ts +0 -2
  526. package/src/features/auth/hooks/useAuth.tsx +0 -205
  527. package/src/features/auth/hooks/usePermissions.ts +0 -35
  528. package/src/features/auth/index.ts +0 -2
  529. package/src/features/index.ts +0 -2
  530. package/src/index.css +0 -704
  531. package/src/index.ts +0 -13
  532. package/src/main.tsx +0 -48
  533. package/src/molecules/.gitkeep +0 -0
  534. package/src/molecules/forms/FormGroup.tsx +0 -75
  535. package/src/molecules/forms/SearchInput.tsx +0 -259
  536. package/src/molecules/forms/index.ts +0 -4
  537. package/src/molecules/index.ts +0 -4
  538. package/src/molecules/layout/AppHeader/AppHeader.tsx +0 -42
  539. package/src/molecules/layout/AppHeader/index.ts +0 -1
  540. package/src/molecules/layout/AppLayout.tsx +0 -29
  541. package/src/molecules/layout/PageTemplate.tsx +0 -87
  542. package/src/molecules/layout/SectionHeader/SectionHeader.tsx +0 -87
  543. package/src/molecules/layout/SectionHeader/index.ts +0 -1
  544. package/src/molecules/layout/ShowcaseSection.tsx +0 -57
  545. package/src/molecules/layout/Sidebar.tsx +0 -144
  546. package/src/molecules/layout/SidebarButton/SidebarButton.tsx +0 -99
  547. package/src/molecules/layout/SidebarButton/index.ts +0 -1
  548. package/src/molecules/layout/SidebarContext.tsx +0 -31
  549. package/src/molecules/layout/index.ts +0 -7
  550. package/src/molecules/navigation/NavMenu.tsx +0 -188
  551. package/src/molecules/navigation/Pagination.tsx +0 -172
  552. package/src/molecules/navigation/index.ts +0 -4
  553. package/src/organisms/index.ts +0 -5
  554. package/src/organisms/showcase/ComponentShowcasePage.tsx +0 -2496
  555. package/src/organisms/showcase/index.ts +0 -1
  556. package/src/pages/AdminShowcase/AdminCRUDShowcase.tsx +0 -242
  557. package/src/pages/AdminShowcase/AdminDashboardShowcase.tsx +0 -171
  558. package/src/pages/AdminShowcase/AdminDetailShowcase.tsx +0 -385
  559. package/src/pages/AdminShowcase/index.tsx +0 -3
  560. package/src/pages/ComponentShowcase/BadgesShowcase.tsx +0 -188
  561. package/src/pages/ComponentShowcase/CardsShowcase.tsx +0 -392
  562. package/src/pages/ComponentShowcase/PalettesShowcase.tsx +0 -207
  563. package/src/pages/ComponentShowcase/StatesShowcase.tsx +0 -485
  564. package/src/pages/ComponentShowcase/TablesShowcase.tsx +0 -134
  565. package/src/pages/ComponentShowcase/TypographyShowcase.tsx +0 -255
  566. package/src/pages/ComponentShowcase/index.tsx +0 -188
  567. package/src/pages/index.ts +0 -2
  568. package/src/templates/AuthTemplate.tsx +0 -216
  569. package/src/templates/ComponentShowcaseTemplate.tsx +0 -173
  570. package/src/templates/DashboardTemplate.tsx +0 -232
  571. package/src/templates/DataTemplate.tsx +0 -319
  572. package/src/templates/admin/AdminCRUDTemplate.tsx +0 -630
  573. package/src/templates/admin/AdminDashboardTemplate.tsx +0 -351
  574. package/src/templates/admin/AdminDetailTemplate.tsx +0 -563
  575. package/src/templates/admin/index.ts +0 -29
  576. package/src/templates/factory.tsx +0 -169
  577. package/src/templates/index.ts +0 -37
  578. package/src/vite-env.d.ts +0 -1
  579. /package/dist/atoms/{composed → components/data}/Chart/index.d.ts +0 -0
  580. /package/dist/atoms/{composed → components/data}/DataBadge/index.d.ts +0 -0
  581. /package/dist/atoms/{composed → components/data}/DataTable/TableCellWithTooltip.d.ts +0 -0
  582. /package/dist/atoms/{composed → components/data}/DataTable/index.d.ts +0 -0
  583. /package/dist/atoms/{composed → components/data}/DetailedCard/DetailedCard.d.ts +0 -0
  584. /package/dist/atoms/{composed → components/data}/DetailedCard/index.d.ts +0 -0
  585. /package/dist/atoms/{composed → components/data}/IconBadge/index.d.ts +0 -0
  586. /package/dist/atoms/{composed → components/data}/ProgressBar/ProgressBar.d.ts +0 -0
  587. /package/dist/atoms/{composed → components/data}/ProgressBar/index.d.ts +0 -0
  588. /package/dist/atoms/{composed → components/data}/StatCard/index.d.ts +0 -0
  589. /package/dist/atoms/{composed → components/feedback}/Alert/Alert.d.ts +0 -0
  590. /package/dist/atoms/{composed → components/feedback}/Alert/index.d.ts +0 -0
  591. /package/dist/atoms/{composed → components/feedback}/EmptyState/EmptyState.d.ts +0 -0
  592. /package/dist/atoms/{composed → components/feedback}/EmptyState/index.d.ts +0 -0
  593. /package/dist/atoms/{composed → components/feedback}/Toast/Toast.d.ts +0 -0
  594. /package/dist/atoms/{composed → components/feedback}/Toast/index.d.ts +0 -0
  595. /package/dist/atoms/{composed → components/forms}/DateTimePicker/DateTimePicker.d.ts +0 -0
  596. /package/dist/atoms/{composed → components/forms}/DateTimePicker/index.d.ts +0 -0
  597. /package/dist/atoms/{composed → components/forms}/FileUpload/FileUpload.d.ts +0 -0
  598. /package/dist/atoms/{composed → components/forms}/FileUpload/index.d.ts +0 -0
  599. /package/dist/atoms/{composed → components/forms}/FormField/FormField.d.ts +0 -0
  600. /package/dist/atoms/{composed → components/forms}/FormField/index.d.ts +0 -0
  601. /package/dist/atoms/{composed → components/layout}/Accordion/Accordion.d.ts +0 -0
  602. /package/dist/atoms/{composed → components/layout}/Accordion/index.d.ts +0 -0
  603. /package/dist/atoms/{composed → components/layout}/Breadcrumb/Breadcrumb.d.ts +0 -0
  604. /package/dist/atoms/{composed → components/layout}/Breadcrumb/index.d.ts +0 -0
  605. /package/dist/atoms/{composed → components/layout}/Modal/Modal.d.ts +0 -0
  606. /package/dist/atoms/{composed → components/layout}/Modal/index.d.ts +0 -0
  607. /package/dist/atoms/{composed → components/layout}/Tooltip/Tooltip.d.ts +0 -0
  608. /package/dist/atoms/{composed → components/navigation}/GlobalSearch/GlobalSearch.d.ts +0 -0
  609. /package/dist/atoms/{composed → components/navigation}/GlobalSearch/index.d.ts +0 -0
  610. /package/dist/atoms/{composed → components/theme}/ColorSwatch/ColorSwatch.d.ts +0 -0
  611. /package/dist/atoms/{composed → components/theme}/ColorSwatch/index.d.ts +0 -0
  612. /package/dist/atoms/{composed → components/theme}/DarkModeToggle.d.ts +0 -0
  613. /package/dist/atoms/{composed → components/theme}/PaletteSwitcher.d.ts +0 -0
  614. /package/dist/atoms/{composed → components/theme}/StyleGuide.d.ts +0 -0
  615. /package/dist/atoms/{composed → components/user}/UserAvatar/UserAvatar.d.ts +0 -0
  616. /package/dist/atoms/{composed → components/user}/UserAvatar/index.d.ts +0 -0
  617. /package/dist/atoms/{composed → components/user}/UserMenu/UserMenu.d.ts +0 -0
  618. /package/dist/atoms/{composed → components/user}/UserMenu/index.d.ts +0 -0
  619. /package/dist/atoms/{ui → primitives}/Badge.d.ts +0 -0
  620. /package/dist/atoms/{ui → primitives}/ErrorBoundary.d.ts +0 -0
  621. /package/dist/atoms/{ui → primitives}/Switch.d.ts +0 -0
  622. /package/dist/atoms/{ui → primitives}/Tabs.d.ts +0 -0
  623. /package/dist/atoms/{ui → primitives}/avatar.d.ts +0 -0
  624. /package/dist/atoms/{ui → primitives}/dropdown-menu.d.ts +0 -0
  625. /package/dist/atoms/{ui → primitives}/input.d.ts +0 -0
  626. /package/dist/atoms/{ui → primitives}/skeleton.d.ts +0 -0
  627. /package/dist/atoms/{ui → primitives}/table.d.ts +0 -0
@@ -1,611 +0,0 @@
1
- import React, { useState, useRef, useEffect } from 'react';
2
- import { Calendar, Clock, ChevronLeft, ChevronRight, X } from 'lucide-react';
3
- import { cn } from '../../utils/utils';
4
- import { Input } from '../../ui/input';
5
- import { Button } from '../../ui/button';
6
-
7
- export interface DateTimePickerProps {
8
- /** Current selected date/time value */
9
- value?: Date;
10
- /** Callback when date/time changes */
11
- onChange?: (date: Date | null) => void;
12
- /** Picker mode */
13
- mode?: 'date' | 'time' | 'datetime';
14
- /** Visual variant */
15
- variant?: 'default' | 'compact' | 'inline';
16
- /** Date format for display */
17
- dateFormat?: 'MM/dd/yyyy' | 'dd/MM/yyyy' | 'yyyy-MM-dd';
18
- /** Time format */
19
- timeFormat?: '12h' | '24h';
20
- /** Minimum selectable date */
21
- minDate?: Date;
22
- /** Maximum selectable date */
23
- maxDate?: Date;
24
- /** Enable date range selection */
25
- isRange?: boolean;
26
- /** Range values for range mode */
27
- rangeValue?: { start: Date | null; end: Date | null };
28
- /** Callback for range changes */
29
- onRangeChange?: (range: { start: Date | null; end: Date | null }) => void;
30
- /** Placeholder text */
31
- placeholder?: string;
32
- /** Disabled state */
33
- disabled?: boolean;
34
- /** Error state */
35
- error?: boolean;
36
- /** Clear button */
37
- clearable?: boolean;
38
- /** Additional CSS classes */
39
- className?: string;
40
- /** ARIA label */
41
- 'aria-label'?: string;
42
- }
43
-
44
- const MONTHS = [
45
- 'January', 'February', 'March', 'April', 'May', 'June',
46
- 'July', 'August', 'September', 'October', 'November', 'December'
47
- ];
48
-
49
- const WEEKDAYS = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];
50
-
51
- export const DateTimePicker: React.FC<DateTimePickerProps> = ({
52
- value,
53
- onChange,
54
- mode = 'datetime',
55
- variant = 'default',
56
- dateFormat = 'MM/dd/yyyy',
57
- timeFormat = '12h',
58
- minDate,
59
- maxDate,
60
- isRange = false,
61
- rangeValue,
62
- onRangeChange,
63
- placeholder,
64
- disabled = false,
65
- error = false,
66
- clearable = true,
67
- className,
68
- 'aria-label': ariaLabel,
69
- ...props
70
- }) => {
71
- const [isOpen, setIsOpen] = useState(false);
72
- const [viewDate, setViewDate] = useState(value || new Date());
73
- const [, setActiveInput] = useState<'start' | 'end' | null>(null);
74
- const [tempTime, setTempTime] = useState({
75
- hours: value?.getHours() || 0,
76
- minutes: value?.getMinutes() || 0
77
- });
78
-
79
- const containerRef = useRef<HTMLDivElement>(null);
80
- const inputRef = useRef<HTMLInputElement>(null);
81
-
82
- // Close picker when clicking outside
83
- useEffect(() => {
84
- const handleClickOutside = (event: MouseEvent) => {
85
- if (containerRef.current && !containerRef.current.contains(event.target as Node)) {
86
- setIsOpen(false);
87
- setActiveInput(null);
88
- }
89
- };
90
-
91
- document.addEventListener('mousedown', handleClickOutside);
92
- return () => document.removeEventListener('mousedown', handleClickOutside);
93
- }, []);
94
-
95
- // Format date for display
96
- const formatDate = (date: Date | null): string => {
97
- if (!date) return '';
98
-
99
- const day = date.getDate().toString().padStart(2, '0');
100
- const month = (date.getMonth() + 1).toString().padStart(2, '0');
101
- const year = date.getFullYear();
102
-
103
- switch (dateFormat) {
104
- case 'dd/MM/yyyy':
105
- return `${day}/${month}/${year}`;
106
- case 'yyyy-MM-dd':
107
- return `${year}-${month}-${day}`;
108
- default:
109
- return `${month}/${day}/${year}`;
110
- }
111
- };
112
-
113
- // Format time for display
114
- const formatTime = (date: Date | null): string => {
115
- if (!date) return '';
116
-
117
- const hours = date.getHours();
118
- const minutes = date.getMinutes().toString().padStart(2, '0');
119
-
120
- if (timeFormat === '12h') {
121
- const displayHours = hours === 0 ? 12 : hours > 12 ? hours - 12 : hours;
122
- const ampm = hours >= 12 ? 'PM' : 'AM';
123
- return `${displayHours}:${minutes} ${ampm}`;
124
- }
125
-
126
- return `${hours.toString().padStart(2, '0')}:${minutes}`;
127
- };
128
-
129
- // Format complete datetime
130
- const formatDateTime = (date: Date | null): string => {
131
- if (!date) return '';
132
-
133
- const datePart = mode === 'time' ? '' : formatDate(date);
134
- const timePart = mode === 'date' ? '' : formatTime(date);
135
-
136
- if (mode === 'datetime') {
137
- return `${datePart} ${timePart}`;
138
- }
139
-
140
- return datePart || timePart;
141
- };
142
-
143
- // Get display value for input
144
- const getDisplayValue = (): string => {
145
- if (isRange && rangeValue) {
146
- const start = rangeValue.start ? formatDateTime(rangeValue.start) : '';
147
- const end = rangeValue.end ? formatDateTime(rangeValue.end) : '';
148
- return start && end ? `${start} - ${end}` : start || end || '';
149
- }
150
-
151
- return formatDateTime(value || null);
152
- };
153
-
154
- // Generate calendar days
155
- const getCalendarDays = () => {
156
- const year = viewDate.getFullYear();
157
- const month = viewDate.getMonth();
158
-
159
- const firstDay = new Date(year, month, 1);
160
- const startDate = new Date(firstDay);
161
- startDate.setDate(startDate.getDate() - firstDay.getDay());
162
-
163
- const days: Date[] = [];
164
-
165
- for (let i = 0; i < 42; i++) {
166
- const currentDate = new Date(startDate);
167
- currentDate.setDate(startDate.getDate() + i);
168
- days.push(currentDate);
169
- }
170
-
171
- return days;
172
- };
173
-
174
- // Handle date selection
175
- const handleDateSelect = (date: Date) => {
176
- if (disabled) return;
177
-
178
- // Check date constraints
179
- if (minDate && date < minDate) return;
180
- if (maxDate && date > maxDate) return;
181
-
182
- if (isRange && onRangeChange) {
183
- if (!rangeValue?.start || (rangeValue.start && rangeValue.end)) {
184
- // Start new range
185
- onRangeChange({ start: date, end: null });
186
- setActiveInput('end');
187
- } else if (rangeValue.start && !rangeValue.end) {
188
- // Complete range
189
- if (date >= rangeValue.start) {
190
- onRangeChange({ start: rangeValue.start, end: date });
191
- } else {
192
- onRangeChange({ start: date, end: rangeValue.start });
193
- }
194
- setActiveInput(null);
195
- if (mode === 'date') setIsOpen(false);
196
- }
197
- } else {
198
- // Single date selection
199
- const newDate = new Date(date);
200
- if (value && (mode === 'datetime' || mode === 'time')) {
201
- // Preserve time when selecting date
202
- newDate.setHours(value.getHours());
203
- newDate.setMinutes(value.getMinutes());
204
- }
205
-
206
- onChange?.(newDate);
207
- if (mode === 'date') setIsOpen(false);
208
- }
209
- };
210
-
211
- // Handle time change
212
- const handleTimeChange = (hours: number, minutes: number) => {
213
- if (disabled) return;
214
-
215
- const newDate = value ? new Date(value) : new Date();
216
- newDate.setHours(hours);
217
- newDate.setMinutes(minutes);
218
-
219
- setTempTime({ hours, minutes });
220
- onChange?.(newDate);
221
- };
222
-
223
- // Handle input click
224
- const handleInputClick = () => {
225
- if (!disabled) {
226
- setIsOpen(true);
227
- if (isRange) setActiveInput('start');
228
- }
229
- };
230
-
231
- // Handle clear
232
- const handleClear = () => {
233
- if (isRange && onRangeChange) {
234
- onRangeChange({ start: null, end: null });
235
- } else {
236
- onChange?.(null);
237
- }
238
- setIsOpen(false);
239
- };
240
-
241
- // Navigate calendar
242
- const navigateMonth = (direction: 'prev' | 'next') => {
243
- const newDate = new Date(viewDate);
244
- newDate.setMonth(viewDate.getMonth() + (direction === 'prev' ? -1 : 1));
245
- setViewDate(newDate);
246
- };
247
-
248
- // Check if date is selected
249
- const isDateSelected = (date: Date): boolean => {
250
- if (isRange && rangeValue) {
251
- return (rangeValue.start ? isSameDay(date, rangeValue.start) : false) ||
252
- (rangeValue.end ? isSameDay(date, rangeValue.end) : false);
253
- }
254
- return value ? isSameDay(date, value) : false;
255
- };
256
-
257
- // Check if date is in range
258
- const isDateInRange = (date: Date): boolean => {
259
- if (isRange && rangeValue?.start && rangeValue?.end) {
260
- return date >= rangeValue.start && date <= rangeValue.end;
261
- }
262
- return false;
263
- };
264
-
265
- // Utility function to check if dates are same day
266
- const isSameDay = (date1: Date, date2: Date): boolean => {
267
- return date1.getDate() === date2.getDate() &&
268
- date1.getMonth() === date2.getMonth() &&
269
- date1.getFullYear() === date2.getFullYear();
270
- };
271
-
272
- // Check if date is today
273
- const isToday = (date: Date): boolean => {
274
- return isSameDay(date, new Date());
275
- };
276
-
277
- // Check if date is disabled
278
- const isDateDisabled = (date: Date): boolean => {
279
- if (minDate && date < minDate) return true;
280
- if (maxDate && date > maxDate) return true;
281
- return false;
282
- };
283
-
284
- const variantClasses = {
285
- default: 'h-10',
286
- compact: 'h-8 text-sm',
287
- inline: 'border-0 bg-transparent p-0'
288
- };
289
-
290
- const calendarDays = getCalendarDays();
291
-
292
- if (variant === 'inline') {
293
- return (
294
- <div
295
- className={cn('inline-block', className)}
296
- data-component-name="DateTimePicker"
297
- ref={containerRef}
298
- >
299
- {/* Inline Calendar */}
300
- <div className="bg-card border border-border rounded p-4 shadow-category-1">
301
- {(mode === 'date' || mode === 'datetime') && (
302
- <div className="space-y-4">
303
- {/* Calendar Header */}
304
- <div className="flex items-center justify-between">
305
- <Button
306
- variant="ghost"
307
- size="sm"
308
- onClick={() => navigateMonth('prev')}
309
- disabled={disabled}
310
- className="h-8 w-8 p-0"
311
- >
312
- <ChevronLeft className="w-4 h-4" />
313
- </Button>
314
- <h3 className="text-sm font-semibold text-foreground">
315
- {MONTHS[viewDate.getMonth()]} {viewDate.getFullYear()}
316
- </h3>
317
- <Button
318
- variant="ghost"
319
- size="sm"
320
- onClick={() => navigateMonth('next')}
321
- disabled={disabled}
322
- className="h-8 w-8 p-0"
323
- >
324
- <ChevronRight className="w-4 h-4" />
325
- </Button>
326
- </div>
327
-
328
- {/* Calendar Grid */}
329
- <div className="grid grid-cols-7 gap-1">
330
- {/* Weekday headers */}
331
- {WEEKDAYS.map(day => (
332
- <div key={day} className="text-xs font-medium text-muted-foreground text-center p-2">
333
- {day}
334
- </div>
335
- ))}
336
-
337
- {/* Calendar days */}
338
- {calendarDays.map((date, index) => {
339
- const isCurrentMonth = date.getMonth() === viewDate.getMonth();
340
- const isSelected = isDateSelected(date);
341
- const isInRange = isDateInRange(date);
342
- const isTodayDate = isToday(date);
343
- const isDisabled = isDateDisabled(date);
344
-
345
- return (
346
- <button
347
- key={index}
348
- onClick={() => handleDateSelect(date)}
349
- disabled={disabled || isDisabled}
350
- className={cn(
351
- 'h-8 w-8 text-xs rounded transition-colors',
352
- 'hover:bg-accent hover:text-accent-foreground',
353
- 'focus:outline-none focus:ring-2 focus:ring-primary/20',
354
- 'disabled:opacity-50 disabled:cursor-not-allowed',
355
- !isCurrentMonth && 'text-muted-foreground/50',
356
- isSelected && 'bg-primary text-primary-foreground hover:bg-primary-hover',
357
- isInRange && !isSelected && 'bg-primary/20',
358
- isTodayDate && !isSelected && 'bg-accent text-accent-foreground font-semibold'
359
- )}
360
- >
361
- {date.getDate()}
362
- </button>
363
- );
364
- })}
365
- </div>
366
- </div>
367
- )}
368
-
369
- {/* Time Picker for inline datetime/time mode */}
370
- {(mode === 'time' || mode === 'datetime') && (
371
- <div className={cn('space-y-3', mode === 'datetime' && 'border-t border-border pt-4 mt-4')}>
372
- <div className="flex items-center gap-2">
373
- <Clock className="w-4 h-4 text-muted-foreground" />
374
- <span className="text-sm font-medium text-foreground">Time</span>
375
- </div>
376
-
377
- <div className="flex items-center gap-2">
378
- <select
379
- value={tempTime.hours}
380
- onChange={(e) => handleTimeChange(parseInt(e.target.value), tempTime.minutes)}
381
- disabled={disabled}
382
- className="px-2 py-1 text-sm border border-border rounded bg-background text-foreground"
383
- >
384
- {Array.from({ length: 24 }, (_, i) => (
385
- <option key={i} value={i}>
386
- {timeFormat === '12h'
387
- ? (i === 0 ? '12' : i > 12 ? i - 12 : i)
388
- : i.toString().padStart(2, '0')
389
- }
390
- </option>
391
- ))}
392
- </select>
393
- <span className="text-foreground">:</span>
394
- <select
395
- value={tempTime.minutes}
396
- onChange={(e) => handleTimeChange(tempTime.hours, parseInt(e.target.value))}
397
- disabled={disabled}
398
- className="px-2 py-1 text-sm border border-border rounded bg-background text-foreground"
399
- >
400
- {Array.from({ length: 60 }, (_, i) => (
401
- <option key={i} value={i}>
402
- {i.toString().padStart(2, '0')}
403
- </option>
404
- ))}
405
- </select>
406
- {timeFormat === '12h' && (
407
- <select
408
- value={tempTime.hours >= 12 ? 'PM' : 'AM'}
409
- onChange={(e) => {
410
- const isPM = e.target.value === 'PM';
411
- const newHours = isPM
412
- ? (tempTime.hours % 12) + 12
413
- : tempTime.hours % 12;
414
- handleTimeChange(newHours, tempTime.minutes);
415
- }}
416
- disabled={disabled}
417
- className="px-2 py-1 text-sm border border-border rounded bg-background text-foreground"
418
- >
419
- <option value="AM">AM</option>
420
- <option value="PM">PM</option>
421
- </select>
422
- )}
423
- </div>
424
- </div>
425
- )}
426
- </div>
427
- </div>
428
- );
429
- }
430
-
431
- return (
432
- <div
433
- className={cn('relative', className)}
434
- data-component-name="DateTimePicker"
435
- ref={containerRef}
436
- >
437
- {/* Input Field */}
438
- <div className="relative">
439
- <Input
440
- ref={inputRef}
441
- value={getDisplayValue()}
442
- onClick={handleInputClick}
443
- placeholder={placeholder || `Select ${mode}...`}
444
- readOnly
445
- disabled={disabled}
446
- aria-label={ariaLabel}
447
- className={cn(
448
- variantClasses[variant],
449
- 'pr-20 cursor-pointer',
450
- error && 'border-status-error focus:border-status-error focus:ring-status-error/20',
451
- disabled && 'cursor-not-allowed'
452
- )}
453
- {...props}
454
- />
455
-
456
- {/* Input Icons */}
457
- <div className="absolute inset-y-0 right-0 flex items-center pr-3 gap-1">
458
- {clearable && getDisplayValue() && !disabled && (
459
- <Button
460
- variant="ghost"
461
- size="sm"
462
- onClick={handleClear}
463
- className="h-6 w-6 p-0 hover:bg-muted"
464
- >
465
- <X className="w-4 h-4" />
466
- </Button>
467
- )}
468
-
469
- <div className="text-muted-foreground">
470
- {mode === 'time' ? (
471
- <Clock className="w-4 h-4" />
472
- ) : (
473
- <Calendar className="w-4 h-4" />
474
- )}
475
- </div>
476
- </div>
477
- </div>
478
-
479
- {/* Dropdown Picker */}
480
- {isOpen && (
481
- <div className="absolute top-full left-0 z-50 mt-1 bg-card border border-border rounded shadow-category-1 p-4 min-w-[300px]">
482
- {(mode === 'date' || mode === 'datetime') && (
483
- <div className="space-y-4">
484
- {/* Calendar Header */}
485
- <div className="flex items-center justify-between">
486
- <Button
487
- variant="ghost"
488
- size="sm"
489
- onClick={() => navigateMonth('prev')}
490
- disabled={disabled}
491
- className="h-8 w-8 p-0"
492
- >
493
- <ChevronLeft className="w-4 h-4" />
494
- </Button>
495
- <h3 className="text-sm font-semibold text-foreground">
496
- {MONTHS[viewDate.getMonth()]} {viewDate.getFullYear()}
497
- </h3>
498
- <Button
499
- variant="ghost"
500
- size="sm"
501
- onClick={() => navigateMonth('next')}
502
- disabled={disabled}
503
- className="h-8 w-8 p-0"
504
- >
505
- <ChevronRight className="w-4 h-4" />
506
- </Button>
507
- </div>
508
-
509
- {/* Calendar Grid */}
510
- <div className="grid grid-cols-7 gap-1">
511
- {/* Weekday headers */}
512
- {WEEKDAYS.map(day => (
513
- <div key={day} className="text-xs font-medium text-muted-foreground text-center p-2">
514
- {day}
515
- </div>
516
- ))}
517
-
518
- {/* Calendar days */}
519
- {calendarDays.map((date, index) => {
520
- const isCurrentMonth = date.getMonth() === viewDate.getMonth();
521
- const isSelected = isDateSelected(date);
522
- const isInRange = isDateInRange(date);
523
- const isTodayDate = isToday(date);
524
- const isDisabled = isDateDisabled(date);
525
-
526
- return (
527
- <button
528
- key={index}
529
- onClick={() => handleDateSelect(date)}
530
- disabled={disabled || isDisabled}
531
- className={cn(
532
- 'h-8 w-8 text-xs rounded transition-colors',
533
- 'hover:bg-accent hover:text-accent-foreground',
534
- 'focus:outline-none focus:ring-2 focus:ring-primary/20',
535
- 'disabled:opacity-50 disabled:cursor-not-allowed',
536
- !isCurrentMonth && 'text-muted-foreground/50',
537
- isSelected && 'bg-primary text-primary-foreground hover:bg-primary-hover',
538
- isInRange && !isSelected && 'bg-primary/20',
539
- isTodayDate && !isSelected && 'bg-accent text-accent-foreground font-semibold'
540
- )}
541
- >
542
- {date.getDate()}
543
- </button>
544
- );
545
- })}
546
- </div>
547
- </div>
548
- )}
549
-
550
- {/* Time Picker */}
551
- {(mode === 'time' || mode === 'datetime') && (
552
- <div className={cn('space-y-3', mode === 'datetime' && 'border-t border-border pt-4 mt-4')}>
553
- <div className="flex items-center gap-2">
554
- <Clock className="w-4 h-4 text-muted-foreground" />
555
- <span className="text-sm font-medium text-foreground">Time</span>
556
- </div>
557
-
558
- <div className="flex items-center gap-2">
559
- <select
560
- value={tempTime.hours}
561
- onChange={(e) => handleTimeChange(parseInt(e.target.value), tempTime.minutes)}
562
- disabled={disabled}
563
- className="px-2 py-1 text-sm border border-border rounded bg-background text-foreground"
564
- >
565
- {Array.from({ length: 24 }, (_, i) => (
566
- <option key={i} value={i}>
567
- {timeFormat === '12h'
568
- ? (i === 0 ? '12' : i > 12 ? i - 12 : i)
569
- : i.toString().padStart(2, '0')
570
- }
571
- </option>
572
- ))}
573
- </select>
574
- <span className="text-foreground">:</span>
575
- <select
576
- value={tempTime.minutes}
577
- onChange={(e) => handleTimeChange(tempTime.hours, parseInt(e.target.value))}
578
- disabled={disabled}
579
- className="px-2 py-1 text-sm border border-border rounded bg-background text-foreground"
580
- >
581
- {Array.from({ length: 60 }, (_, i) => (
582
- <option key={i} value={i}>
583
- {i.toString().padStart(2, '0')}
584
- </option>
585
- ))}
586
- </select>
587
- {timeFormat === '12h' && (
588
- <select
589
- value={tempTime.hours >= 12 ? 'PM' : 'AM'}
590
- onChange={(e) => {
591
- const isPM = e.target.value === 'PM';
592
- const newHours = isPM
593
- ? (tempTime.hours % 12) + 12
594
- : tempTime.hours % 12;
595
- handleTimeChange(newHours, tempTime.minutes);
596
- }}
597
- disabled={disabled}
598
- className="px-2 py-1 text-sm border border-border rounded bg-background text-foreground"
599
- >
600
- <option value="AM">AM</option>
601
- <option value="PM">PM</option>
602
- </select>
603
- )}
604
- </div>
605
- </div>
606
- )}
607
- </div>
608
- )}
609
- </div>
610
- );
611
- };
@@ -1,2 +0,0 @@
1
- export { DateTimePicker } from './DateTimePicker';
2
- export type { DateTimePickerProps } from './DateTimePicker';