next-auth-mfelfelani72 0.0.25 → 0.0.26

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 (17) hide show
  1. package/dist/components/demo/auth/layouts/twoColumn/common/theme/default/BrandCard.d.ts +5 -0
  2. package/dist/components/demo/auth/layouts/twoColumn/common/theme/default/BrandCard.js +20 -0
  3. package/dist/components/demo/auth/layouts/twoColumn/common/theme/default/LeftSidebar.d.ts +8 -0
  4. package/dist/components/demo/auth/layouts/twoColumn/common/theme/default/LeftSidebar.js +19 -0
  5. package/dist/components/demo/auth/layouts/twoColumn/common/theme/default/RightSidebar.d.ts +6 -0
  6. package/dist/components/demo/auth/layouts/twoColumn/common/theme/default/RightSidebar.js +16 -0
  7. package/dist/components/demo/auth/layouts/twoColumn/common/theme/default/login/LoginDetails.d.ts +1 -0
  8. package/dist/components/demo/auth/layouts/twoColumn/common/theme/default/login/LoginDetails.js +24 -0
  9. package/dist/components/demo/auth/layouts/twoColumn/common/theme/default/register/RegisterDetails.d.ts +2 -0
  10. package/dist/components/demo/auth/layouts/twoColumn/common/theme/default/register/RegisterDetails.js +25 -0
  11. package/dist/components/demo/auth/layouts/twoColumn/desktop/Login.js +5 -15
  12. package/dist/components/demo/auth/layouts/twoColumn/desktop/Register.js +5 -15
  13. package/dist/components/demo/auth/layouts/twoColumn/ipad/Login.js +3 -15
  14. package/dist/components/demo/auth/layouts/twoColumn/ipad/Register.js +3 -15
  15. package/dist/components/demo/auth/layouts/twoColumn/mobile/Login.js +2 -6
  16. package/dist/components/demo/auth/layouts/twoColumn/mobile/Register.js +2 -6
  17. package/package.json +1 -1
