@joelbarron/react-web-dev-kit 0.1.6 → 0.1.8

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 (72) hide show
  1. package/dist/auth/client.d.ts +2 -1
  2. package/dist/auth/client.d.ts.map +1 -1
  3. package/dist/auth/client.js +12 -0
  4. package/dist/auth/forms/sign-up/AuthSignUpForm.d.ts.map +1 -1
  5. package/dist/auth/forms/sign-up/AuthSignUpForm.js +5 -2
  6. package/dist/auth/fuse/createFuseAuthViews.d.ts.map +1 -1
  7. package/dist/auth/fuse/createFuseAuthViews.js +53 -3
  8. package/dist/auth/fuse/fuseAdapter.d.ts +2 -1
  9. package/dist/auth/fuse/fuseAdapter.d.ts.map +1 -1
  10. package/dist/auth/fuse/fuseAdapter.js +20 -0
  11. package/dist/auth/types.d.ts +12 -0
  12. package/dist/auth/types.d.ts.map +1 -1
  13. package/dist/core/buttons/JBButton.d.ts +8 -0
  14. package/dist/core/buttons/JBButton.d.ts.map +1 -0
  15. package/dist/core/buttons/JBButton.js +55 -0
  16. package/dist/core/buttons/index.d.ts +2 -0
  17. package/dist/core/buttons/index.d.ts.map +1 -0
  18. package/dist/core/buttons/index.js +1 -0
  19. package/dist/core/index.d.ts +1 -0
  20. package/dist/core/index.d.ts.map +1 -1
  21. package/dist/core/index.js +1 -0
  22. package/dist/core/layout/JBContentContainer.d.ts +5 -1
  23. package/dist/core/layout/JBContentContainer.d.ts.map +1 -1
  24. package/dist/core/layout/JBContentContainer.js +12 -4
  25. package/dist/core/layout/JBFormHeader.d.ts.map +1 -1
  26. package/dist/core/layout/JBFormHeader.js +43 -68
  27. package/dist/forms/JBAutocompleteField.d.ts +12 -0
  28. package/dist/forms/JBAutocompleteField.d.ts.map +1 -0
  29. package/dist/forms/JBAutocompleteField.js +20 -0
  30. package/dist/forms/JBDatePickerField.d.ts +1 -0
  31. package/dist/forms/JBDatePickerField.d.ts.map +1 -1
  32. package/dist/forms/JBDatePickerField.js +43 -10
  33. package/dist/forms/JBTimePickerField.d.ts.map +1 -1
  34. package/dist/forms/JBTimePickerField.js +10 -9
  35. package/dist/forms/index.d.ts +1 -0
  36. package/dist/forms/index.d.ts.map +1 -1
  37. package/dist/forms/index.js +1 -0
  38. package/dist/grid/JBGrid.d.ts.map +1 -1
  39. package/dist/grid/JBGrid.js +63 -6
  40. package/dist/grid/JBGridHeader.d.ts.map +1 -1
  41. package/dist/grid/JBGridHeader.js +13 -11
  42. package/dist/grid/JBGridProviders.d.ts.map +1 -1
  43. package/dist/grid/JBGridProviders.js +9 -2
  44. package/dist/grid/defaults.d.ts.map +1 -1
  45. package/dist/grid/defaults.js +2 -0
  46. package/dist/grid/types.d.ts +11 -2
  47. package/dist/grid/types.d.ts.map +1 -1
  48. package/dist/hooks/index.d.ts +1 -0
  49. package/dist/hooks/index.d.ts.map +1 -1
  50. package/dist/hooks/index.js +1 -0
  51. package/dist/hooks/useJBEntityFormController.d.ts +54 -0
  52. package/dist/hooks/useJBEntityFormController.d.ts.map +1 -0
  53. package/dist/hooks/useJBEntityFormController.js +156 -0
  54. package/dist/utils/geo.d.ts +9 -0
  55. package/dist/utils/geo.d.ts.map +1 -0
  56. package/dist/utils/geo.js +186 -0
  57. package/dist/utils/index.d.ts +1 -0
  58. package/dist/utils/index.d.ts.map +1 -1
  59. package/dist/utils/index.js +1 -0
  60. package/package.json +1 -1
  61. package/dist/auth/ui/SignInPageTitle.d.ts +0 -6
  62. package/dist/auth/ui/SignInPageTitle.d.ts.map +0 -1
  63. package/dist/auth/ui/SignInPageTitle.js +0 -7
  64. package/dist/auth/ui/SignOutPageTitle.d.ts +0 -6
  65. package/dist/auth/ui/SignOutPageTitle.d.ts.map +0 -1
  66. package/dist/auth/ui/SignOutPageTitle.js +0 -7
  67. package/dist/auth/ui/SignUpPageTitle.d.ts +0 -6
  68. package/dist/auth/ui/SignUpPageTitle.d.ts.map +0 -1
  69. package/dist/auth/ui/SignUpPageTitle.js +0 -7
  70. package/dist/grid/JBFormHeader.d.ts +0 -2
  71. package/dist/grid/JBFormHeader.d.ts.map +0 -1
  72. package/dist/grid/JBFormHeader.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import { AxiosInstance } from 'axios';
