@joelbarron/react-web-dev-kit 0.1.7 → 0.1.9

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 (272) hide show
  1. package/README.md +65 -160
  2. package/package.json +9 -2
  3. package/dist/auth/client.d.ts +0 -45
  4. package/dist/auth/client.d.ts.map +0 -1
  5. package/dist/auth/client.js +0 -367
  6. package/dist/auth/constants/countryCallingCodes.d.ts +0 -9
  7. package/dist/auth/constants/countryCallingCodes.d.ts.map +0 -1
  8. package/dist/auth/constants/countryCallingCodes.js +0 -209
  9. package/dist/auth/constants/gender.d.ts +0 -9
  10. package/dist/auth/constants/gender.d.ts.map +0 -1
  11. package/dist/auth/constants/gender.js +0 -12
  12. package/dist/auth/constants/index.d.ts +0 -3
  13. package/dist/auth/constants/index.d.ts.map +0 -1
  14. package/dist/auth/constants/index.js +0 -2
  15. package/dist/auth/forms/account/AuthAccountConfirmationForm.d.ts +0 -18
  16. package/dist/auth/forms/account/AuthAccountConfirmationForm.d.ts.map +0 -1
  17. package/dist/auth/forms/account/AuthAccountConfirmationForm.js +0 -167
  18. package/dist/auth/forms/account/index.d.ts +0 -2
  19. package/dist/auth/forms/account/index.d.ts.map +0 -1
  20. package/dist/auth/forms/account/index.js +0 -1
  21. package/dist/auth/forms/errorParser.d.ts +0 -7
  22. package/dist/auth/forms/errorParser.d.ts.map +0 -1
  23. package/dist/auth/forms/errorParser.js +0 -65
  24. package/dist/auth/forms/index.d.ts +0 -6
  25. package/dist/auth/forms/index.d.ts.map +0 -1
  26. package/dist/auth/forms/index.js +0 -5
  27. package/dist/auth/forms/password/AuthForgotPasswordForm.d.ts +0 -16
  28. package/dist/auth/forms/password/AuthForgotPasswordForm.d.ts.map +0 -1
  29. package/dist/auth/forms/password/AuthForgotPasswordForm.js +0 -109
  30. package/dist/auth/forms/password/AuthPasswordResetConfirmForm.d.ts +0 -17
  31. package/dist/auth/forms/password/AuthPasswordResetConfirmForm.d.ts.map +0 -1
  32. package/dist/auth/forms/password/AuthPasswordResetConfirmForm.js +0 -163
  33. package/dist/auth/forms/password/AuthResetPasswordForm.d.ts +0 -12
  34. package/dist/auth/forms/password/AuthResetPasswordForm.d.ts.map +0 -1
  35. package/dist/auth/forms/password/AuthResetPasswordForm.js +0 -22
  36. package/dist/auth/forms/password/index.d.ts +0 -4
  37. package/dist/auth/forms/password/index.d.ts.map +0 -1
  38. package/dist/auth/forms/password/index.js +0 -3
  39. package/dist/auth/forms/password/passwordValidation.d.ts +0 -3
  40. package/dist/auth/forms/password/passwordValidation.d.ts.map +0 -1
  41. package/dist/auth/forms/password/passwordValidation.js +0 -45
  42. package/dist/auth/forms/sign-in/AuthOtpSignInForm.d.ts +0 -24
  43. package/dist/auth/forms/sign-in/AuthOtpSignInForm.d.ts.map +0 -1
  44. package/dist/auth/forms/sign-in/AuthOtpSignInForm.js +0 -227
  45. package/dist/auth/forms/sign-in/AuthPasswordSignInForm.d.ts +0 -22
  46. package/dist/auth/forms/sign-in/AuthPasswordSignInForm.d.ts.map +0 -1
  47. package/dist/auth/forms/sign-in/AuthPasswordSignInForm.js +0 -148
  48. package/dist/auth/forms/sign-in/index.d.ts +0 -3
  49. package/dist/auth/forms/sign-in/index.d.ts.map +0 -1
  50. package/dist/auth/forms/sign-in/index.js +0 -2
  51. package/dist/auth/forms/sign-up/AuthSignUpForm.d.ts +0 -37
  52. package/dist/auth/forms/sign-up/AuthSignUpForm.d.ts.map +0 -1
  53. package/dist/auth/forms/sign-up/AuthSignUpForm.js +0 -190
  54. package/dist/auth/forms/sign-up/index.d.ts +0 -2
  55. package/dist/auth/forms/sign-up/index.d.ts.map +0 -1
  56. package/dist/auth/forms/sign-up/index.js +0 -1
  57. package/dist/auth/fuse/createFuseAuthViews.d.ts +0 -25
  58. package/dist/auth/fuse/createFuseAuthViews.d.ts.map +0 -1
  59. package/dist/auth/fuse/createFuseAuthViews.js +0 -460
  60. package/dist/auth/fuse/fuseAdapter.d.ts +0 -41
  61. package/dist/auth/fuse/fuseAdapter.d.ts.map +0 -1
  62. package/dist/auth/fuse/fuseAdapter.js +0 -271
  63. package/dist/auth/fuse/fuseIntegration.d.ts +0 -61
  64. package/dist/auth/fuse/fuseIntegration.d.ts.map +0 -1
  65. package/dist/auth/fuse/fuseIntegration.js +0 -103
  66. package/dist/auth/fuse/index.d.ts +0 -4
  67. package/dist/auth/fuse/index.d.ts.map +0 -1
  68. package/dist/auth/fuse/index.js +0 -3
  69. package/dist/auth/index.d.ts +0 -11
  70. package/dist/auth/index.d.ts.map +0 -1
  71. package/dist/auth/index.js +0 -10
  72. package/dist/auth/provider.d.ts +0 -35
  73. package/dist/auth/provider.d.ts.map +0 -1
  74. package/dist/auth/provider.js +0 -133
  75. package/dist/auth/query.d.ts +0 -23
  76. package/dist/auth/query.d.ts.map +0 -1
  77. package/dist/auth/query.js +0 -103
  78. package/dist/auth/routes.d.ts +0 -37
  79. package/dist/auth/routes.d.ts.map +0 -1
  80. package/dist/auth/routes.js +0 -75
  81. package/dist/auth/social/providerAuth.d.ts +0 -101
  82. package/dist/auth/social/providerAuth.d.ts.map +0 -1
  83. package/dist/auth/social/providerAuth.js +0 -207
  84. package/dist/auth/storage.d.ts +0 -3
  85. package/dist/auth/storage.d.ts.map +0 -1
  86. package/dist/auth/storage.js +0 -20
  87. package/dist/auth/types.d.ts +0 -226
  88. package/dist/auth/types.d.ts.map +0 -1
  89. package/dist/auth/types.js +0 -1
  90. package/dist/auth/ui/AuthPageTitle.d.ts +0 -7
  91. package/dist/auth/ui/AuthPageTitle.d.ts.map +0 -1
  92. package/dist/auth/ui/AuthPageTitle.js +0 -7
  93. package/dist/auth/ui/AuthPagesMessageSection.d.ts +0 -3
  94. package/dist/auth/ui/AuthPagesMessageSection.d.ts.map +0 -1
  95. package/dist/auth/ui/AuthPagesMessageSection.js +0 -39
  96. package/dist/auth/ui/AuthPrimaryButton.d.ts +0 -9
  97. package/dist/auth/ui/AuthPrimaryButton.d.ts.map +0 -1
  98. package/dist/auth/ui/AuthPrimaryButton.js +0 -19
  99. package/dist/auth/ui/AuthRoleSelectionDialog.d.ts +0 -14
  100. package/dist/auth/ui/AuthRoleSelectionDialog.d.ts.map +0 -1
  101. package/dist/auth/ui/AuthRoleSelectionDialog.js +0 -39
  102. package/dist/auth/ui/AuthRoutePageWrapper.d.ts +0 -12
  103. package/dist/auth/ui/AuthRoutePageWrapper.d.ts.map +0 -1
  104. package/dist/auth/ui/AuthRoutePageWrapper.js +0 -61
  105. package/dist/auth/ui/AuthSecondaryButton.d.ts +0 -7
  106. package/dist/auth/ui/AuthSecondaryButton.d.ts.map +0 -1
  107. package/dist/auth/ui/AuthSecondaryButton.js +0 -18
  108. package/dist/auth/ui/AuthSocialProviderButton.d.ts +0 -11
  109. package/dist/auth/ui/AuthSocialProviderButton.d.ts.map +0 -1
  110. package/dist/auth/ui/AuthSocialProviderButton.js +0 -33
  111. package/dist/auth/ui/index.d.ts +0 -9
  112. package/dist/auth/ui/index.d.ts.map +0 -1
  113. package/dist/auth/ui/index.js +0 -8
  114. package/dist/auth/ui/types.d.ts +0 -15
  115. package/dist/auth/ui/types.d.ts.map +0 -1
  116. package/dist/auth/ui/types.js +0 -1
  117. package/dist/config/createConfig.d.ts +0 -14
  118. package/dist/config/createConfig.d.ts.map +0 -1
  119. package/dist/config/createConfig.js +0 -179
  120. package/dist/config/defaults.d.ts +0 -3
  121. package/dist/config/defaults.d.ts.map +0 -1
  122. package/dist/config/defaults.js +0 -39
  123. package/dist/config/index.d.ts +0 -5
  124. package/dist/config/index.d.ts.map +0 -1
  125. package/dist/config/index.js +0 -4
  126. package/dist/config/merge.d.ts +0 -2
  127. package/dist/config/merge.d.ts.map +0 -1
  128. package/dist/config/merge.js +0 -18
  129. package/dist/config/types.d.ts +0 -53
  130. package/dist/config/types.d.ts.map +0 -1
  131. package/dist/config/types.js +0 -1
  132. package/dist/core/buttons/JBButton.d.ts +0 -8
  133. package/dist/core/buttons/JBButton.d.ts.map +0 -1
  134. package/dist/core/buttons/JBButton.js +0 -55
  135. package/dist/core/buttons/index.d.ts +0 -2
  136. package/dist/core/buttons/index.d.ts.map +0 -1
  137. package/dist/core/buttons/index.js +0 -1
  138. package/dist/core/dialogs/JBConfirmDialog.d.ts +0 -15
  139. package/dist/core/dialogs/JBConfirmDialog.d.ts.map +0 -1
  140. package/dist/core/dialogs/JBConfirmDialog.js +0 -6
  141. package/dist/core/dialogs/index.d.ts +0 -2
  142. package/dist/core/dialogs/index.d.ts.map +0 -1
  143. package/dist/core/dialogs/index.js +0 -1
  144. package/dist/core/index.d.ts +0 -5
  145. package/dist/core/index.d.ts.map +0 -1
  146. package/dist/core/index.js +0 -4
  147. package/dist/core/layout/JBContentContainer.d.ts +0 -31
  148. package/dist/core/layout/JBContentContainer.d.ts.map +0 -1
  149. package/dist/core/layout/JBContentContainer.js +0 -50
  150. package/dist/core/layout/JBFormHeader.d.ts +0 -3
  151. package/dist/core/layout/JBFormHeader.d.ts.map +0 -1
  152. package/dist/core/layout/JBFormHeader.js +0 -131
  153. package/dist/core/layout/index.d.ts +0 -3
  154. package/dist/core/layout/index.d.ts.map +0 -1
  155. package/dist/core/layout/index.js +0 -2
  156. package/dist/core/skeletons/JBFormContentSkeleton.d.ts +0 -5
  157. package/dist/core/skeletons/JBFormContentSkeleton.d.ts.map +0 -1
  158. package/dist/core/skeletons/JBFormContentSkeleton.js +0 -12
  159. package/dist/core/skeletons/JBFormHeaderSkeleton.d.ts +0 -6
  160. package/dist/core/skeletons/JBFormHeaderSkeleton.d.ts.map +0 -1
  161. package/dist/core/skeletons/JBFormHeaderSkeleton.js +0 -19
  162. package/dist/core/skeletons/index.d.ts +0 -3
  163. package/dist/core/skeletons/index.d.ts.map +0 -1
  164. package/dist/core/skeletons/index.js +0 -2
  165. package/dist/forms/JBAutocompleteField.d.ts +0 -12
  166. package/dist/forms/JBAutocompleteField.d.ts.map +0 -1
  167. package/dist/forms/JBAutocompleteField.js +0 -20
  168. package/dist/forms/JBCheckboxField.d.ts +0 -12
  169. package/dist/forms/JBCheckboxField.d.ts.map +0 -1
  170. package/dist/forms/JBCheckboxField.js +0 -36
  171. package/dist/forms/JBDatePickerField.d.ts +0 -12
  172. package/dist/forms/JBDatePickerField.d.ts.map +0 -1
  173. package/dist/forms/JBDatePickerField.js +0 -16
  174. package/dist/forms/JBRadioGroupField.d.ts +0 -10
  175. package/dist/forms/JBRadioGroupField.d.ts.map +0 -1
  176. package/dist/forms/JBRadioGroupField.js +0 -8
  177. package/dist/forms/JBSelectField.d.ts +0 -9
  178. package/dist/forms/JBSelectField.d.ts.map +0 -1
  179. package/dist/forms/JBSelectField.js +0 -8
  180. package/dist/forms/JBSwitchField.d.ts +0 -11
  181. package/dist/forms/JBSwitchField.d.ts.map +0 -1
  182. package/dist/forms/JBSwitchField.js +0 -10
  183. package/dist/forms/JBTextField.d.ts +0 -6
  184. package/dist/forms/JBTextField.d.ts.map +0 -1
  185. package/dist/forms/JBTextField.js +0 -8
  186. package/dist/forms/JBTimePickerField.d.ts +0 -12
  187. package/dist/forms/JBTimePickerField.d.ts.map +0 -1
  188. package/dist/forms/JBTimePickerField.js +0 -16
  189. package/dist/forms/index.d.ts +0 -13
  190. package/dist/forms/index.d.ts.map +0 -1
  191. package/dist/forms/index.js +0 -12
  192. package/dist/forms/rules.d.ts +0 -16
  193. package/dist/forms/rules.d.ts.map +0 -1
  194. package/dist/forms/rules.js +0 -21
  195. package/dist/forms/types.d.ts +0 -12
  196. package/dist/forms/types.d.ts.map +0 -1
  197. package/dist/forms/types.js +0 -1
  198. package/dist/forms/utils.d.ts +0 -5
  199. package/dist/forms/utils.d.ts.map +0 -1
  200. package/dist/forms/utils.js +0 -7
  201. package/dist/forms/zod.d.ts +0 -4
  202. package/dist/forms/zod.d.ts.map +0 -1
  203. package/dist/forms/zod.js +0 -9
  204. package/dist/grid/JBGrid.d.ts +0 -3
  205. package/dist/grid/JBGrid.d.ts.map +0 -1
  206. package/dist/grid/JBGrid.js +0 -333
  207. package/dist/grid/JBGridHeader.d.ts +0 -3
  208. package/dist/grid/JBGridHeader.d.ts.map +0 -1
  209. package/dist/grid/JBGridHeader.js +0 -93
  210. package/dist/grid/JBGridLoading.d.ts +0 -9
  211. package/dist/grid/JBGridLoading.d.ts.map +0 -1
  212. package/dist/grid/JBGridLoading.js +0 -14
  213. package/dist/grid/JBGridProviders.d.ts +0 -13
  214. package/dist/grid/JBGridProviders.d.ts.map +0 -1
  215. package/dist/grid/JBGridProviders.js +0 -47
  216. package/dist/grid/JBGridSkeleton.d.ts +0 -7
  217. package/dist/grid/JBGridSkeleton.d.ts.map +0 -1
  218. package/dist/grid/JBGridSkeleton.js +0 -6
  219. package/dist/grid/defaults.d.ts +0 -4
  220. package/dist/grid/defaults.d.ts.map +0 -1
  221. package/dist/grid/defaults.js +0 -28
  222. package/dist/grid/index.d.ts +0 -8
  223. package/dist/grid/index.d.ts.map +0 -1
  224. package/dist/grid/index.js +0 -7
  225. package/dist/grid/types.d.ts +0 -196
  226. package/dist/grid/types.d.ts.map +0 -1
  227. package/dist/grid/types.js +0 -1
  228. package/dist/hooks/index.d.ts +0 -4
  229. package/dist/hooks/index.d.ts.map +0 -1
  230. package/dist/hooks/index.js +0 -3
  231. package/dist/hooks/useJBDebouncedValue.d.ts +0 -2
  232. package/dist/hooks/useJBDebouncedValue.d.ts.map +0 -1
  233. package/dist/hooks/useJBDebouncedValue.js +0 -11
  234. package/dist/hooks/useJBEntityFormController.d.ts +0 -54
  235. package/dist/hooks/useJBEntityFormController.d.ts.map +0 -1
  236. package/dist/hooks/useJBEntityFormController.js +0 -156
  237. package/dist/hooks/useJBRedirect.d.ts +0 -10
  238. package/dist/hooks/useJBRedirect.d.ts.map +0 -1
  239. package/dist/hooks/useJBRedirect.js +0 -11
  240. package/dist/index.d.ts +0 -9
  241. package/dist/index.d.ts.map +0 -1
  242. package/dist/index.js +0 -8
  243. package/dist/query/createQueryClient.d.ts +0 -8
  244. package/dist/query/createQueryClient.d.ts.map +0 -1
  245. package/dist/query/createQueryClient.js +0 -25
  246. package/dist/query/http.d.ts +0 -3
  247. package/dist/query/http.d.ts.map +0 -1
  248. package/dist/query/http.js +0 -12
  249. package/dist/query/index.d.ts +0 -4
  250. package/dist/query/index.d.ts.map +0 -1
  251. package/dist/query/index.js +0 -3
  252. package/dist/query/types.d.ts +0 -7
  253. package/dist/query/types.d.ts.map +0 -1
  254. package/dist/query/types.js +0 -1
  255. package/dist/utils/errors.d.ts +0 -10
  256. package/dist/utils/errors.d.ts.map +0 -1
  257. package/dist/utils/errors.js +0 -55
  258. package/dist/utils/format.d.ts +0 -4
  259. package/dist/utils/format.d.ts.map +0 -1
  260. package/dist/utils/format.js +0 -28
  261. package/dist/utils/geo.d.ts +0 -9
  262. package/dist/utils/geo.d.ts.map +0 -1
  263. package/dist/utils/geo.js +0 -186
  264. package/dist/utils/index.d.ts +0 -6
  265. package/dist/utils/index.d.ts.map +0 -1
  266. package/dist/utils/index.js +0 -5
  267. package/dist/utils/query.d.ts +0 -2
  268. package/dist/utils/query.d.ts.map +0 -1
  269. package/dist/utils/query.js +0 -4
  270. package/dist/utils/regex.d.ts +0 -7
  271. package/dist/utils/regex.d.ts.map +0 -1
  272. package/dist/utils/regex.js +0 -6