@@ -0,0 +1,5 @@
1
+ interface BrandCardProps {
2
+ className?: string;
3
+ }
4
+ export default function BrandCard({ className }: BrandCardProps): import("react").JSX.Element;
5
+ export {};
@@ -0,0 +1,20 @@
1
+ /*
2
+ * @Author: Mohammad Felfelani
3
+ * @Email: mfelfelani72@gmail.com
4
+ * @Team:
5
+ * @Date: 2025-10-04 11:48:20
6
+ * @Description:
7
+ */
8
+ "use client";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ // Components
11
+ import Image from "../../../../../../../../components/base/Image";
12
+ // Functions
13
+ import { cn } from "forma-li";
14
+ // Hooks
15
+ import { useTranslation } from "../../../../../../../../hooks/useTranslation";
16
+ export default function BrandCard({ className }) {
17
+ // Hooks
18
+ const { t } = useTranslation();
19
+ return (_jsxs("div", { className: cn("flex flex-col items-center gap-4 text-center", className), children: [_jsx("div", { className: "h-20 w-20 xl:h-24 xl:w-24 shrink-0", children: _jsx(Image, { src: "/images/png/logo.png", alt: "Logo", width: 80, height: 80, unoptimized: true, className: "h-full w-full object-contain", enableLoading: false, loading: "eager" }) }), _jsx("h1", { className: "text-3xl font-bold tracking-tight text-cyan-800 xl:text-4xl 2xl:text-5xl", children: t(process.env.NEXT_PUBLIC_LICENSE_NAME || "") }), _jsx("p", { className: "text-xs text-Neutral-400 xl:text-sm", children: t("right_sidebar_description") })] }));
20
+ }
@@ -0,0 +1,8 @@
1
+ interface LeftSidebarProps {
2
+ title: string;
3
+ description: string;
4
+ className?: string;
5
+ children?: React.ReactNode;
6
+ }
7
+ export default function LeftSidebar({ title, description, className, children, }: LeftSidebarProps): import("react").JSX.Element;
8
+ export {};
@@ -0,0 +1,19 @@
1
+ /*
2
+ * @Author: Mohammad Felfelani
3
+ * @Email: mfelfelani72@gmail.com
4
+ * @Team:
5
+ * @Date: 2025-10-04 11:48:20
6
+ * @Description:
7
+ */
8
+ "use client";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ import { useRouter } from "next/navigation";
11
+ // Components
12
+ import { ArrowLeft } from "lucide-react";
13
+ // Functions
14
+ import { cn } from "forma-li";
15
+ export default function LeftSidebar({ title, description, className, children, }) {
16
+ // Hooks
17
+ const router = useRouter();
18
+ return (_jsxs("div", { className: cn("flex flex-col w-full px-6 py-5 relative overflow-hidden", "bg-white/3 backdrop-blur-lg", "border border-white/5", "shadow-2xl shadow-black/10", "ltr:rounded-l-2xl rtl:rounded-r-2xl", "xl:px-8 xl:py-6", className), children: [_jsx("div", { className: "absolute inset-0 bg-linear-to-br from-white/5 via-transparent to-transparent pointer-events-none" }), _jsx("div", { className: "absolute inset-0 rounded-l-2xl shadow-[inset_0_0_80px_rgba(255,255,255,0.03)] pointer-events-none" }), _jsxs("header", { className: "relative z-10 mb-4", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("button", { onClick: () => router.back(), className: "group cursor-pointer flex h-8 w-8 items-center justify-center rounded-full border border-gray-200/50 bg-white/30 text-gray-400 transition-all hover:bg-white/20 hover:border-gray-300 hover:text-gray-600", children: _jsx(ArrowLeft, { className: "h-4 w-4 transition-transform group-hover:scale-110 rtl:rotate-180 text-Neutral-100" }) }), _jsx("h1", { className: "text-lg font-semibold tracking-wide text-Neutral-50 xl:text-xl", children: title })] }), _jsx("p", { className: "hidden 4xl:block mt-1 max-w-[24rem] text-xs text-Neutral-100 ltr:pl-11 rtl:pr-11 xl:text-sm", children: description })] }), _jsx("div", { className: "relative z-10 flex-1", children: children })] }));
19
+ }
@@ -0,0 +1,6 @@
1
+ interface RightSidebarProps {
2
+ className?: string;
3
+ children?: React.ReactNode;
4
+ }
5
+ export default function RightSidebar({ className, children, }: RightSidebarProps): import("react").JSX.Element;
6
+ export {};
@@ -0,0 +1,16 @@
1
+ /*
2
+ * @Author: Mohammad Felfelani
3
+ * @Email: mfelfelani72@gmail.com
4
+ * @Team:
5
+ * @Date: 2025-10-04 11:48:20
6
+ * @Description:
7
+ */
8
+ "use client";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ // Components
11
+ import BrandCard from "./BrandCard";
12
+ // Functions
13
+ import { cn } from "forma-li";
14
+ export default function RightSidebar({ className, children, }) {
15
+ return (_jsxs("div", { className: cn("flex flex-col w-full p-2 relative", "bg-white/80 backdrop-blur-none", "border border-white/20", "shadow-2xl shadow-black/15", "ltr:rounded-r-2xl rtl:rounded-l-2xl", className), children: [_jsx("div", { className: "absolute inset-0 bg-linear-to-br from-white/40 via-white/10 to-transparent pointer-events-none ltr:rounded-r-2xl rtl:rounded-l-2xl" }), _jsxs("div", { className: "flex flex-col h-full items-center justify-between z-10", children: [_jsx(BrandCard, {}), children] })] }));
16
+ }
@@ -0,0 +1 @@
1
+ export default function LoginDetails(): import("react").JSX.Element;
@@ -0,0 +1,24 @@
1
+ /*
2
+ * @Author: Mohammad Felfelani
3
+ * @Email: mfelfelani72@gmail.com
4
+ * @Team:
5
+ * @Date: 2025-10-04 11:48:20
6
+ * @Description:
7
+ */
8
+ "use client";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ // Components
11
+ import { Shield, Bolt, Eye } from "lucide-react";
12
+ // Hooks
13
+ import { useTranslation } from "../../../../../../../../../hooks/useTranslation";
14
+ export default function LoginDetails() {
15
+ // Hooks
16
+ const { t } = useTranslation();
17
+ // Constants
18
+ const features = [
19
+ { icon: Shield, label: t("encrypted"), color: "text-emerald-600" },
20
+ { icon: Bolt, label: t("fast"), color: "text-amber-600" },
21
+ { icon: Eye, label: t("protected"), color: "text-sky-600" },
22
+ ];
23
+ return (_jsx("div", { className: "px-1", children: _jsx("div", { className: "flex gap-6", children: features.map(({ icon: Icon, label, color }) => (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Icon, { className: `h-4 w-4 ${color} xl:h-5 xl:w-5` }), _jsx("span", { className: "text-xs text-gray-500 xl:text-sm", children: label })] }, label))) }) }));
24
+ }
@@ -0,0 +1,2 @@
1
+ declare const RegisterDetails: () => import("react").JSX.Element;
2
+ export default RegisterDetails;
@@ -0,0 +1,25 @@
1
+ /*
2
+ * @Author: Mohammad Felfelani
3
+ * @Email: mfelfelani72@gmail.com
4
+ * @Team:
5
+ * @Date: 2025-12-31 07:55:26
6
+ * @Description: Login Details - Dark text for white bg
7
+ */
8
+ "use client";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ // Components
11
+ import { Shield, Bolt, Eye } from "lucide-react";
12
+ // Hooks
13
+ import { useTranslation } from "../../../../../../../../../hooks/useTranslation";
14
+ const RegisterDetails = () => {
15
+ // Hooks
16
+ const { t } = useTranslation();
17
+ // Constants
18
+ const features = [
19
+ { icon: Shield, label: t("encrypted"), color: "text-emerald-600" },
20
+ { icon: Bolt, label: t("fast"), color: "text-amber-600" },
21
+ { icon: Eye, label: t("protected"), color: "text-sky-600" },
22
+ ];
23
+ return (_jsx("div", { className: "px-1", children: _jsx("div", { className: "flex gap-6", children: features.map(({ icon: Icon, label, color }) => (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Icon, { className: `h-4 w-4 ${color} xl:h-5 xl:w-5` }), _jsx("span", { className: "text-xs text-gray-500 xl:text-sm", children: label })] }, label))) }) }));
24
+ };
25
+ export default RegisterDetails;
@@ -7,25 +7,15 @@
7
7
  */
