@k3-universe/react-kit 0.0.30 → 0.0.31

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-dvh w-full max-w-[1920px] grid-cols-1 lg:min-h-[768px]",
45723
+ shouldRenderRightColumn ? "lg:grid-cols-[minmax(0,_1fr)_minmax(384px,_1fr)]" : 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 min-h-0 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 max-h-[1280px] 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,2CAuFZ;AAED,eAAe,KAAK,CAAC"}
@@ -1061,6 +1061,10 @@
1061
1061
  max-height: 420px;
1062
1062
  }
1063
1063
 
1064
+ .max-h-\[1280px\] {
1065
+ max-height: 1280px;
1066
+ }
1067
+
1064
1068
  .min-h-0 {
1065
1069
  min-height: calc(var(--spacing) * 0);
1066
1070
  }
@@ -1309,6 +1313,10 @@
1309
1313
  max-width: 150px;
1310
1314
  }
1311
1315
 
1316
+ .max-w-\[1920px\] {
1317
+ max-width: 1920px;
1318
+ }
1319
+
1312
1320
  .max-w-\[calc\(100\%-2rem\)\] {
1313
1321
  max-width: calc(100% - 2rem);
1314
1322
  }
@@ -4425,6 +4433,10 @@
4425
4433
  margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
4426
4434
  }
4427
4435
 
4436
+ .sm\:p-8 {
4437
+ padding: calc(var(--spacing) * 8);
4438
+ }
4439
+
4428
4440
  .sm\:px-6 {
4429
4441
  padding-inline: calc(var(--spacing) * 6);
4430
4442
  }
@@ -4575,10 +4587,6 @@
4575
4587
  gap: calc(var(--spacing) * 1.5);
4576
4588
  }
4577
4589
 
4578
- .md\:p-10 {
4579
- padding: calc(var(--spacing) * 10);
4580
- }
4581
-
4582
4590
  .md\:text-left {
4583
4591
  text-align: left;
4584
4592
  }
@@ -4668,10 +4676,18 @@
4668
4676
  grid-column: span 12 / span 12;
4669
4677
  }
4670
4678
 
4679
+ .lg\:block {
4680
+ display: block;
4681
+ }
4682
+
4671
4683
  .lg\:flex {
4672
4684
  display: flex;
4673
4685
  }
4674
4686
 
4687
+ .lg\:min-h-\[768px\] {
4688
+ min-height: 768px;
4689
+ }
4690
+
4675
4691
  .lg\:grid-cols-1 {
4676
4692
  grid-template-columns: repeat(1, minmax(0, 1fr));
4677
4693
  }
@@ -4720,12 +4736,20 @@
4720
4736
  grid-template-columns: repeat(12, minmax(0, 1fr));
4721
4737
  }
4722
4738
 
4739
+ .lg\:grid-cols-\[minmax\(0\,_1fr\)_minmax\(384px\,_1fr\)\] {
4740
+ grid-template-columns: minmax(0, 1fr) minmax(384px, 1fr);
4741
+ }
4742
+
4723
4743
  :where(.lg\:space-x-8 > :not(:last-child)) {
4724
4744
  --tw-space-x-reverse: 0;
4725
4745
  margin-inline-start: calc(calc(var(--spacing) * 8) * var(--tw-space-x-reverse));
4726
4746
  margin-inline-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-x-reverse)));
4727
4747
  }
4728
4748
 
4749
+ .lg\:p-12 {
4750
+ padding: calc(var(--spacing) * 12);
4751
+ }
4752
+
4729
4753
  .lg\:px-8 {
4730
4754
  padding-inline: calc(var(--spacing) * 8);
4731
4755
  }
@@ -1064,6 +1064,10 @@
1064
1064
  max-height: 420px;
1065
1065
  }
1066
1066
 
1067
+ .max-h-\[1280px\] {
1068
+ max-height: 1280px;
1069
+ }
1070
+
1067
1071
  .min-h-0 {
1068
1072
  min-height: calc(var(--spacing) * 0);
1069
1073
  }
@@ -1312,6 +1316,10 @@
1312
1316
  max-width: 150px;
1313
1317
  }
1314
1318
 
1319
+ .max-w-\[1920px\] {
1320
+ max-width: 1920px;
1321
+ }
1322
+
1315
1323
  .max-w-\[calc\(100\%-2rem\)\] {
1316
1324
  max-width: calc(100% - 2rem);
1317
1325
  }
@@ -4432,6 +4440,10 @@
4432
4440
  margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
4433
4441
  }
4434
4442
 
4443
+ .sm\:p-8 {
4444
+ padding: calc(var(--spacing) * 8);
4445
+ }
4446
+
4435
4447
  .sm\:px-6 {
4436
4448
  padding-inline: calc(var(--spacing) * 6);
4437
4449
  }
@@ -4582,10 +4594,6 @@
4582
4594
  gap: calc(var(--spacing) * 1.5);