package/README.md CHANGED
@@ -1,24 +1,23 @@
1
1
  # @joelbarron/react-web-dev-kit
2
2
 
3
- Core reusable para apps web React.
3
+ [![npm version](https://img.shields.io/npm/v/%40joelbarron%2Freact-web-dev-kit?label=npm&color=cb3837)](https://www.npmjs.com/package/@joelbarron/react-web-dev-kit)
4
+ [![npm downloads](https://img.shields.io/npm/dm/%40joelbarron%2Freact-web-dev-kit?label=downloads)](https://www.npmjs.com/package/@joelbarron/react-web-dev-kit)
5
+ [![CI](https://img.shields.io/github/actions/workflow/status/joelbarron/jb-react-web-dev-kit/ci.yml?branch=main&label=CI)](https://github.com/joelbarron/jb-react-web-dev-kit/actions/workflows/ci.yml)
6
+ [![Release](https://img.shields.io/github/actions/workflow/status/joelbarron/jb-react-web-dev-kit/release.yml?branch=main&label=release)](https://github.com/joelbarron/jb-react-web-dev-kit/actions/workflows/release.yml)
4
7
 
5
- Incluye:
6
- - `auth` (`createAuthClient` para `jb-drf-auth`)
7
- - `config` (`createJBWebConfig`, overrides por stage/env)
8
- - `forms` (`JBTextField`, `JBSelectField`, `JBCheckboxField`, `JBSwitchField`, `JBRadioGroupField`, `JBDatePickerField`, `JBTimePickerField`)
9
- - `grid` (`JBGrid`, `JBGridHeader`, providers)
10
- - `hooks` y `utils`
8
+ Libreria reusable para apps web React con piezas listas para autenticacion, formularios, grillas, config por ambiente y utilidades comunes.
11
9
 
12
- ## Documentacion por secciones
10
+ ## Que incluye
13
11
 
14
- - [Indice docs](./docs/README.md)
15
- - [Auth](./docs/auth.md)
16
- - [Config](./docs/config.md)
17
- - [Forms](./docs/forms.md)
18
- - [Grid](./docs/grid.md)
19
- - [Query](./docs/query.md)
20
- - [Hooks](./docs/hooks.md)
21
- - [Utils](./docs/utils.md)
12
+ | Modulo | Que aporta | Docs |
13
+ | --- | --- | --- |
14
+ | `auth` | Cliente para `jb-drf-auth`, provider, hooks y rutas de auth | [docs/auth.md](./docs/auth.md) |
15
+ | `config` | Config global por stage y helpers de URL/API | [docs/config.md](./docs/config.md) |
16
+ | `forms` | Campos base sobre React Hook Form + MUI | [docs/forms.md](./docs/forms.md) |
17
+ | `grid` | `JBGrid`, header y providers para tablas | [docs/grid.md](./docs/grid.md) |
18
+ | `query` | QueryClient preconfigurado para React Query | [docs/query.md](./docs/query.md) |
19
+ | `hooks` | Hooks compartidos para casos de app | [docs/hooks.md](./docs/hooks.md) |
20
+ | `utils` | Helpers generales reutilizables | [docs/utils.md](./docs/utils.md) |
22
21
 
23
22
  ## Instalacion
24
23
 
@@ -26,37 +25,35 @@ Incluye:
26
25
  npm i @joelbarron/react-web-dev-kit
27
26
  ```
28
27
 
29
- ## Auth
28
+ Peer deps principales (segun `package.json`):
29
+ - `react >= 19`
30
+ - `react-dom >= 19`
31
+ - `@tanstack/react-query >= 5`
32
+ - `react-hook-form >= 7`
33
+ - `@mui/material >= 5`
34
+
35
+ ## Inicio rapido
36
+
37
+ ### Auth client
30
38
 
31
39
  ```ts
32
- import { createAuthClient } from '@joelbarron/react-web-dev-kit';
40
+ import { createAuthClient } from '@joelbarron/react-web-dev-kit/auth';
33
41
 
34
42
  export const authClient = createAuthClient({
35
43
  apiBaseUrl: import.meta.env.VITE_API_URL,
36
44
  onUnauthorized: () => {
37
- // ejemplo: limpiar estado y redirigir
45
+ window.location.href = '/sign-in';
38
46
  }
39
47
  });
40
-
41
- await authClient.loginBasic({
42
- login: 'demo@mail.com',
43
- password: 'secret',
44
- client: 'web'
45
- });
46
-
47
- const me = await authClient.getMe();
48
48
  ```
49
49
 
50
- ### Auth Provider + Hook
50
+ ### Auth Provider
51
51
 
52
52
  ```tsx
53
- import { JBAuthProvider, useJBAuth, createAuthClient } from '@joelbarron/react-web-dev-kit/auth';
54
-
55
- const authClient = createAuthClient({
56
- apiBaseUrl: import.meta.env.VITE_API_URL
57
- });
53
+ import { JBAuthProvider } from '@joelbarron/react-web-dev-kit/auth';
54
+ import { authClient } from './authClient';
58
55
 
59
- function Root() {
56
+ export function Root() {
60
57
  return (
61
58
  <JBAuthProvider authClient={authClient}>
62
59
  <App />
@@ -65,63 +62,19 @@ function Root() {
65
62
  }
66
63
  ```
67
64
 
68
- ### Auth Routes Factory
69
-
70
- ```tsx
71
- import { createAuthRoutes } from '@joelbarron/react-web-dev-kit/auth';
72
-
73
- const authRoutes = createAuthRoutes({
74
- pages: {
75
- signIn: SignInPage,
76
- signUp: SignUpPage,
77
- forgotPassword: ForgotPasswordPage,
78
- resetPassword: ResetPasswordPage,
79
- signOut: SignOutPage
80
- },
81
- pageComponent: ({ children }) => <AuthLayout>{children}</AuthLayout>,
82
- routeMeta: {
83
- signIn: { auth: ['guest'] },
84
- signUp: { auth: ['guest'] }
85
- }
86
- });
87
- ```
88
-
89
- ### Auth Query Hooks (TanStack Query)
90
-
91
- ```ts
92
- import { createAuthClient, createAuthQueryHooks } from '@joelbarron/react-web-dev-kit/auth';
93
-
94
- const authClient = createAuthClient({
95
- apiBaseUrl: import.meta.env.VITE_API_URL
96
- });
97
-
98
- export const authQueryHooks = createAuthQueryHooks(authClient);
99
- ```
100
-
101
- ## Query Client
65
+ ### Query client
102
66
 
103
67
  ```ts
104
68
  import { createReactWebQueryClient } from '@joelbarron/react-web-dev-kit/query';
105
69
 
106
- const queryClient = createReactWebQueryClient({
70
+ export const queryClient = createReactWebQueryClient({
107
71
  onUnauthorized: () => {
108
72
  window.location.href = '/sign-in';
109
73
  }
110
74
  });
111
75
  ```
112
76
 
113
- ### Auth Forms Base
114
-
115
- Tambien incluye formularios base para auth:
116
- - `AuthPasswordSignInForm`
117
- - `AuthForgotPasswordForm`
118
- - `AuthResetPasswordForm`
119
-
120
- ```tsx
121
- import { AuthPasswordSignInForm } from '@joelbarron/react-web-dev-kit/auth';
122
- ```
123
-
124
- ## Config Global (overrideable)
77
+ ### Config por ambiente
125
78
 
126
79
  ```ts
127
80
  import { createJBWebConfigFromEnv, getApiBaseUrl } from '@joelbarron/react-web-dev-kit/config';
@@ -142,95 +95,47 @@ const appConfig = createJBWebConfigFromEnv(
142
95
  import.meta.env as Record<string, string | undefined>
143
96
  );
144
97
 
145
- const apiBaseUrl = getApiBaseUrl(appConfig);
98
+ export const apiBaseUrl = getApiBaseUrl(appConfig);
146
99
  ```
147
100
 
148
- ## Forms (React Hook Form + MUI)
101
+ ### Forms y Grid
149
102
 
150
103
  ```tsx
151
- import { Controller, useForm } from 'react-hook-form';
152
- import { JBDatePickerField, JBSelectField, JBTextField } from '@joelbarron/react-web-dev-kit';
104
+ import { JBTextField, JBSelectField, JBDatePickerField, JBGrid, JBGridHeader } from '@joelbarron/react-web-dev-kit';
105
+ ```
153
106
 
154
- type FormValues = {
155
- name: string;
156
- status: string;
157
- birthday: Date | null;
158
- };
107
+ Tambien incluye formularios listos de auth:
108
+ - `AuthPasswordSignInForm`
109
+ - `AuthForgotPasswordForm`
110
+ - `AuthResetPasswordForm`
159
111
 
160
- const options = [
161
- { label: 'Active', value: 'ACTIVE' },
162
- { label: 'Inactive', value: 'INACTIVE' }
163
- ];
112
+ ## Versionado y release
164
113
 
165
- function ExampleForm() {
166
- const { control } = useForm<FormValues>({
167
- defaultValues: { name: '', status: '', birthday: null }
168
- });
114
+ Canales publicados en npm:
115
+ - `latest`: versiones estables desde `main`
116
+ - `next`: prereleases (`-rc.x`) desde `next`
169
117
 
170
- return (
171
- <>
172
- <JBTextField
173
- control={control}
174
- name="name"
175
- label="Name"
176
- fullWidth
177
- />
178
- <JBSelectField
179
- control={control}
180
- name="status"
181
- label="Status"
182
- options={options}
183
- fullWidth
184
- />
185
- <JBDatePickerField
186
- control={control}
187
- name="birthday"
188
- label="Birthday"
189
- />
190
- </>
191
- );
192
- }
118
+ Consulta rapida de version y dist-tags:
119
+
120
+ ```bash
121
+ npm view @joelbarron/react-web-dev-kit version dist-tags --json
193
122
  ```
194
123
 
195
- ## Grid
124
+ Guia completa de release automation:
125
+ - [docs/release.md](./docs/release.md)
196
126
 
197
- ```tsx
198
- import { JBGrid, JBGridHeader, JBGridConfig } from '@joelbarron/react-web-dev-kit';
199
- import { useState } from 'react';
200
-
201
- const gridConfig: JBGridConfig = {
202
- columns: [
203
- { name: 'id', title: 'ID' },
204
- { name: 'name', title: 'Name' }
205
- ],
206
- columnsWidths: [
207
- { columnName: 'id', width: 120 },
208
- { columnName: 'name', width: 320 }
209
- ],
210
- defaults: {
211
- pageSize: 10,
212
- allowSelection: true
213
- }
214
- };
127
+ ## Documentacion
215
128
 
216
- function ExampleGrid({ service }: { service: { list: Function } }) {
217
- const [searchText, setSearchText] = useState('');
129
+ - [Indice docs](./docs/README.md)
130
+ - [Auth](./docs/auth.md)
131
+ - [Config](./docs/config.md)
132
+ - [Forms](./docs/forms.md)
133
+ - [Grid](./docs/grid.md)
134
+ - [Query](./docs/query.md)
135
+ - [Hooks](./docs/hooks.md)
136
+ - [Utils](./docs/utils.md)
137
+ - [Release](./docs/release.md)
218
138
 
219
- return (
220
- <>
221
- <JBGridHeader
222
- title="Users"
223
- searchText={searchText}
224
- onSearchTextChange={setSearchText}
225
- />
226
- <JBGrid
227
- gridConfig={gridConfig}
228
- service={service as any}
229
- searchText={searchText}
230
- onSearchTextChange={setSearchText}
231
- onRowSelected={(row) => console.log(row)}
232
- />
233
- </>
234
- );
235
- }
236
- ```
139
+ ## Changelog
140
+
141
+ - [CHANGELOG.md](./CHANGELOG.md)
package/package.json CHANGED
@@ -1,11 +1,15 @@
1
1
  {
2
2
  "name": "@joelbarron/react-web-dev-kit",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "private": false,
5
5
  "sideEffects": false,
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
8
8
  "types": "dist/index.d.ts",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/joelbarron/jb-react-web-dev-kit.git"
12
+ },
9
13
  "exports": {
10
14
  ".": {
11
15
  "types": "./dist/index.d.ts",
@@ -63,8 +67,11 @@
63
67
  "typecheck": "tsc -p tsconfig.json --noEmit",
64
68
  "check:release": "npm run typecheck && npm run clean && npm run build",
65
69
  "changeset": "changeset",
70
+ "release:stable": "bash ./scripts/release-stable.sh",
71
+ "release:rc": "bash ./scripts/release-rc.sh",
66
72
  "release:version": "changeset version",
67
- "release:publish": "changeset publish"
73
+ "release:publish": "changeset publish",
74
+ "release:publish:next": "changeset publish --tag next"
68
75
  },
69
76
  "peerDependencies": {
70
77
  "react": ">=19",
@@ -1,45 +0,0 @@
1
- import { AxiosInstance } from 'axios';
2
- import { JBAppConfig } from '../config';
3
- import { AccountUpdatePayload, AccountConfirmationPayload, AccountConfirmationResendPayload, ApiDetailResponse, CreateAdminUserPayload, CreateProfilePayload, CreateAuthenticatedAxiosOptions, DeleteAccountPayload, JbDrfAuthConfig, JbDrfAuthEndpoints, JbDrfWebAuthResponse, LinkSocialPayload, LoginBasicPayload, LoginSocialPrecheckResponse, LoginSocialPayload, PasswordChangePayload, PasswordResetConfirmPayload, PasswordResetRequestPayload, ProfilePicturePayload, ProfilesResponse, RegisterPayload, RefreshPayload, RequestOtpPayload, SwitchProfilePayload, TokenPair, TokenStorage, UnlinkSocialPayload, UpdateProfilePayload, VerifyOtpPayload } from './types';
4
- export declare const createAuthEndpoints: (basePath?: string) => JbDrfAuthEndpoints;
5
- export declare const defaultAuthEndpoints: JbDrfAuthEndpoints;
6
- export type AuthClient = {
7
- endpoints: JbDrfAuthEndpoints;
8
- tokenStorage: TokenStorage;
9
- getAccessToken: () => string | null;
10
- setAccessToken: (token: string) => void;
11
- clearSession: () => void;
12
- createPublicAxios: () => AxiosInstance;
13
- createAuthenticatedAxios: (options?: CreateAuthenticatedAxiosOptions) => AxiosInstance;
14
- createAuthenticatedAxiosWithRefresh: (options?: CreateAuthenticatedAxiosOptions) => AxiosInstance;
15
- loginBasic: (payload: LoginBasicPayload) => Promise<JbDrfWebAuthResponse>;
16
- loginSocial: (payload: LoginSocialPayload) => Promise<JbDrfWebAuthResponse>;
17
- loginSocialPrecheck: (payload: LoginSocialPayload) => Promise<LoginSocialPrecheckResponse>;
18
- linkSocial: (payload: LinkSocialPayload) => Promise<Record<string, unknown>>;
19
- unlinkSocial: (payload: UnlinkSocialPayload) => Promise<Record<string, unknown>>;
20
- requestOtp: (payload: RequestOtpPayload) => Promise<Record<string, unknown>>;
21
- verifyOtp: (payload: VerifyOtpPayload) => Promise<JbDrfWebAuthResponse>;
22
- register: (payload: RegisterPayload) => Promise<ApiDetailResponse>;
23
- confirmAccountEmail: (payload: AccountConfirmationPayload) => Promise<ApiDetailResponse>;
24
- resendAccountConfirmation: (payload: AccountConfirmationResendPayload) => Promise<ApiDetailResponse>;
25
- getMe: () => Promise<JbDrfWebAuthResponse>;
26
- updateProfilePicture: (payload: ProfilePicturePayload) => Promise<Record<string, unknown>>;
27
- updateAccount: (payload: AccountUpdatePayload, method?: 'PATCH' | 'PUT') => Promise<Record<string, unknown>>;
28
- deleteAccount: (payload: DeleteAccountPayload) => Promise<unknown>;
29
- getProfiles: () => Promise<ProfilesResponse>;
30
- getProfileById: (profileId: number | string) => Promise<Record<string, unknown>>;
31
- createProfile: (payload: CreateProfilePayload) => Promise<Record<string, unknown>>;
32
- updateProfile: (profileId: number | string, payload: UpdateProfilePayload) => Promise<Record<string, unknown>>;
33
- deleteProfile: (profileId: number | string) => Promise<Record<string, unknown>>;
34
- requestPasswordReset: (payload: PasswordResetRequestPayload) => Promise<Record<string, unknown>>;
35
- confirmPasswordReset: (payload: PasswordResetConfirmPayload) => Promise<Record<string, unknown>>;
36
- changePassword: (payload: PasswordChangePayload) => Promise<Record<string, unknown>>;
37
- refreshToken: (payload?: RefreshPayload) => Promise<TokenPair>;
38
- switchProfile: (payload: SwitchProfilePayload) => Promise<JbDrfWebAuthResponse>;
39
- createSuperuser: (payload: CreateAdminUserPayload, bootstrapToken?: string) => Promise<Record<string, unknown>>;
40
- createStaffUser: (payload: CreateAdminUserPayload, bootstrapToken?: string) => Promise<Record<string, unknown>>;
41
- logout: () => void;
42
- };
43
- export declare const createAuthClient: (config: JbDrfAuthConfig) => AuthClient;
44
- export declare const createAuthClientFromJBWebConfig: (appConfig: JBAppConfig, overrides?: Omit<JbDrfAuthConfig, "apiBaseUrl" | "apiBasePath">) => AuthClient;
45
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/auth/client.ts"],"names":[],"mappings":"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"}