8
8
  "use client";
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
- import { useMemo } from "react";
11
- import dynamic from "next/dynamic";
10
+ // Components
11
+ import LeftSidebar from "../common/theme/default/LeftSidebar";
12
+ import RightSidebar from "../common/theme/default/RightSidebar";
13
+ import LoginForm from "../common/theme/default/login/LoginForm";
14
+ import LoginDetails from "../common/theme/default/login/LoginDetails";
12
15
  // Hooks
13
16
  import { useTranslation } from "../../../../../../hooks/useTranslation";
14
17
  export default function LoginDesktop(props) {
15
18
  // Hooks
16
19
  const { t } = useTranslation();
17
- // Functions
18
- const Components = useMemo(() => {
19
- const createDynamicComponent = (name) => {
20
- return dynamic(() => import(`../common/theme/${props === null || props === void 0 ? void 0 : props.theme}/${name}`).catch(() => import(`../common/theme/default/${name}`)), { ssr: false });
21
- };
22
- return {
23
- LeftSidebar: createDynamicComponent("LeftSidebar"),
24
- RightSidebar: createDynamicComponent("RightSidebar"),
25
- LoginForm: createDynamicComponent("login/LoginForm"),
26
- LoginDetails: createDynamicComponent("login/LoginDetails"),
27
- };
28
- }, [props === null || props === void 0 ? void 0 : props.theme]);
29
- const { LeftSidebar, RightSidebar, LoginForm, LoginDetails } = Components;
30
20
  return (_jsx("div", { className: "flex flex-row h-screen w-full items-center justify-center", children: _jsxs("div", { className: "relative inline-flex flex-row z-120 max-w-[60dvw] h-[77dvh]", children: [_jsx(LeftSidebar, { title: t("login_title"), description: t("login_description"), children: _jsx(LoginForm, Object.assign({}, props)) }), _jsx(RightSidebar, { children: _jsx(LoginDetails, {}) })] }) }));
31
21
  }
@@ -7,25 +7,15 @@
7
7
  */
8
8
  "use client";
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
- import { useMemo } from "react";
11
- import dynamic from "next/dynamic";
10
+ // Components
11
+ import LeftSidebar from "../common/theme/default/LeftSidebar";
12
+ import RightSidebar from "../common/theme/default/RightSidebar";
13
+ import RegisterForm from "../common/theme/default/register/RegisterForm";
14
+ import RegisterDetails from "../common/theme/default/register/RegisterDetails";
12
15
  // Hooks
13
16
  import { useTranslation } from "../../../../../../hooks/useTranslation";
