@k3-universe/react-kit 0.0.30 → 0.0.32

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.
package/dist/index.js CHANGED
@@ -45709,16 +45709,22 @@ function Login({
45709
45709
  forgotPasswordHref,
45710
45710
  rightImageSrc,
45711
45711
  rightImageAlt = "Login image",
45712
+ showRightImage = true,
45712
45713
  className,
45713
45714
  continueWith,
45714
45715
  children
45715
45716
  }) {
45717
+ const shouldRenderRightColumn = showRightImage;
45716
45718
  return /* @__PURE__ */ jsxs(
45717
45719
  "div",
45718
45720
  {
45719
- className: ["grid min-h-dvh grid-cols-1 md:grid-cols-2", className].filter(Boolean).join(" "),
45721
+ className: [
45722
+ "mx-auto grid min-h-screen w-full grid-cols-1",
45723
+ shouldRenderRightColumn ? "lg:grid-cols-2" : null,
45724
+ className
45725
+ ].filter(Boolean).join(" "),
45720
45726
  children: [
45721
- /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center p-6 md:p-10", children: /* @__PURE__ */ jsxs("div", { className: "w-full max-w-md", children: [
45727
+ /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center p-6 sm:p-8 lg:p-12", children: /* @__PURE__ */ jsxs("div", { className: "w-full max-w-md", children: [
45722
45728
  /* @__PURE__ */ jsxs("div", { className: "mb-6 text-center", children: [
45723
45729
  /* @__PURE__ */ jsx("h1", { className: "text-2xl font-bold leading-tight tracking-tight", children: appTitle }),
45724
45730
  subtitle ? /* @__PURE__ */ jsx("p", { className: "text-muted-foreground mt-1 text-sm", children: subtitle }) : null
@@ -45748,7 +45754,7 @@ function Login({
45748
45754
  /* @__PURE__ */ jsx("a", { href: signupHref, className: "underline underline-offset-4", children: signupLinkLabel })
45749
45755
  ] }) : null
45750
45756
  ] }) }),
45751
- /* @__PURE__ */ jsx("div", { className: "hidden md:block", children: rightImageSrc ? /* @__PURE__ */ jsx(
45757
+ shouldRenderRightColumn ? /* @__PURE__ */ jsx("div", { className: "hidden lg:block", children: rightImageSrc ? /* @__PURE__ */ jsx(
45752
45758
  "img",
45753
45759
  {
45754
45760
  src: rightImageSrc,
@@ -45756,7 +45762,7 @@ function Login({
45756
45762
  className: "h-full w-full object-cover",
45757
45763
  loading: "lazy"
45758
45764
  }
45759
- ) : /* @__PURE__ */ jsx("div", { className: "h-full w-full bg-muted" }) })
45765
+ ) : /* @__PURE__ */ jsx("div", { className: "h-full w-full bg-muted" }) }) : null
45760
45766
  ]
45761
45767
  }
45762
45768
  );
@@ -10,6 +10,7 @@ export type LoginProps = {
10
10
  forgotPasswordHref?: string;
11
11
  rightImageSrc?: string;
12
12
  rightImageAlt?: string;
13
+ showRightImage?: boolean;
13
14
  className?: string;
14
15
  continueWith?: React.ReactNode;
15
16
  children?: React.ReactNode;
@@ -24,6 +25,6 @@ export type LoginProps = {
24
25
  * - Renders a footer with configurable signup CTA
25
26
  * - Leaves the actual form implementation to children, so you can use FormBuilder or any custom form
26
27
  */
27
- export declare function Login({ appTitle, subtitle, signupLabel, signupLinkLabel, signupHref, forgotPasswordLabel, forgotPasswordLinkLabel, forgotPasswordHref, rightImageSrc, rightImageAlt, className, continueWith, children, }: LoginProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare function Login({ appTitle, subtitle, signupLabel, signupLinkLabel, signupHref, forgotPasswordLabel, forgotPasswordLinkLabel, forgotPasswordHref, rightImageSrc, rightImageAlt, showRightImage, className, continueWith, children, }: LoginProps): import("react/jsx-runtime").JSX.Element;
28
29
  export default Login;
29
30
  //# sourceMappingURL=Login.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Login.d.ts","sourceRoot":"","sources":["../../../../src/kit/components/login/Login.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,MAAM,MAAM,UAAU,GAAG;IAEvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,EACpB,QAAqB,EACrB,QAAQ,EACR,WAAsC,EACtC,eAA2B,EAC3B,UAAU,EACV,mBAA6C,EAC7C,uBAAsC,EACtC,kBAAkB,EAClB,aAAa,EACb,aAA6B,EAC7B,SAAS,EACT,YAAY,EACZ,QAAQ,GACT,EAAE,UAAU,2CA6EZ;AAED,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Login.d.ts","sourceRoot":"","sources":["../../../../src/kit/components/login/Login.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,MAAM,MAAM,UAAU,GAAG;IAEvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,EACpB,QAAqB,EACrB,QAAQ,EACR,WAAsC,EACtC,eAA2B,EAC3B,UAAU,EACV,mBAA6C,EAC7C,uBAAsC,EACtC,kBAAkB,EAClB,aAAa,EACb,aAA6B,EAC7B,cAAqB,EACrB,SAAS,EACT,YAAY,EACZ,QAAQ,GACT,EAAE,UAAU,2CAqFZ;AAED,eAAe,KAAK,CAAC"}
@@ -4425,6 +4425,10 @@
4425
4425
  margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
4426
4426
  }
4427
4427
 
4428
+ .sm\:p-8 {
4429
+ padding: calc(var(--spacing) * 8);
4430
+ }
4431
+
4428
4432
  .sm\:px-6 {
4429
4433
  padding-inline: calc(var(--spacing) * 6);
4430
4434
  }
@@ -4575,10 +4579,6 @@
4575
4579
  gap: calc(var(--spacing) * 1.5);
4576
4580
  }
4577
4581
 
4578
- .md\:p-10 {
4579
- padding: calc(var(--spacing) * 10);
4580
- }
4581
-
4582
4582
  .md\:text-left {
4583
4583
  text-align: left;
4584
4584
  }
@@ -4668,6 +4668,10 @@
4668
4668
  grid-column: span 12 / span 12;
4669
4669
  }