4583
4595
  }
4584
4596
 
4585
- .md\:p-10 {
4586
- padding: calc(var(--spacing) * 10);
4587
- }
4588
-
4589
4597
  .md\:text-left {
4590
4598
  text-align: left;
4591
4599
  }
@@ -4675,10 +4683,18 @@
4675
4683
  grid-column: span 12 / span 12;
4676
4684
  }
4677
4685
 
4686
+ .lg\:block {
4687
+ display: block;
4688
+ }
4689
+
4678
4690
  .lg\:flex {
4679
4691
  display: flex;
4680
4692
  }
4681
4693
 
4694
+ .lg\:min-h-\[768px\] {
4695
+ min-height: 768px;
4696
+ }
4697
+
4682
4698
  .lg\:grid-cols-1 {
4683
4699
  grid-template-columns: repeat(1, minmax(0, 1fr));
4684
4700
  }
@@ -4727,12 +4743,20 @@
4727
4743
  grid-template-columns: repeat(12, minmax(0, 1fr));
4728
4744
  }
4729
4745
 
4746
+ .lg\:grid-cols-\[minmax\(0\,_1fr\)_minmax\(384px\,_1fr\)\] {
4747
+ grid-template-columns: minmax(0, 1fr) minmax(384px, 1fr);
4748
+ }
4749
+
4730
4750
  :where(.lg\:space-x-8 > :not(:last-child)) {
4731
4751
  --tw-space-x-reverse: 0;
4732
4752
  margin-inline-start: calc(calc(var(--spacing) * 8) * var(--tw-space-x-reverse));
4733
4753
  margin-inline-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-x-reverse)));
4734
4754
  }
4735
4755
 
4756
+ .lg\:p-12 {
4757
+ padding: calc(var(--spacing) * 12);
4758
+ }
4759
+
4736
4760
  .lg\:px-8 {
4737
4761
  padding-inline: calc(var(--spacing) * 8);
4738
4762
  }
@@ -1061,6 +1061,10 @@
1061
1061
  max-height: 420px;
1062
1062
  }
1063
1063
 
1064
+ .max-h-\[1280px\] {
1065
+ max-height: 1280px;
1066
+ }
1067
+
1064
1068
  .min-h-0 {
1065
1069
  min-height: calc(var(--spacing) * 0);
1066
1070
  }
@@ -1309,6 +1313,10 @@
1309
1313
  max-width: 150px;
1310
1314
  }
1311
1315
 
1316
+ .max-w-\[1920px\] {
1317
+ max-width: 1920px;
1318
+ }
1319
+
1312
1320
  .max-w-\[calc\(100\%-2rem\)\] {
1313
1321
  max-width: calc(100% - 2rem);
1314
1322
  }
@@ -4425,6 +4433,10 @@
4425
4433
  margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
4426
4434
  }
4427
4435
 
4436
+ .sm\:p-8 {
4437
+ padding: calc(var(--spacing) * 8);
4438
+ }
4439
+
4428
4440
  .sm\:px-6 {
4429
4441
  padding-inline: calc(var(--spacing) * 6);
4430
4442
  }
@@ -4575,10 +4587,6 @@
4575
4587
  gap: calc(var(--spacing) * 1.5);
4576
4588
  }
4577
4589
 
4578
- .md\:p-10 {
4579
- padding: calc(var(--spacing) * 10);
4580
- }
4581
-
4582
4590
  .md\:text-left {
4583
4591
  text-align: left;
4584
4592
  }
@@ -4668,10 +4676,18 @@
4668
4676
  grid-column: span 12 / span 12;
4669
4677
  }
4670
4678
 
4679
+ .lg\:block {
4680
+ display: block;
4681
+ }
4682
+
4671
4683
  .lg\:flex {
4672
4684
  display: flex;
4673
4685
  }
4674
4686
 
4687
+ .lg\:min-h-\[768px\] {
4688
+ min-height: 768px;
4689
+ }
4690
+
4675
4691
  .lg\:grid-cols-1 {
4676
4692
  grid-template-columns: repeat(1, minmax(0, 1fr));
4677
4693
  }
@@ -4720,12 +4736,20 @@
4720
4736
  grid-template-columns: repeat(12, minmax(0, 1fr));
4721
4737
  }
4722
4738
 
4739
+ .lg\:grid-cols-\[minmax\(0\,_1fr\)_minmax\(384px\,_1fr\)\] {
4740
+ grid-template-columns: minmax(0, 1fr) minmax(384px, 1fr);
4741
+ }
4742
+
4723
4743
  :where(.lg\:space-x-8 > :not(:last-child)) {
4724
4744
  --tw-space-x-reverse: 0;
4725
4745
  margin-inline-start: calc(calc(var(--spacing) * 8) * var(--tw-space-x-reverse));
4726
4746
  margin-inline-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-x-reverse)));
4727
4747
  }
4728
4748
 