2
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';
3
+ import { AccountUpdatePayload, AccountConfirmationPayload, AccountConfirmationResendPayload, ApiDetailResponse, CreateAdminUserPayload, CreateProfilePayload, CreateAuthenticatedAxiosOptions, DeleteAccountPayload, JbDrfAuthConfig, JbDrfAuthEndpoints, JbDrfWebAuthResponse, LinkSocialPayload, LoginBasicPayload, MagicLinkConsumePayload, LoginSocialPrecheckResponse, LoginSocialPayload, PasswordChangePayload, PasswordResetConfirmPayload, PasswordResetRequestPayload, ProfilePicturePayload, ProfilesResponse, RegisterPayload, RefreshPayload, RequestOtpPayload, SwitchProfilePayload, TokenPair, TokenStorage, UnlinkSocialPayload, UpdateProfilePayload, VerifyOtpPayload } from './types';
4
4
  export declare const createAuthEndpoints: (basePath?: string) => JbDrfAuthEndpoints;
5
5
  export declare const defaultAuthEndpoints: JbDrfAuthEndpoints;
6
6
  export type AuthClient = {
@@ -19,6 +19,7 @@ export type AuthClient = {
19
19
  unlinkSocial: (payload: UnlinkSocialPayload) => Promise<Record<string, unknown>>;
20
20
  requestOtp: (payload: RequestOtpPayload) => Promise<Record<string, unknown>>;
21
21
  verifyOtp: (payload: VerifyOtpPayload) => Promise<JbDrfWebAuthResponse>;
22
+ consumeMagicLink: (payload: MagicLinkConsumePayload) => Promise<JbDrfWebAuthResponse>;
22
23
  register: (payload: RegisterPayload) => Promise<ApiDetailResponse>;
23
24
  confirmAccountEmail: (payload: AccountConfirmationPayload) => Promise<ApiDetailResponse>;
24
25
  resendAccountConfirmation: (payload: AccountConfirmationResendPayload) => Promise<ApiDetailResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/auth/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/auth/client.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export const createAuthEndpoints = (basePath) => {
17
17
  loginSocialPrecheck: `${root}/login/social/precheck/`,
18
18
  loginSocialLink: `${root}/login/social/link/`,
19
19
  loginSocialUnlink: `${root}/login/social/unlink/`,
20
+ loginMagicLinkConsume: `${root}/login/magic-link/consume/`,
20
21
  loginOtpVerify: `${root}/otp/verify/`,
21
22
  otpRequest: `${root}/otp/request/`,
22
23
  register: `${root}/register/`,
@@ -207,6 +208,16 @@ export const createAuthClient = (config) => {
207
208
  saveRefreshToken(refreshTokenValue);
208
209
  return response.data;
209
210
  };
211
+ const consumeMagicLink = async (payload) => {
212
+ const response = await createPublicAxios().post(withBaseUrl(endpoints.loginMagicLinkConsume), withClientPayload(payload, defaultClient));
213
+ const accessToken = response.data.tokens?.accessToken;
214
+ const refreshTokenValue = response.data.tokens?.refreshToken;
215
+ if (accessToken) {
216
+ setAccessToken(accessToken);
217
+ }
218
+ saveRefreshToken(refreshTokenValue);
219
+ return response.data;
220
+ };
210
221
  const register = async (payload) => {
211
222
  const response = await createPublicAxios().post(withBaseUrl(endpoints.register), payload);
212
223
  return normalizeDetailResponse(response.data);
@@ -336,6 +347,7 @@ export const createAuthClient = (config) => {
336
347
  unlinkSocial,
337
348
  requestOtp,
338
349
  verifyOtp,
350
+ consumeMagicLink,
339
351
  register,
340
352
  confirmAccountEmail,
341
353
  resendAccountConfirmation,
@@ -1 +1 @@
1
- {"version":3,"file":"AuthSignUpForm.d.ts","sourceRoot":"","sources":["../../../../src/auth/forms/sign-up/AuthSignUpForm.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAA+C,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3F,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAK9C,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;iBAkCd,CAAC;AAEL,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAEhE,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnE,CAAC;AAeF,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CAuTxD"}
1
+ {"version":3,"file":"AuthSignUpForm.d.ts","sourceRoot":"","sources":["../../../../src/auth/forms/sign-up/AuthSignUpForm.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAkE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9G,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAK9C,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;iBAkCd,CAAC;AAEL,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAEhE,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnE,CAAC;AAeF,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CAyTxD"}
@@ -11,7 +11,7 @@ import _ from 'lodash';
11
11
  import { useEffect, useState } from 'react';
12
12
  import { useForm, useWatch } from 'react-hook-form';
13
13
  import { z } from 'zod';
14
- import { JBCheckboxField, JBSelectField, JBTextField } from '../../../forms';
14
+ import { JBCheckboxField, JBDatePickerField, JBSelectField, JBTextField } from '../../../forms';
15
15
  import { DEFAULT_GENDER, GENDERS, GENDER_SELECT_OPTIONS } from '../../constants';
16
16
  import { AuthPrimaryButton } from '../../ui';
17
17
  import { getDjangoLikePasswordError, isPasswordTooSimilar } from '../password/passwordValidation';
@@ -182,7 +182,10 @@ export function AuthSignUpForm(props) {
182
182
  pb: 1
183
183
  }
184
184
  : null)
185
- }, children: [_jsx(JBTextField, { control: control, name: "firstName", sx: { mb: 3 }, label: "Nombre(s)", autoFocus: true, type: "text", variant: "outlined", required: true, fullWidth: true, disabled: disabled }), _jsx(JBTextField, { control: control, name: "lastName1", sx: { mb: 3 }, label: "Primer apellido", type: "text", variant: "outlined", required: true, fullWidth: true, disabled: disabled }), _jsx(JBTextField, { control: control, name: "lastName2", sx: { mb: 3 }, label: "Segundo apellido", type: "text", variant: "outlined", fullWidth: true, disabled: disabled }), _jsx(JBTextField, { control: control, name: "email", sx: { mb: 3 }, label: "Correo electr\u00F3nico", type: "email", variant: "outlined", required: true, fullWidth: true, disabled: disabled }), _jsx(JBTextField, { control: control, name: "birthday", sx: { mb: 3 }, label: "Fecha de nacimiento", type: "date", InputLabelProps: { shrink: true }, variant: "outlined", fullWidth: true, disabled: disabled }), _jsx(JBSelectField, { control: control, name: "gender", sx: { mb: 3 }, label: "G\u00E9nero", variant: "outlined", fullWidth: true, options: GENDER_SELECT_OPTIONS, disabled: disabled }), signupRoleOptions.length > 0 ? (_jsx(JBSelectField, { control: control, name: "role", sx: { mb: 3 }, label: "Rol de perfil", variant: "outlined", fullWidth: true, options: signupRoleOptions, required: true, disabled: disabled })) : null, _jsx(JBTextField, { control: control, name: "password", sx: { mb: 3 }, label: "Contrase\u00F1a", type: showPassword ? 'text' : 'password', InputProps: {
185
+ }, children: [_jsx(JBTextField, { control: control, name: "firstName", sx: { mb: 3 }, label: "Nombre(s)", autoFocus: true, type: "text", variant: "outlined", required: true, fullWidth: true, disabled: disabled }), _jsx(JBTextField, { control: control, name: "lastName1", sx: { mb: 3 }, label: "Primer apellido", type: "text", variant: "outlined", required: true, fullWidth: true, disabled: disabled }), _jsx(JBTextField, { control: control, name: "lastName2", sx: { mb: 3 }, label: "Segundo apellido", type: "text", variant: "outlined", fullWidth: true, disabled: disabled }), _jsx(JBTextField, { control: control, name: "email", sx: { mb: 3 }, label: "Correo electr\u00F3nico", type: "email", variant: "outlined", required: true, fullWidth: true, disabled: disabled }), _jsx(JBDatePickerField, { control: control, name: "birthday", sx: { mb: 3 }, label: "Fecha de nacimiento", disableFuture: true, storeAsDateString: true, textFieldProps: {
186
+ variant: 'outlined',
187
+ fullWidth: true
188
+ }, disabled: disabled }), _jsx(JBSelectField, { control: control, name: "gender", sx: { mb: 3 }, label: "G\u00E9nero", variant: "outlined", fullWidth: true, options: GENDER_SELECT_OPTIONS, disabled: disabled }), signupRoleOptions.length > 0 ? (_jsx(JBSelectField, { control: control, name: "role", sx: { mb: 3 }, label: "Rol de perfil", variant: "outlined", fullWidth: true, options: signupRoleOptions, required: true, disabled: disabled })) : null, _jsx(JBTextField, { control: control, name: "password", sx: { mb: 3 }, label: "Contrase\u00F1a", type: showPassword ? 'text' : 'password', InputProps: {
186
189
  endAdornment: (_jsx(InputAdornment, { position: "end", children: _jsx(IconButton, { edge: "end", "aria-label": showPassword ? 'Ocultar contraseña' : 'Mostrar contraseña', onClick: () => setShowPassword((prev) => !prev), children: showPassword ? _jsx(VisibilityOffOutlinedIcon, {}) : _jsx(VisibilityOutlinedIcon, {}) }) }))
187
190
  }, variant: "outlined", required: true, fullWidth: true, disabled: disabled }), _jsx(JBTextField, { control: control, name: "passwordConfirm", sx: { mb: 3 }, label: "Confirmar contrase\u00F1a", type: showPasswordConfirm ? 'text' : 'password', InputProps: {
188
191
  endAdornment: (_jsx(InputAdornment, { position: "end", children: _jsx(IconButton, { edge: "end", "aria-label": showPasswordConfirm ? 'Ocultar confirmación de contraseña' : 'Mostrar confirmación de contraseña', onClick: () => setShowPasswordConfirm((prev) => !prev), children: showPasswordConfirm ? _jsx(VisibilityOffOutlinedIcon, {}) : _jsx(VisibilityOutlinedIcon, {}) }) }))
@@ -1 +1 @@
1
- {"version":3,"file":"createFuseAuthViews.d.ts","sourceRoot":"","sources":["../../../src/auth/fuse/createFuseAuthViews.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAY3E,OAAO,EACL,iBAAiB,EAKlB,MAAM,OAAO,CAAC;AA4hBf,KAAK,0BAA0B,GAAG;IAChC,aAAa,EAAE,iBAAiB,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iBAAiB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,KAAK,IAAI,CAAC;CACZ,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B;;;;;;;EAuYtE"}
1
+ {"version":3,"file":"createFuseAuthViews.d.ts","sourceRoot":"","sources":["../../../src/auth/fuse/createFuseAuthViews.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAY3E,OAAO,EACL,iBAAiB,EAKlB,MAAM,OAAO,CAAC;AA4hBf,KAAK,0BAA0B,GAAG;IAChC,aAAa,EAAE,iBAAiB,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iBAAiB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,KAAK,IAAI,CAAC;CACZ,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B;;;;;;;EAwctE"}
@@ -5,7 +5,7 @@ import PersonAddAlt1OutlinedIcon from '@mui/icons-material/PersonAddAlt1Outlined
5
5
  import Alert from "@mui/material/Alert";
6
6
  import Box from "@mui/material/Box";
7
7
  import Typography from "@mui/material/Typography";
8
- import { useCallback, useMemo, useRef, useState } from "react";
8
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
9
9
  import { useNavigate, useSearchParams } from "react-router";
10
10
  import { AuthAccountConfirmationForm, AuthForgotPasswordForm, AuthOtpSignInForm, AuthPasswordResetConfirmForm, AuthPasswordSignInForm, AuthSignUpForm, } from "../forms";
11
11
  import { parseAuthError } from "../forms/errorParser";
@@ -251,9 +251,13 @@ export function createFuseAuthViews(options) {
251
251
  const { LinkComponent, accountConfirmationPath = "/verify-email", signUpRoleOptions, defaultSignUpRole, socialConfig, showDebugSocial = false, onSignUpSuccess, } = options;
252
252
  function SignInPageView() {
253
253
  const [mode, setMode] = useState("password");
254
- const { signInSocial, signInSocialPrecheck } = useFuseJwtAuth();
254
+ const { signInMagicLink, signInSocial, signInSocialPrecheck } = useFuseJwtAuth();
255
+ const [searchParams, setSearchParams] = useSearchParams();
255
256
  const [socialLoadingProvider, setSocialLoadingProvider] = useState(null);
256
257
  const [socialError, setSocialError] = useState(null);
258
+ const [magicLinkState, setMagicLinkState] = useState("idle");
259
+ const [magicLinkError, setMagicLinkError] = useState(null);
260
+ const attemptedMagicLinkRef = useRef("");
257
261
  const signupRoleOptions = (signUpRoleOptions ?? [])
258
262
  .filter((roleOption) => roleOption.allowSignup === true)
259
263
  .map((roleOption) => ({
@@ -262,7 +266,42 @@ export function createFuseAuthViews(options) {
262
266
  }));
263
267
  const { requestRoleSelection, dialog, hasRoleOptions } = useRoleSelectionDialog(signupRoleOptions, defaultSignUpRole);
264
268
  const enabledSocialProviders = useMemo(() => getEnabledSocialProviders(socialConfig, showDebugSocial), [socialConfig, showDebugSocial]);
269
+ const magicLinkToken = useMemo(() => (searchParams.get("mlt") || "").trim(), [searchParams]);
265
270
  const isAuthFlowBusy = socialLoadingProvider !== null;
271
+ useEffect(() => {
272
+ if (!magicLinkToken) {
273
+ setMagicLinkState("idle");
274
+ setMagicLinkError(null);
275
+ return;
276
+ }
277
+ if (attemptedMagicLinkRef.current === magicLinkToken) {
278
+ return;
279
+ }
280
+ attemptedMagicLinkRef.current = magicLinkToken;
281
+ setMagicLinkState("loading");
282
+ setMagicLinkError(null);
283
+ let active = true;
284
+ signInMagicLink({ token: magicLinkToken })
285
+ .then(() => {
286
+ if (!active) {
287
+ return;
288
+ }
289
+ const nextParams = new URLSearchParams(searchParams);
290
+ nextParams.delete("mlt");
291
+ setSearchParams(nextParams, { replace: true });
292
+ })
293
+ .catch((error) => {
294
+ if (!active) {
295
+ return;
296
+ }
297
+ const parsed = parseAuthError(error);
298
+ setMagicLinkError(parsed.rootMessage || "La liga de acceso es inválida o expiró.");
299
+ setMagicLinkState("error");
300
+ });
301
+ return () => {
302
+ active = false;
303
+ };
304
+ }, [magicLinkToken, searchParams, setSearchParams, signInMagicLink]);
266
305
  const onSocialClick = useCallback(async (provider) => {
267
306
  const providerConfig = enabledSocialProviders.find((item) => item.provider === provider);
268
307
  if (!providerConfig) {
@@ -316,6 +355,17 @@ export function createFuseAuthViews(options) {
316
355
  setSocialLoadingProvider(null);
317
356
  }
318
357
  }, [enabledSocialProviders, hasRoleOptions, requestRoleSelection, showDebugSocial, signInSocial, signInSocialPrecheck]);
358
+ if (magicLinkToken && magicLinkState === "loading") {
359
+ return (_jsxs(Box, { sx: {
360
+ mx: { xs: "auto", sm: 0 },
361
+ width: { xs: "100%", sm: 320 },
362
+ maxWidth: 320,
363
+ display: "flex",
364
+ flexDirection: "column",
365
+ gap: 2,
366
+ alignItems: "center"
367
+ }, children: [_jsx(AuthPageTitle, { title: "Accediendo..." }), _jsx(Typography, { sx: { fontSize: 16, textAlign: "center" }, color: "text.secondary", children: "Validando liga de acceso segura." })] }));
368
+ }
319
369
  return (_jsxs(Box, { sx: {
320
370
  mx: { xs: "auto", sm: 0 },
321
371
  width: { xs: "100%", sm: 320 },
@@ -323,7 +373,7 @@ export function createFuseAuthViews(options) {
323
373
  display: "flex",
324
374
  flexDirection: "column",
325
375
  gap: 4,
326
- }, children: [_jsx(AuthPageTitle, { title: "Iniciar sesi\u00F3n" }), _jsxs(Box, { sx: { width: "100%" }, children: [_jsx(FuseSignInController, { LinkComponent: LinkComponent, mode: mode, disabled: isAuthFlowBusy, requestRoleSelection: requestRoleSelection, onBackToPassword: () => setMode("password") }), mode === "password" && (_jsxs(_Fragment, { children: [_jsx(FuseSignUpCtaSection, { LinkComponent: LinkComponent, disabled: isAuthFlowBusy }), _jsx(FuseAuthAlternativesSection, { onSmsClick: () => setMode("otp"), socialProviders: enabledSocialProviders, onSocialClick: onSocialClick, socialLoadingProvider: socialLoadingProvider, socialError: socialError })] }))] }), dialog] }));
376
+ }, children: [_jsx(AuthPageTitle, { title: "Iniciar sesi\u00F3n" }), magicLinkError ? _jsx(Alert, { severity: "error", children: magicLinkError }) : null, _jsxs(Box, { sx: { width: "100%" }, children: [_jsx(FuseSignInController, { LinkComponent: LinkComponent, mode: mode, disabled: isAuthFlowBusy, requestRoleSelection: requestRoleSelection, onBackToPassword: () => setMode("password") }), mode === "password" && (_jsxs(_Fragment, { children: [_jsx(FuseSignUpCtaSection, { LinkComponent: LinkComponent, disabled: isAuthFlowBusy }), _jsx(FuseAuthAlternativesSection, { onSmsClick: () => setMode("otp"), socialProviders: enabledSocialProviders, onSocialClick: onSocialClick, socialLoadingProvider: socialLoadingProvider, socialError: socialError })] }))] }), dialog] }));
327
377
  }
328
378
  function SignUpPageView() {
329
379
  const [mode, setMode] = useState("password");
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { AuthClient } from '../client';
3
- import { AccountConfirmationPayload, AccountConfirmationResendPayload, LoginSocialPrecheckResponse, LoginSocialPayload, PasswordChangePayload, PasswordResetConfirmPayload, PasswordResetRequestPayload, RegisterPayload, RequestOtpPayload, VerifyOtpPayload } from '../types';
3
+ import { AccountConfirmationPayload, AccountConfirmationResendPayload, LoginSocialPrecheckResponse, LoginSocialPayload, MagicLinkConsumePayload, PasswordChangePayload, PasswordResetConfirmPayload, PasswordResetRequestPayload, RegisterPayload, RequestOtpPayload, VerifyOtpPayload } from '../types';
4
4
  type JsonRecord = Record<string, unknown>;
5
5
  type FuseAuthState<TUser = JsonRecord> = {
6
6
  authStatus: 'configuring' | 'authenticated' | 'unauthenticated';
@@ -17,6 +17,7 @@ export type FuseJwtAuthContextType<TUser = JsonRecord> = FuseAuthState<TUser> &
17
17
  signInSocialPrecheck: (payload: LoginSocialPayload) => Promise<LoginSocialPrecheckResponse>;
18
18
  requestOtp: (payload: RequestOtpPayload) => Promise<Record<string, unknown>>;
19
19
  signInOtp: (payload: VerifyOtpPayload) => Promise<JsonRecord>;
20
+ signInMagicLink: (payload: MagicLinkConsumePayload) => Promise<JsonRecord>;
20
21
  signUp: (payload: RegisterPayload) => Promise<JsonRecord>;
21
22
  confirmAccountEmail: (payload: AccountConfirmationPayload) => Promise<Record<string, unknown>>;
22
23
  resendAccountConfirmation: (payload: AccountConfirmationResendPayload) => Promise<Record<string, unknown>>;
@@ -1 +1 @@
1
- {"version":3,"file":"fuseAdapter.d.ts","sourceRoot":"","sources":["../../../src/auth/fuse/fuseAdapter.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fuseAdapter.d.ts","sourceRoot":"","sources":["../../../src/auth/fuse/fuseAdapter.tsx"],"names":[],"mappings":"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"}
@@ -186,6 +186,24 @@ export const createFuseJwtAuthProvider = (authClient) => {
186
186
  refresh_token: session.refreshToken
187
187
  };
188
188
  }, []);
189
+ const signInMagicLink = useCallback(async (payload) => {
190
+ const session = normalizeSession(await authClient.consumeMagicLink({
191
+ ...payload,
192
+ client: payload.client ?? 'web'
193
+ }));
194
+ setAuthState({
195
+ authStatus: 'authenticated',
196
+ isAuthenticated: true,
197
+ user: session.user
198
+ });
199
+ return {
200
+ user: session.user,
201
+ accessToken: session.accessToken,
202
+ refreshToken: session.refreshToken,
203
+ access_token: session.accessToken,
204
+ refresh_token: session.refreshToken
205
+ };
206
+ }, []);
189
207
  const signUp = useCallback(async (payload) => {
190
208
  const response = await authClient.register(payload);
191
209
  return response;
@@ -227,6 +245,7 @@ export const createFuseJwtAuthProvider = (authClient) => {
227
245
  signInSocialPrecheck,
228
246
  requestOtp,
229
247
  signInOtp,
248
+ signInMagicLink,
230
249
  signUp,
231
250
  confirmAccountEmail,
232
251
  resendAccountConfirmation,
@@ -244,6 +263,7 @@ export const createFuseJwtAuthProvider = (authClient) => {
244
263
  signInSocialPrecheck,
245
264
  requestOtp,
246
265
  signInOtp,
266
+ signInMagicLink,
247
267
  signUp,
248
268
  confirmAccountEmail,
249
269
  resendAccountConfirmation,
@@ -15,6 +15,7 @@ export type JbDrfAuthEndpoints = {
15
15
  loginSocialPrecheck: string;
16
16
  loginSocialLink: string;
17
17
  loginSocialUnlink: string;
18
+ loginMagicLinkConsume: string;
18
19
  loginOtpVerify: string;
19
20
  otpRequest: string;
20
21
  register: string;
@@ -140,6 +141,17 @@ export type VerifyOtpPayload = {
140
141
  notificationToken?: string;
141
142
  };
142
143
  };
144
+ export type MagicLinkConsumePayload = {
145
+ token: string;
146
+ role?: string;
147
+ client?: 'web' | 'mobile';
148
+ device?: {
149
+ platform?: string;
150
+ name?: string;
151
+ token?: string;
152
+ notificationToken?: string;
153
+ };
154
+ };
143
155
  export type RegisterPayload = {
144
156
  email: string;
145
157
  phone?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ButtonProps } from '@mui/material';
2
+ export type JBButtonAction = 'save' | 'edit' | 'cancel' | 'delete' | 'primary' | 'secondary';
3
+ export type JBButtonProps = Omit<ButtonProps, 'size' | 'action'> & {
4
+ action?: JBButtonAction;
5
+ size?: ButtonProps['size'];
6
+ };
7
+ export declare function JBButton(props: JBButtonProps): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=JBButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JBButton.d.ts","sourceRoot":"","sources":["../../../src/core/buttons/JBButton.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAU,WAAW,EAAE,MAAM,eAAe,CAAC;AAGpD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAE7F,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG;IACjE,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5B,CAAC;AA6BF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CA6C5C"}
@@ -0,0 +1,55 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import CloseRoundedIcon from '@mui/icons-material/CloseRounded';
3
+ import DeleteRoundedIcon from '@mui/icons-material/DeleteRounded';
4
+ import EditRoundedIcon from '@mui/icons-material/EditRounded';
5
+ import SaveRoundedIcon from '@mui/icons-material/SaveRounded';
6
+ import { Button } from '@mui/material';
7
+ const ACTION_VARIANT = {
8
+ save: 'contained',
9
+ edit: 'contained',
10
+ cancel: 'outlined',
11
+ delete: 'contained',
12
+ primary: 'contained',
13
+ secondary: 'contained'
14
+ };
15
+ const ACTION_COLOR = {
16
+ save: 'primary',
17
+ edit: 'warning',
18
+ cancel: undefined,
19
+ delete: 'error',
20
+ primary: 'primary',
21
+ secondary: 'secondary'
22
+ };
23
+ const ACTION_ICON = {
24
+ save: _jsx(SaveRoundedIcon, { fontSize: "small" }),
25
+ edit: _jsx(EditRoundedIcon, { fontSize: "small" }),
26
+ cancel: _jsx(CloseRoundedIcon, { fontSize: "small" }),
27
+ delete: _jsx(DeleteRoundedIcon, { fontSize: "small" }),
28
+ primary: undefined,
29
+ secondary: undefined
30
+ };
31
+ export function JBButton(props) {
32
+ const { action, size = 'large', variant, color, startIcon, sx, children, ...rest } = props;
33
+ const resolvedVariant = variant ?? (action ? ACTION_VARIANT[action] : 'contained');
34
+ const resolvedColor = color ?? (action ? ACTION_COLOR[action] : 'primary');
35
+ const resolvedStartIcon = startIcon ?? (action ? ACTION_ICON[action] : undefined);
36
+ return (_jsx(Button, { ...rest, size: size, variant: resolvedVariant, color: resolvedColor, startIcon: resolvedStartIcon, sx: [
37
+ () => ({
38
+ borderRadius: 1.5,
39
+ minHeight: 42,
40
+ px: 2.25,
41
+ fontWeight: 700,
42
+ ...(resolvedVariant === 'contained'
43
+ ? {
44
+ boxShadow: 'none',
45
+ backgroundImage: 'none',
46
+ '&:hover': {
47
+ boxShadow: 'none',
48
+ backgroundImage: 'none'
49
+ }
50
+ }
51
+ : {})
52
+ }),
53
+ ...(Array.isArray(sx) ? sx : sx ? [sx] : [])
54
+ ], children: children }));
55
+ }
@@ -0,0 +1,2 @@
1
+ export * from './JBButton';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/buttons/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './JBButton';
@@ -1,4 +1,5 @@
1
1
  export * from './dialogs';
2
2
  export * from './layout';
3
3
  export * from './skeletons';
4
+ export * from './buttons';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './dialogs';
2
2
  export * from './layout';
3
3
  export * from './skeletons';
4
+ export * from './buttons';
@@ -1,8 +1,12 @@
1
1
  import { SxProps, Theme } from '@mui/material';
2
- import { ReactNode } from 'react';
2
+ import { KeyboardEventHandler, ReactNode } from 'react';
3
3
  export type JBContentContainerProps = {
4
4
  children: ReactNode;
5
5
  header?: ReactNode;
6
+ stickyHeader?: boolean;
7
+ stickyHeaderTop?: number | string;
8
+ stickyHeaderZIndex?: number;
9
+ onKeyDown?: KeyboardEventHandler<HTMLDivElement>;
6
10
  animated?: boolean;
7
11
  animationDelayMs?: number;
8
12
  animationDurationMs?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"JBContentContainer.d.ts","sourceRoot":"","sources":["../../../src/core/layout/JBContentContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACvH,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAE9H,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CAC5B,CAAC;AAKF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CA8EhE"}
1
+ {"version":3,"file":"JBContentContainer.d.ts","sourceRoot":"","sources":["../../../src/core/layout/JBContentContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAExD,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACvH,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAE9H,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CAC5B,CAAC;AAKF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CA2FhE"}
@@ -4,10 +4,10 @@ import { alpha } from '@mui/material/styles';
4
4
  const defaultOuterPadding = { xs: 1.5, sm: 2.5, md: 3 };
5
5
  const defaultContentPadding = { xs: 2.5, sm: 3, md: 4 };
6
6
  export function JBContentContainer(props) {
7
- const { children, header, animated = true, animationDelayMs = 0, animationDurationMs = 260, padding = defaultOuterPadding, contentPadding = defaultContentPadding,
7
+ const { children, header, stickyHeader = true, stickyHeaderTop = 0, stickyHeaderZIndex = 2, onKeyDown, animated = true, animationDelayMs = 0, animationDurationMs = 260, padding = defaultOuterPadding, contentPadding = defaultContentPadding,
8
8
  // borderRadius = 3,
9
9
  withGradient = false, paperSx, headerSx, contentSx } = props;
10
- return (_jsx(Box, { className: "w-full h-full", sx: { p: padding }, children: _jsx(Box, { sx: animated
10
+ return (_jsx(Box, { className: "w-full h-full", sx: { p: padding }, onKeyDown: onKeyDown, children: _jsx(Box, { sx: animated
11
11
  ? {
12
12
  '@keyframes jbFadeSlideIn': {
13
13
  from: { opacity: 0, transform: 'translateY(14px)' },
@@ -18,7 +18,7 @@ export function JBContentContainer(props) {
18
18
  : undefined, children: _jsxs(Paper, { elevation: 0, sx: [
19
19
  (theme) => ({
20
20
  position: 'relative',
21
- overflow: 'hidden',
21
+ overflow: stickyHeader ? 'visible' : 'hidden',
22
22
  // borderRadius,
23
23
  // border: `1px solid ${theme.palette.divider}`,
24
24
  background: withGradient
@@ -32,7 +32,15 @@ export function JBContentContainer(props) {
32
32
  pt: { xs: 2, sm: 2.5 },
33
33
  pb: 0.75,
34
34
  borderBottom: '1px solid',
35
- borderColor: 'divider'
35
+ borderColor: 'divider',
36
+ ...(stickyHeader
37
+ ? {
38
+ position: 'sticky',
39
+ top: stickyHeaderTop,
40
+ zIndex: stickyHeaderZIndex,
41
+ bgcolor: 'background.paper'
42
+ }
43
+ : {})
36
44
  },
37
45
  ...(Array.isArray(headerSx) ? headerSx : headerSx ? [headerSx] : [])
38
46
  ], children: header })) : null, _jsx(Box, { sx: [
@@ -1 +1 @@
1
- {"version":3,"file":"JBFormHeader.d.ts","sourceRoot":"","sources":["../../../src/core/layout/JBFormHeader.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAuRpD"}
1
+ {"version":3,"file":"JBFormHeader.d.ts","sourceRoot":"","sources":["../../../src/core/layout/JBFormHeader.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CA+PpD"}