4670
4670
 
4671
+ .lg\:block {
4672
+ display: block;
4673
+ }
4674
+
4671
4675
  .lg\:flex {
4672
4676
  display: flex;
4673
4677
  }
@@ -4726,6 +4730,10 @@
4726
4730
  margin-inline-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-x-reverse)));
4727
4731
  }
4728
4732
 
4733
+ .lg\:p-12 {
4734
+ padding: calc(var(--spacing) * 12);
4735
+ }
4736
+
4729
4737
  .lg\:px-8 {
4730
4738
  padding-inline: calc(var(--spacing) * 8);
4731
4739
  }
@@ -4432,6 +4432,10 @@
4432
4432
  margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
4433
4433
  }
4434
4434
 
4435
+ .sm\:p-8 {
4436
+ padding: calc(var(--spacing) * 8);
4437
+ }
4438
+
4435
4439
  .sm\:px-6 {
4436
4440
  padding-inline: calc(var(--spacing) * 6);
4437
4441
  }
@@ -4582,10 +4586,6 @@
4582
4586
  gap: calc(var(--spacing) * 1.5);
4583
4587
  }
4584
4588
 
4585
- .md\:p-10 {
4586
- padding: calc(var(--spacing) * 10);
4587
- }
4588
-
4589
4589
  .md\:text-left {
4590
4590
  text-align: left;
4591
4591
  }
@@ -4675,6 +4675,10 @@
4675
4675
  grid-column: span 12 / span 12;
4676
4676
  }
4677
4677
 
4678
+ .lg\:block {
4679
+ display: block;
4680
+ }
4681
+
4678
4682
  .lg\:flex {
4679
4683
  display: flex;
4680
4684
  }
@@ -4733,6 +4737,10 @@
4733
4737
  margin-inline-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-x-reverse)));
4734
4738
  }
4735
4739
 
4740
+ .lg\:p-12 {
4741
+ padding: calc(var(--spacing) * 12);
4742
+ }
4743
+
4736
4744
  .lg\:px-8 {
4737
4745
  padding-inline: calc(var(--spacing) * 8);
4738
4746
  }
@@ -4425,6 +4425,10 @@
4425
4425
  margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
4426
4426
  }
4427
4427
 
4428
+ .sm\:p-8 {
4429
+ padding: calc(var(--spacing) * 8);
4430
+ }
4431
+
4428
4432
  .sm\:px-6 {
4429
4433
  padding-inline: calc(var(--spacing) * 6);
4430
4434
  }
@@ -4575,10 +4579,6 @@
4575
4579
  gap: calc(var(--spacing) * 1.5);
4576
4580
  }
4577
4581
 
4578
- .md\:p-10 {
4579
- padding: calc(var(--spacing) * 10);
4580
- }
4581
-
4582
4582
  .md\:text-left {
4583
4583
  text-align: left;
4584
4584
  }
@@ -4668,6 +4668,10 @@
4668
4668
  grid-column: span 12 / span 12;
4669
4669
  }
4670
4670
 
