@customafk/lunas-ui 0.0.0-r → 0.0.0-s

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.
@@ -58,6 +58,8 @@ interface IAuthFormProps extends HTMLAttributes<HTMLDivElement> {
58
58
  isLoading?: boolean;
59
59
  onSignIn?: (parameters: z.infer<typeof SignInModel>) => void;
60
60
  onSignUp?: (parameters: z.infer<typeof SignUpModel>) => void;
61
+ onChangeToSignIn?: () => void;
62
+ onChangeToSignUp?: () => void;
61
63
  }
62
64
  declare const AuthForm: React.MemoExoticComponent<React.ForwardRefExoticComponent<IAuthFormProps & React.RefAttributes<HTMLDivElement>>>;
63
65
 
@@ -3307,7 +3307,15 @@ import { PuffLoader } from "react-spinners";
3307
3307
  import { jsx as jsx49, jsxs as jsxs26 } from "react/jsx-runtime";
3308
3308
  var AuthForm = memo12(
3309
3309
  forwardRef13(
3310
- ({ initialTitle = "SIGN_IN", isLoading = false, onSignIn, onSignUp, ...props }, reference) => {
3310
+ ({
3311
+ initialTitle = "SIGN_IN",
3312
+ isLoading = false,
3313
+ onSignIn,
3314
+ onSignUp,
3315
+ onChangeToSignIn,
3316
+ onChangeToSignUp,
3317
+ ...props
3318
+ }, reference) => {
3311
3319
  const [state, setState] = useState5(initialTitle);
3312
3320
  const [registerStep, setRegisterStep] = useState5("FIRST");
3313
3321
  const [isDisabledSignIn, setIsDisabledSignIn] = useState5(true);
@@ -3338,11 +3346,19 @@ var AuthForm = memo12(
3338
3346
  const signUpFullname = useWatch({ control: signUpControl, name: "fullname" });
3339
3347
  const signUpPassword = useWatch({ control: signUpControl, name: "password" });
3340
3348
  const signUpConfirmPassword = useWatch({ control: signUpControl, name: "confirmPassword" });
3341
- const handleToggleState = useCallback6((value) => {
3342
- setState(value);
3349
+ const handleChangeToSignIn = useCallback6(() => {
3350
+ setState("SIGN_IN");
3351
+ onChangeToSignIn?.();
3352
+ }, [onChangeToSignIn]);
3353
+ const handleChangeToSignUp = useCallback6(() => {
3354
+ setState("SIGN_OUT");
3355
+ onChangeToSignUp?.();
3356
+ }, [onChangeToSignUp]);
3357
+ const handleSignUpFirstStep = useCallback6(() => {
3358
+ setRegisterStep("FIRST");
3343
3359
  }, []);
3344
- const handleToggleRegisterStep = useCallback6((step) => {
3345
- setRegisterStep(step);
3360
+ const handleSignUpSecondStep = useCallback6(() => {
3361
+ setRegisterStep("SECOND");
3346
3362
  }, []);
3347
3363
  const onSignInSubmit = useCallback6(
3348
3364
  (data) => {
@@ -3387,6 +3403,46 @@ var AuthForm = memo12(
3387
3403
  () => signUpFormState.errors.confirmPassword?.message,
3388
3404
  [signUpFormState.errors.confirmPassword?.message]
3389
3405
  );
3406
+ const signInEmailFieldRender = useCallback6(
3407
+ ({ field }) => /* @__PURE__ */ jsx49(EmailInput_default, { errorMessage: emailErrorMessage, ...field }),
3408
+ [emailErrorMessage]
3409
+ );
3410
+ const signInPwdFieldRender = useCallback6(
3411
+ ({ field }) => /* @__PURE__ */ jsx49(PasswordInput_default, { placeholder: "M\u1EADt kh\u1EA9u", errorMessage: passwordErrorMessage, ...field }),
3412
+ [passwordErrorMessage]
3413
+ );
3414
+ const signUpEmailFieldRender = useCallback6(
3415
+ ({ field }) => /* @__PURE__ */ jsx49(EmailInput_default, { errorMessage: signUpEmailErrorMessage, ...field }),
3416
+ [signUpEmailErrorMessage]
3417
+ );
3418
+ const signUpFullnameFieldRender = useCallback6(
3419
+ ({ field }) => /* @__PURE__ */ jsx49(FullNameInput_default, { errorMessage: signUpFullnameErrorMessage, ...field }),
3420
+ [signUpFullnameErrorMessage]
3421
+ );
3422
+ const signUpPwdFieldRender = useCallback6(
3423
+ ({ field }) => /* @__PURE__ */ jsx49(
3424
+ PasswordInput_default,
3425
+ {
3426
+ placeholder: "M\u1EADt kh\u1EA9u",
3427
+ errorMessage: signUpPasswordErrorMessage,
3428
+ ...field
3429
+ }
3430
+ ),
3431
+ [signUpPasswordErrorMessage]
3432
+ );
3433
+ const signUpConfirmPwdFieldRender = useCallback6(
3434
+ ({
3435
+ field
3436
+ }) => /* @__PURE__ */ jsx49(
3437
+ PasswordInput_default,
3438
+ {
3439
+ placeholder: "Nh\u1EADp l\u1EA1i m\u1EADt kh\u1EA9u",
3440
+ errorMessage: signUpConfirmPasswordErrorMessage,
3441
+ ...field
3442
+ }
3443
+ ),
3444
+ [signUpConfirmPasswordErrorMessage]
3445
+ );
3390
3446
  const signInRender = useMemo7(
3391
3447
  () => /* @__PURE__ */ jsx49(Form, { ...signInForm, children: /* @__PURE__ */ jsxs26(
3392
3448
  "form",
@@ -3400,43 +3456,14 @@ var AuthForm = memo12(
3400
3456
  Flex_default,
3401
3457
  {
3402
3458
  vertical: true,
3403
- gapY: emailErrorMessage ? 8 : 4,
3404
3459
  width: "full",
3460
+ gapY: emailErrorMessage ? 8 : 4,
3405
3461
  p: 0,
3406
3462
  pb: passwordErrorMessage ? 4 : 0,
3407
3463
  className: "overflow-visible",
3408
3464
  children: [
3409
- /* @__PURE__ */ jsx49(
3410
- FormField,
3411
- {
3412
- control: signInControl,
3413
- name: "email",
3414
- render: ({ field }) => /* @__PURE__ */ jsx49(
3415
- EmailInput_default,
3416
- {
3417
- errorMessage: emailErrorMessage,
3418
- onChange: field.onChange,
3419
- onBlur: field.onBlur
3420
- }
3421
- )
3422
- }
3423
- ),
3424
- /* @__PURE__ */ jsx49(
3425
- FormField,
3426
- {
3427
- control: signInControl,
3428
- name: "password",
3429
- render: ({ field }) => /* @__PURE__ */ jsx49(
3430
- PasswordInput_default,
3431
- {
3432
- placeholder: "M\u1EADt kh\u1EA9u",
3433
- errorMessage: passwordErrorMessage,
3434
- onChange: field.onChange,
3435
- onBlur: field.onBlur
3436
- }
3437
- )
3438
- }
3439
- )
3465
+ /* @__PURE__ */ jsx49(FormField, { control: signInControl, name: "email", render: signInEmailFieldRender }),
3466
+ /* @__PURE__ */ jsx49(FormField, { control: signInControl, name: "password", render: signInPwdFieldRender })
3440
3467
  ]
3441
3468
  }
3442
3469
  ),
@@ -3454,7 +3481,7 @@ var AuthForm = memo12(
3454
3481
  ),
3455
3482
  /* @__PURE__ */ jsxs26(Flex_default, { justify: "between", width: "full", p: 0, className: "text-ui-tertiary-400", children: [
3456
3483
  /* @__PURE__ */ jsx49("span", { className: "text-ui-small-note", children: "Qu\xEAn m\u1EADt kh\u1EA9u" }),
3457
- /* @__PURE__ */ jsx49("button", { type: "button", onClick: () => handleToggleState("SIGN_OUT"), children: /* @__PURE__ */ jsx49("span", { className: "text-ui-small-note", children: "T\u1EA1o t\xE0i kho\u1EA3n" }) })
3484
+ /* @__PURE__ */ jsx49("button", { type: "button", onClick: handleChangeToSignUp, children: /* @__PURE__ */ jsx49("span", { className: "text-ui-small-note", children: "T\u1EA1o t\xE0i kho\u1EA3n" }) })
3458
3485
  ] })
3459
3486
  ] })
3460
3487
  ]
@@ -3462,17 +3489,19 @@ var AuthForm = memo12(
3462
3489
  ) }),
3463
3490
  [
3464
3491
  isLoading,
3465
- handleToggleState,
3466
- onSignInSubmit,
3467
3492
  state,
3468
3493
  isDisabledSignIn,
3469
3494
  signInControl,
3495
+ signInForm,
3470
3496
  emailErrorMessage,
3471
3497
  passwordErrorMessage,
3472
- signInForm
3498
+ handleChangeToSignUp,
3499
+ signInEmailFieldRender,
3500
+ signInPwdFieldRender,
3501
+ onSignInSubmit
3473
3502
  ]
3474
3503
  );
3475
- const registerRender = useMemo7(
3504
+ const signUpRender = useMemo7(
3476
3505
  () => /* @__PURE__ */ jsx49(Form, { ...signUpForm, children: /* @__PURE__ */ jsxs26(
3477
3506
  "form",
3478
3507
  {
@@ -3493,34 +3522,13 @@ var AuthForm = memo12(
3493
3522
  hidden: registerStep !== "FIRST"
3494
3523
  }),
3495
3524
  children: [
3496
- /* @__PURE__ */ jsx49(
3497
- FormField,
3498
- {
3499
- name: "email",
3500
- control: signUpControl,
3501
- render: ({ field: { onChange, onBlur } }) => /* @__PURE__ */ jsx49(
3502
- EmailInput_default,
3503
- {
3504
- errorMessage: signUpEmailErrorMessage,
3505
- onChange,
3506
- onBlur
3507
- }
3508
- )
3509
- }
3510
- ),
3525
+ /* @__PURE__ */ jsx49(FormField, { name: "email", control: signUpControl, render: signUpEmailFieldRender }),
3511
3526
  /* @__PURE__ */ jsx49(
3512
3527
  FormField,
3513
3528
  {
3514
3529
  name: "fullname",
3515
3530
  control: signUpControl,
3516
- render: ({ field: { onChange, onBlur } }) => /* @__PURE__ */ jsx49(
3517
- FullNameInput_default,
3518
- {
3519
- errorMessage: signUpFullnameErrorMessage,
3520
- onChange,
3521
- onBlur
3522
- }
3523
- )
3531
+ render: signUpFullnameFieldRender
3524
3532
  }
3525
3533
  )
3526
3534
  ]
@@ -3538,36 +3546,13 @@ var AuthForm = memo12(
3538
3546
  hidden: registerStep !== "SECOND"
3539
3547
  }),
3540
3548
  children: [
3541
- /* @__PURE__ */ jsx49(
3542
- FormField,
3543
- {
3544
- control: signUpControl,
3545
- name: "password",
3546
- render: ({ field: { onChange, onBlur } }) => /* @__PURE__ */ jsx49(
3547
- PasswordInput_default,
3548
- {
3549
- placeholder: "M\u1EADt kh\u1EA9u",
3550
- errorMessage: signUpPasswordErrorMessage,
3551
- onChange,
3552
- onBlur
3553
- }
3554
- )
3555
- }
3556
- ),
3549
+ /* @__PURE__ */ jsx49(FormField, { control: signUpControl, name: "password", render: signUpPwdFieldRender }),
3557
3550
  /* @__PURE__ */ jsx49(
3558
3551
  FormField,
3559
3552
  {
3560
3553
  control: signUpControl,
3561
3554
  name: "confirmPassword",
3562
- render: ({ field: { onChange, onBlur } }) => /* @__PURE__ */ jsx49(
3563
- PasswordInput_default,
3564
- {
3565
- placeholder: "Nh\u1EADp l\u1EA1i m\u1EADt kh\u1EA9u",
3566
- errorMessage: signUpConfirmPasswordErrorMessage,
3567
- onChange,
3568
- onBlur
3569
- }
3570
- )
3555
+ render: signUpConfirmPwdFieldRender
3571
3556
  }
3572
3557
  )
3573
3558
  ]
@@ -3581,7 +3566,7 @@ var AuthForm = memo12(
3581
3566
  className: cn("h-2 w-8 rounded-full bg-neutral-300", {
3582
3567
  "bg-ui-tertiary-300": registerStep === "FIRST"
3583
3568
  }),
3584
- onClick: () => handleToggleRegisterStep("FIRST")
3569
+ onClick: handleSignUpFirstStep
3585
3570
  }
3586
3571
  ),
3587
3572
  /* @__PURE__ */ jsx49(
@@ -3591,7 +3576,7 @@ var AuthForm = memo12(
3591
3576
  className: cn("h-2 w-8 rounded-full bg-neutral-300", {
3592
3577
  "bg-ui-tertiary-300": registerStep === "SECOND"
3593
3578
  }),
3594
- onClick: () => handleToggleRegisterStep("SECOND")
3579
+ onClick: handleSignUpSecondStep
3595
3580
  }
3596
3581
  )
3597
3582
  ] }),
@@ -3609,7 +3594,7 @@ var AuthForm = memo12(
3609
3594
  ),
3610
3595
  /* @__PURE__ */ jsxs26(Flex_default, { justify: "between", width: "full", p: 0, className: "text-ui-tertiary-400", children: [
3611
3596
  /* @__PURE__ */ jsx49("span", { className: "text-ui-small-note", children: "Qu\xEAn m\u1EADt kh\u1EA9u" }),
3612
- /* @__PURE__ */ jsx49("button", { type: "button", onClick: () => handleToggleState("SIGN_IN"), children: /* @__PURE__ */ jsx49("span", { className: "text-ui-small-note", children: "\u0110\u0103ng nh\u1EADp l\u1EA1i" }) })
3597
+ /* @__PURE__ */ jsx49("button", { type: "button", onClick: handleChangeToSignIn, children: /* @__PURE__ */ jsx49("span", { className: "text-ui-small-note", children: "\u0110\u0103ng nh\u1EADp l\u1EA1i" }) })
3613
3598
  ] })
3614
3599
  ] })
3615
3600
  ]
@@ -3626,8 +3611,13 @@ var AuthForm = memo12(
3626
3611
  signUpPasswordErrorMessage,
3627
3612
  signUpConfirmPasswordErrorMessage,
3628
3613
  isDisabledSignOut,
3629
- handleToggleState,
3630
- handleToggleRegisterStep,
3614
+ handleChangeToSignIn,
3615
+ handleSignUpFirstStep,
3616
+ handleSignUpSecondStep,
3617
+ signUpEmailFieldRender,
3618
+ signUpFullnameFieldRender,
3619
+ signUpPwdFieldRender,
3620
+ signUpConfirmPwdFieldRender,
3631
3621
  onSignUpSubmit
3632
3622
  ]
3633
3623
  );
@@ -3667,7 +3657,7 @@ var AuthForm = memo12(
3667
3657
  children: [
3668
3658
  headerRender,
3669
3659
  signInRender,
3670
- registerRender,
3660
+ signUpRender,
3671
3661
  oauthRender
3672
3662
  ]
3673
3663
  }
@@ -678,7 +678,6 @@ var DefaultLogo = (props) => {
678
678
  );
679
679
  };
680
680
  DefaultLogo.displayName = "DefaultLogo";
681
- var DefaultLogo_default = DefaultLogo;
682
681
 
683
682
  // packages/Icons/DefaultLogoWithIcon.tsx
684
683
  import { jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
@@ -3400,7 +3399,15 @@ import { PuffLoader } from "react-spinners";
3400
3399
  import { jsx as jsx51, jsxs as jsxs27 } from "react/jsx-runtime";
3401
3400
  var AuthForm = memo12(
3402
3401
  forwardRef13(
3403
- ({ initialTitle = "SIGN_IN", isLoading = false, onSignIn, onSignUp, ...props }, reference) => {
3402
+ ({
3403
+ initialTitle = "SIGN_IN",
3404
+ isLoading = false,
3405
+ onSignIn,
3406
+ onSignUp,
3407
+ onChangeToSignIn,
3408
+ onChangeToSignUp,
3409
+ ...props
3410
+ }, reference) => {
3404
3411
  const [state, setState] = useState5(initialTitle);
3405
3412
  const [registerStep, setRegisterStep] = useState5("FIRST");
3406
3413
  const [isDisabledSignIn, setIsDisabledSignIn] = useState5(true);
@@ -3431,11 +3438,19 @@ var AuthForm = memo12(
3431
3438
  const signUpFullname = useWatch({ control: signUpControl, name: "fullname" });
3432
3439
  const signUpPassword = useWatch({ control: signUpControl, name: "password" });
3433
3440
  const signUpConfirmPassword = useWatch({ control: signUpControl, name: "confirmPassword" });
3434
- const handleToggleState = useCallback6((value) => {
3435
- setState(value);
3441
+ const handleChangeToSignIn = useCallback6(() => {
3442
+ setState("SIGN_IN");
3443
+ onChangeToSignIn?.();
3444
+ }, [onChangeToSignIn]);
3445
+ const handleChangeToSignUp = useCallback6(() => {
3446
+ setState("SIGN_OUT");
3447
+ onChangeToSignUp?.();
3448
+ }, [onChangeToSignUp]);
3449
+ const handleSignUpFirstStep = useCallback6(() => {
3450
+ setRegisterStep("FIRST");
3436
3451
  }, []);
3437
- const handleToggleRegisterStep = useCallback6((step) => {
3438
- setRegisterStep(step);
3452
+ const handleSignUpSecondStep = useCallback6(() => {
3453
+ setRegisterStep("SECOND");
3439
3454
  }, []);
3440
3455
  const onSignInSubmit = useCallback6(
3441
3456
  (data) => {
@@ -3480,6 +3495,46 @@ var AuthForm = memo12(
3480
3495
  () => signUpFormState.errors.confirmPassword?.message,
3481
3496
  [signUpFormState.errors.confirmPassword?.message]
3482
3497
  );
3498
+ const signInEmailFieldRender = useCallback6(
3499
+ ({ field }) => /* @__PURE__ */ jsx51(EmailInput_default, { errorMessage: emailErrorMessage, ...field }),
3500
+ [emailErrorMessage]
3501
+ );
3502
+ const signInPwdFieldRender = useCallback6(
3503
+ ({ field }) => /* @__PURE__ */ jsx51(PasswordInput_default, { placeholder: "M\u1EADt kh\u1EA9u", errorMessage: passwordErrorMessage, ...field }),
3504
+ [passwordErrorMessage]
3505
+ );
3506
+ const signUpEmailFieldRender = useCallback6(
3507
+ ({ field }) => /* @__PURE__ */ jsx51(EmailInput_default, { errorMessage: signUpEmailErrorMessage, ...field }),
3508
+ [signUpEmailErrorMessage]
3509
+ );
3510
+ const signUpFullnameFieldRender = useCallback6(
3511
+ ({ field }) => /* @__PURE__ */ jsx51(FullNameInput_default, { errorMessage: signUpFullnameErrorMessage, ...field }),
3512
+ [signUpFullnameErrorMessage]
3513
+ );
3514
+ const signUpPwdFieldRender = useCallback6(
3515
+ ({ field }) => /* @__PURE__ */ jsx51(
3516
+ PasswordInput_default,
3517
+ {
3518
+ placeholder: "M\u1EADt kh\u1EA9u",
3519
+ errorMessage: signUpPasswordErrorMessage,
3520
+ ...field
3521
+ }
3522
+ ),
3523
+ [signUpPasswordErrorMessage]
3524
+ );
3525
+ const signUpConfirmPwdFieldRender = useCallback6(
3526
+ ({
3527
+ field
3528
+ }) => /* @__PURE__ */ jsx51(
3529
+ PasswordInput_default,
3530
+ {
3531
+ placeholder: "Nh\u1EADp l\u1EA1i m\u1EADt kh\u1EA9u",
3532
+ errorMessage: signUpConfirmPasswordErrorMessage,
3533
+ ...field
3534
+ }
3535
+ ),
3536
+ [signUpConfirmPasswordErrorMessage]
3537
+ );
3483
3538
  const signInRender = useMemo7(
3484
3539
  () => /* @__PURE__ */ jsx51(Form, { ...signInForm, children: /* @__PURE__ */ jsxs27(
3485
3540
  "form",
@@ -3493,43 +3548,14 @@ var AuthForm = memo12(
3493
3548
  Flex_default,
3494
3549
  {
3495
3550
  vertical: true,
3496
- gapY: emailErrorMessage ? 8 : 4,
3497
3551
  width: "full",
3552
+ gapY: emailErrorMessage ? 8 : 4,
3498
3553
  p: 0,
3499
3554
  pb: passwordErrorMessage ? 4 : 0,
3500
3555
  className: "overflow-visible",
3501
3556
  children: [
3502
- /* @__PURE__ */ jsx51(
3503
- FormField,
3504
- {
3505
- control: signInControl,
3506
- name: "email",
3507
- render: ({ field }) => /* @__PURE__ */ jsx51(
3508
- EmailInput_default,
3509
- {
3510
- errorMessage: emailErrorMessage,
3511
- onChange: field.onChange,
3512
- onBlur: field.onBlur
3513
- }
3514
- )
3515
- }
3516
- ),
3517
- /* @__PURE__ */ jsx51(
3518
- FormField,
3519
- {
3520
- control: signInControl,
3521
- name: "password",
3522
- render: ({ field }) => /* @__PURE__ */ jsx51(
3523
- PasswordInput_default,
3524
- {
3525
- placeholder: "M\u1EADt kh\u1EA9u",
3526
- errorMessage: passwordErrorMessage,
3527
- onChange: field.onChange,
3528
- onBlur: field.onBlur
3529
- }
3530
- )
3531
- }
3532
- )
3557
+ /* @__PURE__ */ jsx51(FormField, { control: signInControl, name: "email", render: signInEmailFieldRender }),
3558
+ /* @__PURE__ */ jsx51(FormField, { control: signInControl, name: "password", render: signInPwdFieldRender })
3533
3559
  ]
3534
3560
  }
3535
3561
  ),
@@ -3547,7 +3573,7 @@ var AuthForm = memo12(
3547
3573
  ),
3548
3574
  /* @__PURE__ */ jsxs27(Flex_default, { justify: "between", width: "full", p: 0, className: "text-ui-tertiary-400", children: [
3549
3575
  /* @__PURE__ */ jsx51("span", { className: "text-ui-small-note", children: "Qu\xEAn m\u1EADt kh\u1EA9u" }),
3550
- /* @__PURE__ */ jsx51("button", { type: "button", onClick: () => handleToggleState("SIGN_OUT"), children: /* @__PURE__ */ jsx51("span", { className: "text-ui-small-note", children: "T\u1EA1o t\xE0i kho\u1EA3n" }) })
3576
+ /* @__PURE__ */ jsx51("button", { type: "button", onClick: handleChangeToSignUp, children: /* @__PURE__ */ jsx51("span", { className: "text-ui-small-note", children: "T\u1EA1o t\xE0i kho\u1EA3n" }) })
3551
3577
  ] })
3552
3578
  ] })
3553
3579
  ]
@@ -3555,17 +3581,19 @@ var AuthForm = memo12(
3555
3581
  ) }),
3556
3582
  [
3557
3583
  isLoading,
3558
- handleToggleState,
3559
- onSignInSubmit,
3560
3584
  state,
3561
3585
  isDisabledSignIn,
3562
3586
  signInControl,
3587
+ signInForm,
3563
3588
  emailErrorMessage,
3564
3589
  passwordErrorMessage,
3565
- signInForm
3590
+ handleChangeToSignUp,
3591
+ signInEmailFieldRender,
3592
+ signInPwdFieldRender,
3593
+ onSignInSubmit
3566
3594
  ]
3567
3595
  );
3568
- const registerRender = useMemo7(
3596
+ const signUpRender = useMemo7(
3569
3597
  () => /* @__PURE__ */ jsx51(Form, { ...signUpForm, children: /* @__PURE__ */ jsxs27(
3570
3598
  "form",
3571
3599
  {
@@ -3586,34 +3614,13 @@ var AuthForm = memo12(
3586
3614
  hidden: registerStep !== "FIRST"
3587
3615
  }),
3588
3616
  children: [
3589
- /* @__PURE__ */ jsx51(
3590
- FormField,
3591
- {
3592
- name: "email",
3593
- control: signUpControl,
3594
- render: ({ field: { onChange, onBlur } }) => /* @__PURE__ */ jsx51(
3595
- EmailInput_default,
3596
- {
3597
- errorMessage: signUpEmailErrorMessage,
3598
- onChange,
3599
- onBlur
3600
- }
3601
- )
3602
- }
3603
- ),
3617
+ /* @__PURE__ */ jsx51(FormField, { name: "email", control: signUpControl, render: signUpEmailFieldRender }),
3604
3618
  /* @__PURE__ */ jsx51(
3605
3619
  FormField,
3606
3620
  {
3607
3621
  name: "fullname",
3608
3622
  control: signUpControl,
3609
- render: ({ field: { onChange, onBlur } }) => /* @__PURE__ */ jsx51(
3610
- FullNameInput_default,
3611
- {
3612
- errorMessage: signUpFullnameErrorMessage,
3613
- onChange,
3614
- onBlur
3615
- }
3616
- )
3623
+ render: signUpFullnameFieldRender
3617
3624
  }
3618
3625
  )
3619
3626
  ]
@@ -3631,36 +3638,13 @@ var AuthForm = memo12(
3631
3638
  hidden: registerStep !== "SECOND"
3632
3639
  }),
3633
3640
  children: [
3634
- /* @__PURE__ */ jsx51(
3635
- FormField,
3636
- {
3637
- control: signUpControl,
3638
- name: "password",
3639
- render: ({ field: { onChange, onBlur } }) => /* @__PURE__ */ jsx51(
3640
- PasswordInput_default,
3641
- {
3642
- placeholder: "M\u1EADt kh\u1EA9u",
3643
- errorMessage: signUpPasswordErrorMessage,
3644
- onChange,
3645
- onBlur
3646
- }
3647
- )
3648
- }
3649
- ),
3641
+ /* @__PURE__ */ jsx51(FormField, { control: signUpControl, name: "password", render: signUpPwdFieldRender }),
3650
3642
  /* @__PURE__ */ jsx51(
3651
3643
  FormField,
3652
3644
  {
3653
3645
  control: signUpControl,
3654
3646
  name: "confirmPassword",
3655
- render: ({ field: { onChange, onBlur } }) => /* @__PURE__ */ jsx51(
3656
- PasswordInput_default,
3657
- {
3658
- placeholder: "Nh\u1EADp l\u1EA1i m\u1EADt kh\u1EA9u",
3659
- errorMessage: signUpConfirmPasswordErrorMessage,
3660
- onChange,
3661
- onBlur
3662
- }
3663
- )
3647
+ render: signUpConfirmPwdFieldRender
3664
3648
  }
3665
3649
  )
3666
3650
  ]
@@ -3674,7 +3658,7 @@ var AuthForm = memo12(
3674
3658
  className: cn("h-2 w-8 rounded-full bg-neutral-300", {
3675
3659
  "bg-ui-tertiary-300": registerStep === "FIRST"
3676
3660
  }),
3677
- onClick: () => handleToggleRegisterStep("FIRST")
3661
+ onClick: handleSignUpFirstStep
3678
3662
  }
3679
3663
  ),
3680
3664
  /* @__PURE__ */ jsx51(
@@ -3684,7 +3668,7 @@ var AuthForm = memo12(
3684
3668
  className: cn("h-2 w-8 rounded-full bg-neutral-300", {
3685
3669
  "bg-ui-tertiary-300": registerStep === "SECOND"
3686
3670
  }),
3687
- onClick: () => handleToggleRegisterStep("SECOND")
3671
+ onClick: handleSignUpSecondStep
3688
3672
  }
3689
3673
  )
3690
3674
  ] }),
@@ -3702,7 +3686,7 @@ var AuthForm = memo12(
3702
3686
  ),
3703
3687
  /* @__PURE__ */ jsxs27(Flex_default, { justify: "between", width: "full", p: 0, className: "text-ui-tertiary-400", children: [
3704
3688
  /* @__PURE__ */ jsx51("span", { className: "text-ui-small-note", children: "Qu\xEAn m\u1EADt kh\u1EA9u" }),
3705
- /* @__PURE__ */ jsx51("button", { type: "button", onClick: () => handleToggleState("SIGN_IN"), children: /* @__PURE__ */ jsx51("span", { className: "text-ui-small-note", children: "\u0110\u0103ng nh\u1EADp l\u1EA1i" }) })
3689
+ /* @__PURE__ */ jsx51("button", { type: "button", onClick: handleChangeToSignIn, children: /* @__PURE__ */ jsx51("span", { className: "text-ui-small-note", children: "\u0110\u0103ng nh\u1EADp l\u1EA1i" }) })
3706
3690
  ] })
3707
3691
  ] })
3708
3692
  ]
@@ -3719,8 +3703,13 @@ var AuthForm = memo12(
3719
3703
  signUpPasswordErrorMessage,
3720
3704
  signUpConfirmPasswordErrorMessage,
3721
3705
  isDisabledSignOut,
3722
- handleToggleState,
3723
- handleToggleRegisterStep,
3706
+ handleChangeToSignIn,
3707
+ handleSignUpFirstStep,
3708
+ handleSignUpSecondStep,
3709
+ signUpEmailFieldRender,
3710
+ signUpFullnameFieldRender,
3711
+ signUpPwdFieldRender,
3712
+ signUpConfirmPwdFieldRender,
3724
3713
  onSignUpSubmit
3725
3714
  ]
3726
3715
  );
@@ -3760,7 +3749,7 @@ var AuthForm = memo12(
3760
3749
  children: [
3761
3750
  headerRender,
3762
3751
  signInRender,
3763
- registerRender,
3752
+ signUpRender,
3764
3753
  oauthRender
3765
3754
  ]
3766
3755
  }
@@ -3778,23 +3767,28 @@ var Header = memo13(
3778
3767
  const { user, className, onSignIn, onSignUp, onNavSelected, onSettingSelected, ...rest } = props;
3779
3768
  const [activeNav, setActiveNav] = useState6();
3780
3769
  const isNavSelected = useMemo8(() => (nav) => activeNav === nav, [activeNav]);
3781
- const handleNavSelected = useCallback7(
3782
- (nav) => {
3783
- setActiveNav(nav);
3784
- if (onNavSelected && activeNav !== nav) {
3785
- onNavSelected(nav);
3786
- }
3787
- },
3788
- [activeNav, onNavSelected]
3789
- );
3790
3770
  const handleSettingSelected = useCallback7(
3791
3771
  (value) => {
3792
- if (onSettingSelected) {
3793
- onSettingSelected(value);
3794
- }
3772
+ onSettingSelected?.(value);
3795
3773
  },
3796
3774
  [onSettingSelected]
3797
3775
  );
3776
+ const handleSelectCategory = useCallback7(() => {
3777
+ setActiveNav("CATEGORY");
3778
+ onNavSelected?.("CATEGORY");
3779
+ }, [onNavSelected]);
3780
+ const handleSelectSeries = useCallback7(() => {
3781
+ setActiveNav("SERIES");
3782
+ onNavSelected?.("SERIES");
3783
+ }, [onNavSelected]);
3784
+ const handleSelectGuide = useCallback7(() => {
3785
+ setActiveNav("GUIDE");
3786
+ onNavSelected?.("GUIDE");
3787
+ }, [onNavSelected]);
3788
+ const handleSelectNews = useCallback7(() => {
3789
+ setActiveNav("NEWS");
3790
+ onNavSelected?.("NEWS");
3791
+ }, [onNavSelected]);
3798
3792
  return /* @__PURE__ */ jsxs28(
3799
3793
  "header",
3800
3794
  {
@@ -3802,7 +3796,7 @@ var Header = memo13(
3802
3796
  className: cn("flex h-fit items-center justify-start px-8 shadow-ui-soft", className),
3803
3797
  ...rest,
3804
3798
  children: [
3805
- /* @__PURE__ */ jsx52(Flex_default, { className: "h-16 w-33 shrink grow-0", justify: "center", pr: 9, children: /* @__PURE__ */ jsx52(DefaultLogo_default, {}) }),
3799
+ /* @__PURE__ */ jsx52(Flex_default, { className: "h-16 w-33 shrink grow-0", justify: "center", pr: 9, children: /* @__PURE__ */ jsx52(DefaultLogoWithIcon_default, {}) }),
3806
3800
  /* @__PURE__ */ jsxs28(Flex_default, { flexGrow: 1, gap: 0, className: "text-ui-text-800", children: [
3807
3801
  /* @__PURE__ */ jsx52(
3808
3802
  Navbar_default,
@@ -3811,7 +3805,7 @@ var Header = memo13(
3811
3805
  icon: /* @__PURE__ */ jsx52(Lucide2ChartBarIcon_default, {}),
3812
3806
  isActive: isNavSelected("CATEGORY"),
3813
3807
  className: "px-4",
3814
- onClick: () => handleNavSelected("CATEGORY"),
3808
+ onClick: handleSelectCategory,
3815
3809
  children: "Danh m\u1EE5c"
3816
3810
  }
3817
3811
  ),
@@ -3821,7 +3815,7 @@ var Header = memo13(
3821
3815
  icon: /* @__PURE__ */ jsx52(Lucide2Row2Icon_default, {}),
3822
3816
  isActive: isNavSelected("SERIES"),
3823
3817
  className: "px-4",
3824
- onClick: () => handleNavSelected("SERIES"),
3818
+ onClick: handleSelectSeries,
3825
3819
  children: "Series"
3826
3820
  }
3827
3821
  ),
@@ -3831,7 +3825,7 @@ var Header = memo13(
3831
3825
  icon: /* @__PURE__ */ jsx52(Lucide2BookIcon_default, {}),
3832
3826
  isActive: isNavSelected("GUIDE"),
3833
3827
  className: "px-4",
3834
- onClick: () => handleNavSelected("GUIDE"),
3828
+ onClick: handleSelectGuide,
3835
3829
  children: "H\u01B0\u1EDBng d\u1EABn"
3836
3830
  }
3837
3831
  ),
@@ -3841,7 +3835,7 @@ var Header = memo13(
3841
3835
  icon: /* @__PURE__ */ jsx52(Lucide2NewPaperIcon_default, {}),
3842
3836
  isActive: isNavSelected("NEWS"),
3843
3837
  className: "px-4",
3844
- onClick: () => handleNavSelected("NEWS"),
3838
+ onClick: handleSelectNews,
3845
3839
  children: "Tin t\u1EE9c"
3846
3840
  }
3847
3841
  )
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@customafk/lunas-ui",
3
3
  "private": false,
4
- "version": "0.0.0-r",
4
+ "version": "0.0.0-s",
5
5
  "type": "module",
6
6
  "homepage": "https://docs.customafk.com",
7
7
  "repository": {
@@ -86,6 +86,7 @@
86
86
  "eslint-plugin-react-form-fields": "^1.2.22",
87
87
  "eslint-plugin-react-hook-form": "^0.3.0",
88
88
  "eslint-plugin-react-hooks": "^4.6.2",
89
+ "eslint-plugin-react-perf": "^3.3.2",
89
90
  "eslint-plugin-react-prefer-function-component": "^3.3.0",
90
91
  "eslint-plugin-react-refresh": "^0.4.7",
91
92
  "eslint-plugin-sonar": "^0.13.2",