4749
+ .lg\:p-12 {
4750
+ padding: calc(var(--spacing) * 12);
4751
+ }
4752
+
4729
4753
  .lg\:px-8 {
4730
4754
  padding-inline: calc(var(--spacing) * 8);
4731
4755
  }
@@ -1061,6 +1061,10 @@
1061
1061
  max-height: 420px;
1062
1062
  }
1063
1063
 
1064
+ .max-h-\[1280px\] {
1065
+ max-height: 1280px;
1066
+ }
1067
+
1064
1068
  .min-h-0 {
1065
1069
  min-height: calc(var(--spacing) * 0);
1066
1070
  }
@@ -1309,6 +1313,10 @@
1309
1313
  max-width: 150px;
1310
1314
  }
1311
1315
 
1316
+ .max-w-\[1920px\] {
1317
+ max-width: 1920px;
1318
+ }
1319
+
1312
1320
  .max-w-\[calc\(100\%-2rem\)\] {
1313
1321
  max-width: calc(100% - 2rem);
1314
1322
  }
@@ -4425,6 +4433,10 @@
4425
4433
  margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
4426
4434
  }
4427
4435
 
4436
+ .sm\:p-8 {
4437
+ padding: calc(var(--spacing) * 8);
4438
+ }
4439
+
4428
4440
  .sm\:px-6 {
4429
4441
  padding-inline: calc(var(--spacing) * 6);
4430
4442
  }
@@ -4575,10 +4587,6 @@
4575
4587
  gap: calc(var(--spacing) * 1.5);
4576
4588
  }
4577
4589
 
4578
- .md\:p-10 {
4579
- padding: calc(var(--spacing) * 10);
4580
- }
4581
-
4582
4590
  .md\:text-left {
4583
4591
  text-align: left;
4584
4592
  }
@@ -4668,10 +4676,18 @@
4668
4676
  grid-column: span 12 / span 12;
4669
4677
  }
4670
4678
 
4679
+ .lg\:block {
4680
+ display: block;
4681
+ }
4682
+
4671
4683
  .lg\:flex {
4672
4684
  display: flex;
4673
4685
  }
4674
4686
 
4687
+ .lg\:min-h-\[768px\] {
4688
+ min-height: 768px;
4689
+ }
4690
+
4675
4691
  .lg\:grid-cols-1 {
4676
4692
  grid-template-columns: repeat(1, minmax(0, 1fr));
4677
4693
  }
@@ -4720,12 +4736,20 @@
4720
4736
  grid-template-columns: repeat(12, minmax(0, 1fr));
4721
4737
  }
4722
4738
 
4739
+ .lg\:grid-cols-\[minmax\(0\,_1fr\)_minmax\(384px\,_1fr\)\] {
4740
+ grid-template-columns: minmax(0, 1fr) minmax(384px, 1fr);
4741
+ }
4742
+
4723
4743
  :where(.lg\:space-x-8 > :not(:last-child)) {
4724
4744
  --tw-space-x-reverse: 0;
4725
4745
  margin-inline-start: calc(calc(var(--spacing) * 8) * var(--tw-space-x-reverse));
4726
4746
  margin-inline-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-x-reverse)));
4727
4747
  }
4728
4748
 
4749
+ .lg\:p-12 {
4750
+ padding: calc(var(--spacing) * 12);
4751
+ }
4752
+
4729
4753
  .lg\:px-8 {
4730
4754
  padding-inline: calc(var(--spacing) * 8);
4731
4755
  }
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.31",
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,27 @@ 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-dvh w-full max-w-[1920px] grid-cols-1 lg:min-h-[768px]',
61
+ shouldRenderRightColumn
62
+ ? 'lg:grid-cols-[minmax(0,_1fr)_minmax(384px,_1fr)]'
63
+ : null,
64
+ className,
65
+ ]
55
66
  .filter(Boolean)
56
67
  .join(' ')}
57
68
  >
58
69
  {/* Left column: form section */}
59
- <div className="flex items-center justify-center p-6 md:p-10">
70
+ <div className="flex min-h-0 items-center justify-center p-6 sm:p-8 lg:p-12">
60
71
  <div className="w-full max-w-md">
61
72
  {/* Title */}
62
73
  <div className="mb-6 text-center">
@@ -111,18 +122,20 @@ export function Login({
111
122
  </div>
112
123
 
113
124
  {/* 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>
125
+ {shouldRenderRightColumn ? (
126
+ <div className="hidden max-h-[1280px] lg:block">
127
+ {rightImageSrc ? (
128
+ <img
129
+ src={rightImageSrc}
130
+ alt={rightImageAlt}
131
+ className="h-full w-full object-cover"
132
+ loading="lazy"
133
+ />
134
+ ) : (
135
+ <div className="h-full w-full bg-muted" />
136
+ )}
137
+ </div>
138
+ ) : null}
126
139
  </div>
127
140
  );
128
141
  }