4671
+ .lg\:block {
4672
+ display: block;
4673
+ }
4674
+
4671
4675
  .lg\:flex {
4672
4676
  display: flex;
4673
4677
  }
@@ -4726,6 +4730,10 @@
4726
4730
  margin-inline-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-x-reverse)));
4727
4731
  }
4728
4732
 
4733
+ .lg\:p-12 {
4734
+ padding: calc(var(--spacing) * 12);
4735
+ }
4736
+
4729
4737
  .lg\:px-8 {
4730
4738
  padding-inline: calc(var(--spacing) * 8);
4731
4739
  }
@@ -4425,6 +4425,10 @@
4425
4425
  margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
4426
4426
  }
4427
4427
 
4428
+ .sm\:p-8 {
4429
+ padding: calc(var(--spacing) * 8);
4430
+ }
4431
+
4428
4432
  .sm\:px-6 {
4429
4433
  padding-inline: calc(var(--spacing) * 6);
4430
4434
  }
@@ -4575,10 +4579,6 @@
4575
4579
  gap: calc(var(--spacing) * 1.5);
4576
4580
  }
4577
4581
 
4578
- .md\:p-10 {
4579
- padding: calc(var(--spacing) * 10);
4580
- }
4581
-
4582
4582
  .md\:text-left {
4583
4583
  text-align: left;
4584
4584
  }
@@ -4668,6 +4668,10 @@
4668
4668
  grid-column: span 12 / span 12;
4669
4669
  }
4670
4670
 
4671
+ .lg\:block {
4672
+ display: block;
4673
+ }
4674
+
4671
4675
  .lg\:flex {
4672
4676
  display: flex;
4673
4677
  }
@@ -4726,6 +4730,10 @@
4726
4730
  margin-inline-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-x-reverse)));
4727
4731
  }
4728
4732
 
4733
+ .lg\:p-12 {
4734
+ padding: calc(var(--spacing) * 12);
4735
+ }
4736
+
4729
4737
  .lg\:px-8 {
4730
4738
  padding-inline: calc(var(--spacing) * 8);
4731
4739
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k3-universe/react-kit",
3
- "version": "0.0.30",
3
+ "version": "0.0.32",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -16,6 +16,8 @@ export type LoginProps = {
16
16
  // Right-side image URL and alt
17
17
  rightImageSrc?: string;
18
18
  rightImageAlt?: string;
19
+ // Explicit toggle to show/hide the right-side visual column
20
+ showRightImage?: boolean;
19
21
  // Optional className for the outer container
20
22
  className?: string;
21
23
  // Optional continue-with slot (renders below the submit action area)
@@ -45,18 +47,25 @@ export function Login({
45
47
  forgotPasswordHref,
46
48
  rightImageSrc,
47
49
  rightImageAlt = 'Login image',
50
+ showRightImage = true,
48
51
  className,
49
52
  continueWith,
50
53
  children,
51
54
  }: LoginProps) {
55
+ const shouldRenderRightColumn = showRightImage;
56
+
52
57
  return (
53
58
  <div
54
- className={['grid min-h-dvh grid-cols-1 md:grid-cols-2', className]
59
+ className={[
60
+ 'mx-auto grid min-h-screen w-full grid-cols-1',
61
+ shouldRenderRightColumn ? 'lg:grid-cols-2' : null,
62
+ className,
63
+ ]
55
64
  .filter(Boolean)
56
65
  .join(' ')}
57
66
  >
58
67
  {/* Left column: form section */}
59
- <div className="flex items-center justify-center p-6 md:p-10">
68
+ <div className="flex items-center justify-center p-6 sm:p-8 lg:p-12">
60
69
  <div className="w-full max-w-md">
61
70
  {/* Title */}
62
71
  <div className="mb-6 text-center">
@@ -111,18 +120,20 @@ export function Login({
111
120
  </div>
112
121
 
113
122
  {/* Right column: image */}
114
- <div className="hidden md:block">
115
- {rightImageSrc ? (
116
- <img
117
- src={rightImageSrc}
118
- alt={rightImageAlt}
119
- className="h-full w-full object-cover"
120
- loading="lazy"
121
- />
122
- ) : (
123
- <div className="h-full w-full bg-muted" />
124
- )}
125
- </div>
123
+ {shouldRenderRightColumn ? (
124
+ <div className="hidden lg:block">
125
+ {rightImageSrc ? (
126
+ <img
127
+ src={rightImageSrc}
128
+ alt={rightImageAlt}
129
+ className="h-full w-full object-cover"
130
+ loading="lazy"
131
+ />
132
+ ) : (
133
+ <div className="h-full w-full bg-muted" />
134
+ )}
135
+ </div>
136
+ ) : null}
126
137
  </div>
127
138
  );
128
139
  }