14
17
  export default function RegisterDesktop(props) {
15
18
  // Hooks
16
19
  const { t } = useTranslation();
17
- // Functions
18
- const Components = useMemo(() => {
19
- const createDynamicComponent = (name) => {
20
- return dynamic(() => import(`../common/theme/${props === null || props === void 0 ? void 0 : props.theme}/${name}`).catch(() => import(`../common/theme/default/${name}`)), { ssr: false });
21
- };
22
- return {
23
- LeftSidebar: createDynamicComponent("LeftSidebar"),
24
- RightSidebar: createDynamicComponent("RightSidebar"),
25
- RegisterForm: createDynamicComponent("register/RegisterForm"),
26
- RegisterDetails: createDynamicComponent("register/RegisterDetails"),
27
- };
28
- }, [props === null || props === void 0 ? void 0 : props.theme]);
29
- const { LeftSidebar, RightSidebar, RegisterForm, RegisterDetails } = Components;
30
20
  return (_jsx("div", { className: "flex flex-row h-screen w-full items-center justify-center", children: _jsxs("div", { className: "relative inline-flex flex-row z-120 max-w-[60dvw] h-[77dvh]", children: [_jsx(LeftSidebar, { title: t("register_title"), description: t("register_description"), children: _jsx(RegisterForm, Object.assign({}, props)) }), _jsx(RightSidebar, { children: _jsx(RegisterDetails, {}) })] }) }));
31
21
  }
@@ -7,25 +7,13 @@
7
7
  */
8
8
  "use client";
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
- import { useMemo } from "react";
11
- import dynamic from "next/dynamic";
10
+ // Components
11
+ import LoginForm from "../common/theme/default/login/LoginForm";
12
+ import LoginDetails from "../common/theme/default/login/LoginDetails";
12
13
  // Hooks
13
14
  import { useTranslation } from "../../../../../../hooks/useTranslation";
14
15
  export default function LoginIpad(props) {
15
16
  // Hooks
16
17
  const { t } = useTranslation();
17
- // Functions
18
- const Components = useMemo(() => {
19
- const createDynamicComponent = (name) => {
20
- return dynamic(() => import(`../common/theme/${props === null || props === void 0 ? void 0 : props.theme}/${name}`).catch(() => import(`../common/theme/default/${name}`)), { ssr: false });
21
- };
22
- return {
23
- LeftSidebar: createDynamicComponent("LeftSidebar"),
24
- RightSidebar: createDynamicComponent("RightSidebar"),
25
- LoginForm: createDynamicComponent("login/LoginForm"),
26
- LoginDetails: createDynamicComponent("login/LoginDetails"),
27
- };
28
- }, [props === null || props === void 0 ? void 0 : props.theme]);
29
- const { LoginForm, LoginDetails } = Components;
30
18
  return (_jsx("div", { className: "flex items-center justify-center min-h-screen p-6 ", children: _jsxs("div", { className: "flex flex-row w-full max-w-4xl h-[85vh] rounded-2xl overflow-hidden shadow-2xl", children: [_jsxs("div", { className: "w-1/2 bg-white/10 backdrop-blur-md p-6 flex flex-col", children: [_jsx("h1", { className: "text-xl font-bold text-white mb-1", children: t("login_title") }), _jsx("p", { className: "text-sm text-gray-200 mb-4", children: t("login_description") }), _jsx(LoginForm, Object.assign({}, props))] }), _jsxs("div", { className: "w-1/2 bg-white/80 backdrop-blur-none p-6 flex flex-col items-center justify-center", children: [_jsxs("div", { className: "text-center", children: [_jsx("h2", { className: "text-3xl font-bold text-cyan-800", children: "Brand" }), _jsx("p", { className: "text-xs text-gray-500 mt-2", children: t("right_sidebar_description") })] }), _jsx(LoginDetails, {})] })] }) }));
31
19
  }
@@ -7,25 +7,13 @@
7
7
  */
8
8
  "use client";
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
- import { useMemo } from "react";
11
- import dynamic from "next/dynamic";
10
+ // Components
11
+ import RegisterForm from "../common/theme/default/register/RegisterForm";
12
+ import RegisterDetails from "../common/theme/default/register/RegisterDetails";
12
13
  // Hooks
13
14
  import { useTranslation } from "../../../../../../hooks/useTranslation";
14
15
  export default function RegisterIpad(props) {
15
16
  // Hooks
16
17
  const { t } = useTranslation();
17
- // Functions
18
- const Components = useMemo(() => {
19
- const createDynamicComponent = (name) => {
20
- return dynamic(() => import(`../common/theme/${props === null || props === void 0 ? void 0 : props.theme}/${name}`).catch(() => import(`../common/theme/default/${name}`)), { ssr: false });
21
- };
22
- return {
23
- LeftSidebar: createDynamicComponent("LeftSidebar"),
24
- RightSidebar: createDynamicComponent("RightSidebar"),
25
- RegisterForm: createDynamicComponent("register/RegisterForm"),
26
- RegisterDetails: createDynamicComponent("register/RegisterDetails"),
27
- };
28
- }, [props === null || props === void 0 ? void 0 : props.theme]);
29
- const { RegisterForm, RegisterDetails } = Components;
30
18
  return (_jsx("div", { className: "flex items-center justify-center min-h-screen p-6 ", children: _jsxs("div", { className: "flex flex-row w-full max-w-4xl h-[85vh] rounded-2xl overflow-hidden shadow-2xl", children: [_jsxs("div", { className: "w-1/2 bg-white/10 backdrop-blur-md p-6 flex flex-col", children: [_jsx("h1", { className: "text-xl font-bold text-white mb-1", children: t("register_title") }), _jsx("p", { className: "text-sm text-gray-200 mb-4", children: t("login_description") }), _jsx(RegisterForm, Object.assign({}, props))] }), _jsxs("div", { className: "w-1/2 bg-white/80 backdrop-blur-none p-6 flex flex-col items-center justify-center", children: [_jsxs("div", { className: "text-center", children: [_jsx("h2", { className: "text-3xl font-bold text-cyan-800", children: "Brand" }), _jsx("p", { className: "text-xs text-gray-500 mt-2", children: t("right_sidebar_description") })] }), _jsx(RegisterDetails, {})] })] }) }));
31
19
  }
@@ -7,16 +7,12 @@
7
7
  */
8
8
  "use client";
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
- import { useMemo } from "react";
11
- import dynamic from "next/dynamic";
10
+ // Components
11
+ import LoginForm from "../common/theme/default/login/LoginForm";
12
12
  // Hooks
13
13
  import { useTranslation } from "../../../../../../hooks/useTranslation";
14
14
  export default function LoginMobile(props) {
15
15
  // Hooks
16
16
  const { t } = useTranslation();
17
- // Functions
18
- const LoginForm = useMemo(() => {
19
- return dynamic(() => import(`../common/theme/${props === null || props === void 0 ? void 0 : props.theme}/LoginForm`).catch(() => import(`../common/theme/default/login/LoginForm`)), { ssr: false });
20
- }, [props === null || props === void 0 ? void 0 : props.theme]);
21
17
  return (_jsx("div", { className: "flex items-center justify-center min-h-screen p-4 bg-linear-to-br", children: _jsxs("div", { className: "w-full max-w-sm bg-white/20 backdrop-blur-md rounded-2xl p-6 border border-white/30", children: [_jsx("h1", { className: "text-2xl font-bold text-center text-white mb-2", children: t("login_title") }), _jsx("p", { className: "text-center text-gray-200 mb-6 text-sm", children: t("login_description") }), _jsx(LoginForm, Object.assign({}, props))] }) }));
22
18
  }
@@ -7,16 +7,12 @@
7
7
  */
8
8
  "use client";
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
- import { useMemo } from "react";
11
- import dynamic from "next/dynamic";
10
+ // Components
11
+ import RegisterForm from "../common/theme/default/register/RegisterForm";
12
12
  // Hooks
13
13
  import { useTranslation } from "../../../../../../hooks/useTranslation";
14
14
  export default function RegisterMobile(props) {
15
15
  // Hooks
16
16
  const { t } = useTranslation();
17
- // Functions
18
- const RegisterForm = useMemo(() => {
19
- return dynamic(() => import(`../common/theme/${props === null || props === void 0 ? void 0 : props.theme}/RegisterForm`).catch(() => import(`../common/theme/default/register/RegisterForm`)), { ssr: false });
20
- }, [props === null || props === void 0 ? void 0 : props.theme]);
21
17
  return (_jsx("div", { className: "flex items-center justify-center min-h-screen p-4 bg-linear-to-br", children: _jsxs("div", { className: "w-full max-w-sm bg-white/20 backdrop-blur-md rounded-2xl p-6 border border-white/30", children: [_jsx("h1", { className: "text-2xl font-bold text-center text-white mb-2", children: t("register_title") }), _jsx("p", { className: "text-center text-gray-200 mb-6 text-sm", children: t("register_description") }), _jsx(RegisterForm, Object.assign({}, props))] }) }));
22
18
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "next-auth-mfelfelani72",
3
- "version": "0.0.25",
3
+ "version": "0.0.26",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [