@alexourus/ui 0.3.0 → 0.3.2

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/README.md CHANGED
@@ -40,8 +40,8 @@ export default function App() {
40
40
  Bileşenleri doğrudan projenizin kaynak koduna eklemek için:
41
41
 
42
42
  ```bash
43
- npx alexourus-ui init
44
- npx alexourus-ui add button card dialog
43
+ npx @alexourus/cli init
44
+ npx @alexourus/cli add button card dialog
45
45
  ```
46
46
 
47
47
  ## 📄 Lisans
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkPVA5Z3FG_js = require('../../chunk-PVA5Z3FG.js');
4
- require('../../chunk-FPNCCKUP.js');
3
+ var chunkRE54CQZM_js = require('../../chunk-RE54CQZM.js');
5
4
  require('../../chunk-U225QIWZ.js');
5
+ require('../../chunk-FPNCCKUP.js');
6
6
  require('../../chunk-C3X2BPC5.js');
7
7
  require('../../chunk-AJKFRN2S.js');
8
8
  require('../../chunk-PYCBM7ZF.js');
@@ -12,7 +12,7 @@ require('../../chunk-CRTXVH5I.js');
12
12
 
13
13
  Object.defineProperty(exports, "AuthCard", {
14
14
  enumerable: true,
15
- get: function () { return chunkPVA5Z3FG_js.AuthCard; }
15
+ get: function () { return chunkRE54CQZM_js.AuthCard; }
16
16
  });
17
17
  //# sourceMappingURL=index.js.map
18
18
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
- export { AuthCard } from '../../chunk-PWXNL2BK.mjs';
2
- import '../../chunk-6PZRZJKB.mjs';
1
+ export { AuthCard } from '../../chunk-HNMYSP3J.mjs';
3
2
  import '../../chunk-TLFSZJN5.mjs';
3
+ import '../../chunk-6PZRZJKB.mjs';
4
4
  import '../../chunk-UXNADSIF.mjs';
5
5
  import '../../chunk-6KHFGJKO.mjs';
6
6
  import '../../chunk-ZOUNOOT4.mjs';
@@ -1,5 +1,5 @@
1
- import { Separator } from './chunk-6PZRZJKB.mjs';
2
1
  import { Label } from './chunk-TLFSZJN5.mjs';
2
+ import { Separator } from './chunk-6PZRZJKB.mjs';
3
3
  import { Checkbox } from './chunk-UXNADSIF.mjs';
4
4
  import { Input } from './chunk-6KHFGJKO.mjs';
5
5
  import { Button } from './chunk-ZOUNOOT4.mjs';
@@ -287,5 +287,5 @@ function AuthCard({
287
287
  }
288
288
 
289
289
  export { AuthCard };
290
- //# sourceMappingURL=chunk-PWXNL2BK.mjs.map
291
- //# sourceMappingURL=chunk-PWXNL2BK.mjs.map
290
+ //# sourceMappingURL=chunk-HNMYSP3J.mjs.map
291
+ //# sourceMappingURL=chunk-HNMYSP3J.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/blocks/auth-card/index.tsx"],"names":[],"mappings":"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","file":"chunk-PWXNL2BK.mjs","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Mail, Lock, User, Eye, EyeOff, ArrowRight, Loader2, ArrowLeft } from \"lucide-react\";\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../../components/button\";\nimport { Input } from \"../../components/input\";\nimport { Label } from \"../../components/label\";\nimport { Checkbox } from \"../../components/checkbox\";\nimport { Separator } from \"../../components/separator\";\n\nexport interface AuthCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onError\"> {\n defaultMode?: \"login\" | \"register\" | \"forgot-password\";\n logo?: React.ReactNode;\n title?: string;\n showSocial?: boolean;\n onLogin?: (data: { email: string; password?: string; rememberMe?: boolean }) => Promise<void> | void;\n onRegister?: (data: { name?: string; email: string; password?: string }) => Promise<void> | void;\n onForgotPassword?: (email: string) => Promise<void> | void;\n onSocialLogin?: (provider: \"github\" | \"google\") => void;\n}\n\nexport function AuthCard({\n defaultMode = \"login\",\n logo,\n showSocial = true,\n onLogin,\n onRegister,\n onForgotPassword,\n onSocialLogin,\n className,\n ...props\n}: AuthCardProps) {\n const [mode, setMode] = React.useState<\"login\" | \"register\" | \"forgot-password\">(defaultMode);\n const [showPassword, setShowPassword] = React.useState(false);\n const [loading, setLoading] = React.useState(false);\n\n const [name, setName] = React.useState(\"\");\n const [email, setEmail] = React.useState(\"\");\n const [password, setPassword] = React.useState(\"\");\n const [rememberMe, setRememberMe] = React.useState(false);\n const [agreedTerms, setAgreedTerms] = React.useState(false);\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n setLoading(true);\n try {\n if (mode === \"login\") {\n await onLogin?.({ email, password, rememberMe });\n } else if (mode === \"register\") {\n await onRegister?.({ name, email, password });\n } else if (mode === \"forgot-password\") {\n await onForgotPassword?.(email);\n }\n } finally {\n setLoading(false);\n }\n };\n\n return (\n <div\n className={cn(\n \"w-full max-w-md mx-auto rounded-2xl border border-border/80 bg-card p-6 sm:p-8 shadow-card\",\n className\n )}\n {...props}\n >\n {/* Header */}\n <div className=\"flex flex-col items-center text-center space-y-2 mb-6\">\n {logo && <div className=\"mb-2\">{logo}</div>}\n <h2 className=\"text-xl font-bold tracking-tight text-foreground\">\n {mode === \"login\" && \"Hesabınıza Giriş Yapın\"}\n {mode === \"register\" && \"Yeni Hesap Oluşturun\"}\n {mode === \"forgot-password\" && \"Şifrenizi Sıfırlayın\"}\n </h2>\n <p className=\"text-xs text-muted-foreground max-w-xs\">\n {mode === \"login\" && \"Bilgilerinizi girerek yönetim paneline erişin.\"}\n {mode === \"register\" && \"Hızlıca kaydolun ve hemen kullanmaya başlayın.\"}\n {mode === \"forgot-password\" && \"E-posta adresinize sıfırlama bağlantısı göndereceğiz.\"}\n </p>\n </div>\n\n {/* Social Login Buttons */}\n {showSocial && mode !== \"forgot-password\" && (\n <div className=\"space-y-3 mb-6\">\n <div className=\"grid grid-cols-2 gap-2.5\">\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className=\"text-xs font-medium rounded-xl h-9 gap-2 border-border/80 hover:bg-muted/50\"\n onClick={() => onSocialLogin?.(\"github\")}\n >\n <svg className=\"h-4 w-4 fill-current\" viewBox=\"0 0 24 24\">\n <path d=\"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z\" />\n </svg>\n GitHub\n </Button>\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className=\"text-xs font-medium rounded-xl h-9 gap-2 border-border/80 hover:bg-muted/50\"\n onClick={() => onSocialLogin?.(\"google\")}\n >\n <svg className=\"h-4 w-4\" viewBox=\"0 0 24 24\">\n <path\n fill=\"#4285F4\"\n d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z\"\n />\n <path\n fill=\"#34A853\"\n d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\"\n />\n <path\n fill=\"#FBBC05\"\n d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.06H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.94l2.85-2.22.81-.63z\"\n />\n <path\n fill=\"#EA4335\"\n d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.06l3.66 2.84c.87-2.6 3.3-4.52 6.16-4.52z\"\n />\n </svg>\n Google\n </Button>\n </div>\n\n <div className=\"relative flex items-center justify-center my-4\">\n <Separator />\n <span className=\"absolute bg-card px-2 text-[11px] text-muted-foreground\">\n veya e-posta ile\n </span>\n </div>\n </div>\n )}\n\n {/* Main Form */}\n <form onSubmit={handleSubmit} className=\"space-y-4\">\n {/* Full Name Field (Register Mode) */}\n {mode === \"register\" && (\n <div className=\"space-y-1.5 animate-in fade-in-50 duration-200\">\n <Label htmlFor=\"auth-name\" className=\"text-xs\">\n Ad Soyad\n </Label>\n <Input\n id=\"auth-name\"\n placeholder=\"Alexourus\"\n leftIcon={<User className=\"h-4 w-4\" />}\n value={name}\n onChange={(e) => setName(e.target.value)}\n required\n className=\"h-9 text-xs rounded-xl\"\n />\n </div>\n )}\n\n {/* Email Field */}\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"auth-email\" className=\"text-xs\">\n E-posta Adresi\n </Label>\n <Input\n id=\"auth-email\"\n type=\"email\"\n placeholder=\"ornek@alanadi.com\"\n leftIcon={<Mail className=\"h-4 w-4\" />}\n value={email}\n onChange={(e) => setEmail(e.target.value)}\n required\n className=\"h-9 text-xs rounded-xl\"\n />\n </div>\n\n {/* Password Field (Login & Register Modes) */}\n {mode !== \"forgot-password\" && (\n <div className=\"space-y-1.5\">\n <div className=\"flex items-center justify-between\">\n <Label htmlFor=\"auth-pass\" className=\"text-xs\">\n Şifre\n </Label>\n {mode === \"login\" && (\n <button\n type=\"button\"\n onClick={() => setMode(\"forgot-password\")}\n className=\"text-[11px] text-primary hover:underline cursor-pointer\"\n >\n Şifremi unuttum\n </button>\n )}\n </div>\n <Input\n id=\"auth-pass\"\n type={showPassword ? \"text\" : \"password\"}\n placeholder=\"••••••••\"\n leftIcon={<Lock className=\"h-4 w-4\" />}\n rightIcon={\n <button\n type=\"button\"\n onClick={() => setShowPassword((p) => !p)}\n className=\"text-muted-foreground hover:text-foreground pointer-events-auto cursor-pointer p-0.5\"\n aria-label={showPassword ? \"Şifreyi gizle\" : \"Şifreyi göster\"}\n >\n {showPassword ? <EyeOff className=\"h-4 w-4\" /> : <Eye className=\"h-4 w-4\" />}\n </button>\n }\n value={password}\n onChange={(e) => setPassword(e.target.value)}\n required\n className=\"h-9 text-xs rounded-xl\"\n />\n </div>\n )}\n\n {/* Remember Me / Terms Checkboxes */}\n {mode === \"login\" && (\n <div className=\"flex items-center gap-2 pt-1\">\n <Checkbox\n id=\"remember-me\"\n checked={rememberMe}\n onCheckedChange={(checked) => setRememberMe(!!checked)}\n />\n <Label htmlFor=\"remember-me\" className=\"text-xs cursor-pointer text-muted-foreground\">\n Beni hatırla\n </Label>\n </div>\n )}\n\n {mode === \"register\" && (\n <div className=\"flex items-center gap-2 pt-1\">\n <Checkbox\n id=\"terms-agree\"\n checked={agreedTerms}\n onCheckedChange={(checked) => setAgreedTerms(!!checked)}\n required\n />\n <Label htmlFor=\"terms-agree\" className=\"text-xs cursor-pointer text-muted-foreground\">\n Kullanım şartlarını ve gizlilik politikasını onaylıyorum\n </Label>\n </div>\n )}\n\n {/* Submit Button */}\n <Button\n type=\"submit\"\n disabled={loading}\n className=\"w-full text-xs font-semibold rounded-xl h-9 gap-1.5 mt-2\"\n >\n {loading ? (\n <>\n <Loader2 className=\"h-3.5 w-3.5 animate-spin\" />\n <span>İşleniyor...</span>\n </>\n ) : (\n <>\n <span>\n {mode === \"login\" && \"Giriş Yap\"}\n {mode === \"register\" && \"Hesap Oluştur\"}\n {mode === \"forgot-password\" && \"Sıfırlama Bağlantısı Gönder\"}\n </span>\n <ArrowRight className=\"h-3.5 w-3.5\" />\n </>\n )}\n </Button>\n </form>\n\n {/* Footer Navigation */}\n <div className=\"mt-6 pt-4 border-t border-border/60 text-center text-xs text-muted-foreground\">\n {mode === \"login\" && (\n <p>\n Hesabınız yok mu?{\" \"}\n <button\n type=\"button\"\n onClick={() => setMode(\"register\")}\n className=\"font-semibold text-foreground hover:underline\"\n >\n Hemen Kaydolun\n </button>\n </p>\n )}\n {mode === \"register\" && (\n <p>\n Zaten hesabınız var mı?{\" \"}\n <button\n type=\"button\"\n onClick={() => setMode(\"login\")}\n className=\"font-semibold text-foreground hover:underline\"\n >\n Giriş Yapın\n </button>\n </p>\n )}\n {mode === \"forgot-password\" && (\n <button\n type=\"button\"\n onClick={() => setMode(\"login\")}\n className=\"inline-flex items-center gap-1.5 font-medium text-foreground hover:underline\"\n >\n <ArrowLeft className=\"h-3 w-3\" />\n Giriş sayfasına dön\n </button>\n )}\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/blocks/auth-card/index.tsx"],"names":[],"mappings":";;;;;;;;;;AAsBO,SAAS,QAAA,CAAS;AAAA,EACvB,WAAA,GAAc,OAAA;AAAA,EACd,IAAA;AAAA,EACA,UAAA,GAAa,IAAA;AAAA,EACb,OAAA;AAAA,EACA,UAAA;AAAA,EACA,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAkB;AAChB,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAU,eAAmD,WAAW,CAAA;AAC5F,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAU,eAAS,KAAK,CAAA;AAC5D,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAU,eAAS,KAAK,CAAA;AAElD,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAU,eAAS,EAAE,CAAA;AACzC,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAU,eAAS,EAAE,CAAA;AAC3C,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAU,eAAS,EAAE,CAAA;AACjD,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAU,eAAS,KAAK,CAAA;AACxD,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAU,eAAS,KAAK,CAAA;AAE1D,EAAA,MAAM,YAAA,GAAe,OAAO,CAAA,KAAuB;AACjD,IAAA,CAAA,CAAE,cAAA,EAAe;AACjB,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA,IAAI;AACF,MAAA,IAAI,SAAS,OAAA,EAAS;AACpB,QAAA,MAAM,OAAA,GAAU,EAAE,KAAA,EAAO,QAAA,EAAU,YAAY,CAAA;AAAA,MACjD,CAAA,MAAA,IAAW,SAAS,UAAA,EAAY;AAC9B,QAAA,MAAM,UAAA,GAAa,EAAE,IAAA,EAAM,KAAA,EAAO,UAAU,CAAA;AAAA,MAC9C,CAAA,MAAA,IAAW,SAAS,iBAAA,EAAmB;AACrC,QAAA,MAAM,mBAAmB,KAAK,CAAA;AAAA,MAChC;AAAA,IACF,CAAA,SAAE;AACA,MAAA,UAAA,CAAW,KAAK,CAAA;AAAA,IAClB;AAAA,EACF,CAAA;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,4FAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAGJ,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,uDAAA,EACZ,QAAA,EAAA;AAAA,UAAA,IAAA,oBAAQ,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,MAAA,EAAQ,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,0BACrC,IAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,kDAAA,EACX,QAAA,EAAA;AAAA,YAAA,IAAA,KAAS,OAAA,IAAW,4CAAA;AAAA,YACpB,SAAS,UAAA,IAAc,2BAAA;AAAA,YACvB,SAAS,iBAAA,IAAqB;AAAA,WAAA,EACjC,CAAA;AAAA,0BACA,IAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,wCAAA,EACV,QAAA,EAAA;AAAA,YAAA,IAAA,KAAS,OAAA,IAAW,wDAAA;AAAA,YACpB,SAAS,UAAA,IAAc,oEAAA;AAAA,YACvB,SAAS,iBAAA,IAAqB;AAAA,WAAA,EACjC;AAAA,SAAA,EACF,CAAA;AAAA,QAGC,cAAc,IAAA,KAAS,iBAAA,oBACtB,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,gBAAA,EACb,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,0BAAA,EACb,QAAA,EAAA;AAAA,4BAAA,IAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAK,QAAA;AAAA,gBACL,OAAA,EAAQ,SAAA;AAAA,gBACR,IAAA,EAAK,IAAA;AAAA,gBACL,SAAA,EAAU,6EAAA;AAAA,gBACV,OAAA,EAAS,MAAM,aAAA,GAAgB,QAAQ,CAAA;AAAA,gBAEvC,QAAA,EAAA;AAAA,kCAAA,GAAA,CAAC,KAAA,EAAA,EAAI,WAAU,sBAAA,EAAuB,OAAA,EAAQ,aAC5C,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,ypBAAA,EAA0pB,CAAA,EACpqB,CAAA;AAAA,kBAAM;AAAA;AAAA;AAAA,aAER;AAAA,4BACA,IAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAK,QAAA;AAAA,gBACL,OAAA,EAAQ,SAAA;AAAA,gBACR,IAAA,EAAK,IAAA;AAAA,gBACL,SAAA,EAAU,6EAAA;AAAA,gBACV,OAAA,EAAS,MAAM,aAAA,GAAgB,QAAQ,CAAA;AAAA,gBAEvC,QAAA,EAAA;AAAA,kCAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,SAAA,EAAU,OAAA,EAAQ,WAAA,EAC/B,QAAA,EAAA;AAAA,oCAAA,GAAA;AAAA,sBAAC,MAAA;AAAA,sBAAA;AAAA,wBACC,IAAA,EAAK,SAAA;AAAA,wBACL,CAAA,EAAE;AAAA;AAAA,qBACJ;AAAA,oCACA,GAAA;AAAA,sBAAC,MAAA;AAAA,sBAAA;AAAA,wBACC,IAAA,EAAK,SAAA;AAAA,wBACL,CAAA,EAAE;AAAA;AAAA,qBACJ;AAAA,oCACA,GAAA;AAAA,sBAAC,MAAA;AAAA,sBAAA;AAAA,wBACC,IAAA,EAAK,SAAA;AAAA,wBACL,CAAA,EAAE;AAAA;AAAA,qBACJ;AAAA,oCACA,GAAA;AAAA,sBAAC,MAAA;AAAA,sBAAA;AAAA,wBACC,IAAA,EAAK,SAAA;AAAA,wBACL,CAAA,EAAE;AAAA;AAAA;AACJ,mBAAA,EACF,CAAA;AAAA,kBAAM;AAAA;AAAA;AAAA;AAER,WAAA,EACF,CAAA;AAAA,0BAEA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gDAAA,EACb,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,SAAA,EAAA,EAAU,CAAA;AAAA,4BACX,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,yDAAA,EAA0D,QAAA,EAAA,kBAAA,EAE1E;AAAA,WAAA,EACF;AAAA,SAAA,EACF,CAAA;AAAA,wBAIF,IAAA,CAAC,MAAA,EAAA,EAAK,QAAA,EAAU,YAAA,EAAc,WAAU,WAAA,EAErC,QAAA,EAAA;AAAA,UAAA,IAAA,KAAS,UAAA,oBACR,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gDAAA,EACb,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,KAAA,EAAA,EAAM,OAAA,EAAQ,WAAA,EAAY,SAAA,EAAU,WAAU,QAAA,EAAA,UAAA,EAE/C,CAAA;AAAA,4BACA,GAAA;AAAA,cAAC,KAAA;AAAA,cAAA;AAAA,gBACC,EAAA,EAAG,WAAA;AAAA,gBACH,WAAA,EAAY,WAAA;AAAA,gBACZ,QAAA,kBAAU,GAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,CAAA;AAAA,gBACpC,KAAA,EAAO,IAAA;AAAA,gBACP,UAAU,CAAC,CAAA,KAAM,OAAA,CAAQ,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,gBACvC,QAAA,EAAQ,IAAA;AAAA,gBACR,SAAA,EAAU;AAAA;AAAA;AACZ,WAAA,EACF,CAAA;AAAA,0BAIF,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,aAAA,EACb,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,KAAA,EAAA,EAAM,OAAA,EAAQ,YAAA,EAAa,SAAA,EAAU,WAAU,QAAA,EAAA,gBAAA,EAEhD,CAAA;AAAA,4BACA,GAAA;AAAA,cAAC,KAAA;AAAA,cAAA;AAAA,gBACC,EAAA,EAAG,YAAA;AAAA,gBACH,IAAA,EAAK,OAAA;AAAA,gBACL,WAAA,EAAY,mBAAA;AAAA,gBACZ,QAAA,kBAAU,GAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,CAAA;AAAA,gBACpC,KAAA,EAAO,KAAA;AAAA,gBACP,UAAU,CAAC,CAAA,KAAM,QAAA,CAAS,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,gBACxC,QAAA,EAAQ,IAAA;AAAA,gBACR,SAAA,EAAU;AAAA;AAAA;AACZ,WAAA,EACF,CAAA;AAAA,UAGC,IAAA,KAAS,iBAAA,oBACR,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,aAAA,EACb,QAAA,EAAA;AAAA,4BAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,mCAAA,EACb,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,KAAA,EAAA,EAAM,OAAA,EAAQ,WAAA,EAAY,SAAA,EAAU,WAAU,QAAA,EAAA,YAAA,EAE/C,CAAA;AAAA,cACC,SAAS,OAAA,oBACR,GAAA;AAAA,gBAAC,QAAA;AAAA,gBAAA;AAAA,kBACC,IAAA,EAAK,QAAA;AAAA,kBACL,OAAA,EAAS,MAAM,OAAA,CAAQ,iBAAiB,CAAA;AAAA,kBACxC,SAAA,EAAU,yDAAA;AAAA,kBACX,QAAA,EAAA;AAAA;AAAA;AAED,aAAA,EAEJ,CAAA;AAAA,4BACA,GAAA;AAAA,cAAC,KAAA;AAAA,cAAA;AAAA,gBACC,EAAA,EAAG,WAAA;AAAA,gBACH,IAAA,EAAM,eAAe,MAAA,GAAS,UAAA;AAAA,gBAC9B,WAAA,EAAY,kDAAA;AAAA,gBACZ,QAAA,kBAAU,GAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,CAAA;AAAA,gBACpC,SAAA,kBACE,GAAA;AAAA,kBAAC,QAAA;AAAA,kBAAA;AAAA,oBACC,IAAA,EAAK,QAAA;AAAA,oBACL,SAAS,MAAM,eAAA,CAAgB,CAAC,CAAA,KAAM,CAAC,CAAC,CAAA;AAAA,oBACxC,SAAA,EAAU,sFAAA;AAAA,oBACV,YAAA,EAAY,eAAe,oBAAA,GAAkB,wBAAA;AAAA,oBAE5C,QAAA,EAAA,YAAA,uBAAgB,MAAA,EAAA,EAAO,SAAA,EAAU,WAAU,CAAA,mBAAK,GAAA,CAAC,GAAA,EAAA,EAAI,SAAA,EAAU,SAAA,EAAU;AAAA;AAAA,iBAC5E;AAAA,gBAEF,KAAA,EAAO,QAAA;AAAA,gBACP,UAAU,CAAC,CAAA,KAAM,WAAA,CAAY,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,gBAC3C,QAAA,EAAQ,IAAA;AAAA,gBACR,SAAA,EAAU;AAAA;AAAA;AACZ,WAAA,EACF,CAAA;AAAA,UAID,IAAA,KAAS,OAAA,oBACR,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,8BAAA,EACb,QAAA,EAAA;AAAA,4BAAA,GAAA;AAAA,cAAC,QAAA;AAAA,cAAA;AAAA,gBACC,EAAA,EAAG,aAAA;AAAA,gBACH,OAAA,EAAS,UAAA;AAAA,gBACT,iBAAiB,CAAC,OAAA,KAAY,aAAA,CAAc,CAAC,CAAC,OAAO;AAAA;AAAA,aACvD;AAAA,gCACC,KAAA,EAAA,EAAM,OAAA,EAAQ,aAAA,EAAc,SAAA,EAAU,gDAA+C,QAAA,EAAA,mBAAA,EAEtF;AAAA,WAAA,EACF,CAAA;AAAA,UAGD,IAAA,KAAS,UAAA,oBACR,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,8BAAA,EACb,QAAA,EAAA;AAAA,4BAAA,GAAA;AAAA,cAAC,QAAA;AAAA,cAAA;AAAA,gBACC,EAAA,EAAG,aAAA;AAAA,gBACH,OAAA,EAAS,WAAA;AAAA,gBACT,iBAAiB,CAAC,OAAA,KAAY,cAAA,CAAe,CAAC,CAAC,OAAO,CAAA;AAAA,gBACtD,QAAA,EAAQ;AAAA;AAAA,aACV;AAAA,gCACC,KAAA,EAAA,EAAM,OAAA,EAAQ,aAAA,EAAc,SAAA,EAAU,gDAA+C,QAAA,EAAA,6FAAA,EAEtF;AAAA,WAAA,EACF,CAAA;AAAA,0BAIF,GAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,QAAA;AAAA,cACL,QAAA,EAAU,OAAA;AAAA,cACV,SAAA,EAAU,0DAAA;AAAA,cAET,oCACC,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,gCAAA,GAAA,CAAC,OAAA,EAAA,EAAQ,WAAU,0BAAA,EAA2B,CAAA;AAAA,gCAC9C,GAAA,CAAC,UAAK,QAAA,EAAA,wBAAA,EAAY;AAAA,eAAA,EACpB,oBAEA,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,gCAAA,IAAA,CAAC,MAAA,EAAA,EACE,QAAA,EAAA;AAAA,kBAAA,IAAA,KAAS,OAAA,IAAW,gBAAA;AAAA,kBACpB,SAAS,UAAA,IAAc,oBAAA;AAAA,kBACvB,SAAS,iBAAA,IAAqB;AAAA,iBAAA,EACjC,CAAA;AAAA,gCACA,GAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAU,aAAA,EAAc;AAAA,eAAA,EACtC;AAAA;AAAA;AAEJ,SAAA,EACF,CAAA;AAAA,wBAGA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,+EAAA,EACZ,QAAA,EAAA;AAAA,UAAA,IAAA,KAAS,OAAA,yBACP,GAAA,EAAA,EAAE,QAAA,EAAA;AAAA,YAAA,6BAAA;AAAA,YACiB,GAAA;AAAA,4BAClB,GAAA;AAAA,cAAC,QAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAK,QAAA;AAAA,gBACL,OAAA,EAAS,MAAM,OAAA,CAAQ,UAAU,CAAA;AAAA,gBACjC,SAAA,EAAU,+CAAA;AAAA,gBACX,QAAA,EAAA;AAAA;AAAA;AAED,WAAA,EACF,CAAA;AAAA,UAED,IAAA,KAAS,UAAA,oBACR,IAAA,CAAC,GAAA,EAAA,EAAE,QAAA,EAAA;AAAA,YAAA,wCAAA;AAAA,YACuB,GAAA;AAAA,4BACxB,GAAA;AAAA,cAAC,QAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAK,QAAA;AAAA,gBACL,OAAA,EAAS,MAAM,OAAA,CAAQ,OAAO,CAAA;AAAA,gBAC9B,SAAA,EAAU,+CAAA;AAAA,gBACX,QAAA,EAAA;AAAA;AAAA;AAED,WAAA,EACF,CAAA;AAAA,UAED,SAAS,iBAAA,oBACR,IAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,QAAA;AAAA,cACL,OAAA,EAAS,MAAM,OAAA,CAAQ,OAAO,CAAA;AAAA,cAC9B,SAAA,EAAU,8EAAA;AAAA,cAEV,QAAA,EAAA;AAAA,gCAAA,GAAA,CAAC,SAAA,EAAA,EAAU,WAAU,SAAA,EAAU,CAAA;AAAA,gBAAE;AAAA;AAAA;AAAA;AAEnC,SAAA,EAEJ;AAAA;AAAA;AAAA,GACF;AAEJ","file":"chunk-HNMYSP3J.mjs","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Mail, Lock, User, Eye, EyeOff, ArrowRight, Loader2, ArrowLeft } from \"lucide-react\";\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../../components/button\";\nimport { Input } from \"../../components/input\";\nimport { Label } from \"../../components/label\";\nimport { Checkbox } from \"../../components/checkbox\";\nimport { Separator } from \"../../components/separator\";\n\nexport interface AuthCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onError\"> {\n defaultMode?: \"login\" | \"register\" | \"forgot-password\";\n logo?: React.ReactNode;\n title?: string;\n showSocial?: boolean;\n onLogin?: (data: { email: string; password?: string; rememberMe?: boolean }) => Promise<void> | void;\n onRegister?: (data: { name?: string; email: string; password?: string }) => Promise<void> | void;\n onForgotPassword?: (email: string) => Promise<void> | void;\n onSocialLogin?: (provider: \"github\" | \"google\") => void;\n}\n\nexport function AuthCard({\n defaultMode = \"login\",\n logo,\n showSocial = true,\n onLogin,\n onRegister,\n onForgotPassword,\n onSocialLogin,\n className,\n ...props\n}: AuthCardProps) {\n const [mode, setMode] = React.useState<\"login\" | \"register\" | \"forgot-password\">(defaultMode);\n const [showPassword, setShowPassword] = React.useState(false);\n const [loading, setLoading] = React.useState(false);\n\n const [name, setName] = React.useState(\"\");\n const [email, setEmail] = React.useState(\"\");\n const [password, setPassword] = React.useState(\"\");\n const [rememberMe, setRememberMe] = React.useState(false);\n const [agreedTerms, setAgreedTerms] = React.useState(false);\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n setLoading(true);\n try {\n if (mode === \"login\") {\n await onLogin?.({ email, password, rememberMe });\n } else if (mode === \"register\") {\n await onRegister?.({ name, email, password });\n } else if (mode === \"forgot-password\") {\n await onForgotPassword?.(email);\n }\n } finally {\n setLoading(false);\n }\n };\n\n return (\n <div\n className={cn(\n \"w-full max-w-md mx-auto rounded-2xl border border-border/80 bg-card p-6 sm:p-8 shadow-card\",\n className\n )}\n {...props}\n >\n {/* Header */}\n <div className=\"flex flex-col items-center text-center space-y-2 mb-6\">\n {logo && <div className=\"mb-2\">{logo}</div>}\n <h2 className=\"text-xl font-bold tracking-tight text-foreground\">\n {mode === \"login\" && \"Hesabınıza Giriş Yapın\"}\n {mode === \"register\" && \"Yeni Hesap Oluşturun\"}\n {mode === \"forgot-password\" && \"Şifrenizi Sıfırlayın\"}\n </h2>\n <p className=\"text-xs text-muted-foreground max-w-xs\">\n {mode === \"login\" && \"Bilgilerinizi girerek yönetim paneline erişin.\"}\n {mode === \"register\" && \"Hızlıca kaydolun ve hemen kullanmaya başlayın.\"}\n {mode === \"forgot-password\" && \"E-posta adresinize sıfırlama bağlantısı göndereceğiz.\"}\n </p>\n </div>\n\n {/* Social Login Buttons */}\n {showSocial && mode !== \"forgot-password\" && (\n <div className=\"space-y-3 mb-6\">\n <div className=\"grid grid-cols-2 gap-2.5\">\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className=\"text-xs font-medium rounded-xl h-9 gap-2 border-border/80 hover:bg-muted/50\"\n onClick={() => onSocialLogin?.(\"github\")}\n >\n <svg className=\"h-4 w-4 fill-current\" viewBox=\"0 0 24 24\">\n <path d=\"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z\" />\n </svg>\n GitHub\n </Button>\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className=\"text-xs font-medium rounded-xl h-9 gap-2 border-border/80 hover:bg-muted/50\"\n onClick={() => onSocialLogin?.(\"google\")}\n >\n <svg className=\"h-4 w-4\" viewBox=\"0 0 24 24\">\n <path\n fill=\"#4285F4\"\n d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z\"\n />\n <path\n fill=\"#34A853\"\n d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\"\n />\n <path\n fill=\"#FBBC05\"\n d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.06H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.94l2.85-2.22.81-.63z\"\n />\n <path\n fill=\"#EA4335\"\n d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.06l3.66 2.84c.87-2.6 3.3-4.52 6.16-4.52z\"\n />\n </svg>\n Google\n </Button>\n </div>\n\n <div className=\"relative flex items-center justify-center my-4\">\n <Separator />\n <span className=\"absolute bg-card px-2 text-[11px] text-muted-foreground\">\n veya e-posta ile\n </span>\n </div>\n </div>\n )}\n\n {/* Main Form */}\n <form onSubmit={handleSubmit} className=\"space-y-4\">\n {/* Full Name Field (Register Mode) */}\n {mode === \"register\" && (\n <div className=\"space-y-1.5 animate-in fade-in-50 duration-200\">\n <Label htmlFor=\"auth-name\" className=\"text-xs\">\n Ad Soyad\n </Label>\n <Input\n id=\"auth-name\"\n placeholder=\"Alexourus\"\n leftIcon={<User className=\"h-4 w-4\" />}\n value={name}\n onChange={(e) => setName(e.target.value)}\n required\n className=\"h-9 text-xs rounded-xl\"\n />\n </div>\n )}\n\n {/* Email Field */}\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"auth-email\" className=\"text-xs\">\n E-posta Adresi\n </Label>\n <Input\n id=\"auth-email\"\n type=\"email\"\n placeholder=\"ornek@alanadi.com\"\n leftIcon={<Mail className=\"h-4 w-4\" />}\n value={email}\n onChange={(e) => setEmail(e.target.value)}\n required\n className=\"h-9 text-xs rounded-xl\"\n />\n </div>\n\n {/* Password Field (Login & Register Modes) */}\n {mode !== \"forgot-password\" && (\n <div className=\"space-y-1.5\">\n <div className=\"flex items-center justify-between\">\n <Label htmlFor=\"auth-pass\" className=\"text-xs\">\n Şifre\n </Label>\n {mode === \"login\" && (\n <button\n type=\"button\"\n onClick={() => setMode(\"forgot-password\")}\n className=\"text-[11px] text-primary hover:underline cursor-pointer\"\n >\n Şifremi unuttum\n </button>\n )}\n </div>\n <Input\n id=\"auth-pass\"\n type={showPassword ? \"text\" : \"password\"}\n placeholder=\"••••••••\"\n leftIcon={<Lock className=\"h-4 w-4\" />}\n rightIcon={\n <button\n type=\"button\"\n onClick={() => setShowPassword((p) => !p)}\n className=\"text-muted-foreground hover:text-foreground pointer-events-auto cursor-pointer p-0.5\"\n aria-label={showPassword ? \"Şifreyi gizle\" : \"Şifreyi göster\"}\n >\n {showPassword ? <EyeOff className=\"h-4 w-4\" /> : <Eye className=\"h-4 w-4\" />}\n </button>\n }\n value={password}\n onChange={(e) => setPassword(e.target.value)}\n required\n className=\"h-9 text-xs rounded-xl\"\n />\n </div>\n )}\n\n {/* Remember Me / Terms Checkboxes */}\n {mode === \"login\" && (\n <div className=\"flex items-center gap-2 pt-1\">\n <Checkbox\n id=\"remember-me\"\n checked={rememberMe}\n onCheckedChange={(checked) => setRememberMe(!!checked)}\n />\n <Label htmlFor=\"remember-me\" className=\"text-xs cursor-pointer text-muted-foreground\">\n Beni hatırla\n </Label>\n </div>\n )}\n\n {mode === \"register\" && (\n <div className=\"flex items-center gap-2 pt-1\">\n <Checkbox\n id=\"terms-agree\"\n checked={agreedTerms}\n onCheckedChange={(checked) => setAgreedTerms(!!checked)}\n required\n />\n <Label htmlFor=\"terms-agree\" className=\"text-xs cursor-pointer text-muted-foreground\">\n Kullanım şartlarını ve gizlilik politikasını onaylıyorum\n </Label>\n </div>\n )}\n\n {/* Submit Button */}\n <Button\n type=\"submit\"\n disabled={loading}\n className=\"w-full text-xs font-semibold rounded-xl h-9 gap-1.5 mt-2\"\n >\n {loading ? (\n <>\n <Loader2 className=\"h-3.5 w-3.5 animate-spin\" />\n <span>İşleniyor...</span>\n </>\n ) : (\n <>\n <span>\n {mode === \"login\" && \"Giriş Yap\"}\n {mode === \"register\" && \"Hesap Oluştur\"}\n {mode === \"forgot-password\" && \"Sıfırlama Bağlantısı Gönder\"}\n </span>\n <ArrowRight className=\"h-3.5 w-3.5\" />\n </>\n )}\n </Button>\n </form>\n\n {/* Footer Navigation */}\n <div className=\"mt-6 pt-4 border-t border-border/60 text-center text-xs text-muted-foreground\">\n {mode === \"login\" && (\n <p>\n Hesabınız yok mu?{\" \"}\n <button\n type=\"button\"\n onClick={() => setMode(\"register\")}\n className=\"font-semibold text-foreground hover:underline\"\n >\n Hemen Kaydolun\n </button>\n </p>\n )}\n {mode === \"register\" && (\n <p>\n Zaten hesabınız var mı?{\" \"}\n <button\n type=\"button\"\n onClick={() => setMode(\"login\")}\n className=\"font-semibold text-foreground hover:underline\"\n >\n Giriş Yapın\n </button>\n </p>\n )}\n {mode === \"forgot-password\" && (\n <button\n type=\"button\"\n onClick={() => setMode(\"login\")}\n className=\"inline-flex items-center gap-1.5 font-medium text-foreground hover:underline\"\n >\n <ArrowLeft className=\"h-3 w-3\" />\n Giriş sayfasına dön\n </button>\n )}\n </div>\n </div>\n );\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkFPNCCKUP_js = require('./chunk-FPNCCKUP.js');
4
3
  var chunkU225QIWZ_js = require('./chunk-U225QIWZ.js');
4
+ var chunkFPNCCKUP_js = require('./chunk-FPNCCKUP.js');
5
5
  var chunkC3X2BPC5_js = require('./chunk-C3X2BPC5.js');
6
6
  var chunkAJKFRN2S_js = require('./chunk-AJKFRN2S.js');
7
7
  var chunkPYCBM7ZF_js = require('./chunk-PYCBM7ZF.js');
@@ -309,5 +309,5 @@ function AuthCard({
309
309
  }
310
310
 
311
311
  exports.AuthCard = AuthCard;
312
- //# sourceMappingURL=chunk-PVA5Z3FG.js.map
313
- //# sourceMappingURL=chunk-PVA5Z3FG.js.map
312
+ //# sourceMappingURL=chunk-RE54CQZM.js.map
313
+ //# sourceMappingURL=chunk-RE54CQZM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/blocks/auth-card/index.tsx"],"names":["React","jsxs","cn","jsx","Button","Separator","Label","Input","User","Mail","Lock","EyeOff","Eye","Checkbox","Fragment","Loader2","ArrowRight","ArrowLeft"],"mappings":"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","file":"chunk-PVA5Z3FG.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Mail, Lock, User, Eye, EyeOff, ArrowRight, Loader2, ArrowLeft } from \"lucide-react\";\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../../components/button\";\nimport { Input } from \"../../components/input\";\nimport { Label } from \"../../components/label\";\nimport { Checkbox } from \"../../components/checkbox\";\nimport { Separator } from \"../../components/separator\";\n\nexport interface AuthCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onError\"> {\n defaultMode?: \"login\" | \"register\" | \"forgot-password\";\n logo?: React.ReactNode;\n title?: string;\n showSocial?: boolean;\n onLogin?: (data: { email: string; password?: string; rememberMe?: boolean }) => Promise<void> | void;\n onRegister?: (data: { name?: string; email: string; password?: string }) => Promise<void> | void;\n onForgotPassword?: (email: string) => Promise<void> | void;\n onSocialLogin?: (provider: \"github\" | \"google\") => void;\n}\n\nexport function AuthCard({\n defaultMode = \"login\",\n logo,\n showSocial = true,\n onLogin,\n onRegister,\n onForgotPassword,\n onSocialLogin,\n className,\n ...props\n}: AuthCardProps) {\n const [mode, setMode] = React.useState<\"login\" | \"register\" | \"forgot-password\">(defaultMode);\n const [showPassword, setShowPassword] = React.useState(false);\n const [loading, setLoading] = React.useState(false);\n\n const [name, setName] = React.useState(\"\");\n const [email, setEmail] = React.useState(\"\");\n const [password, setPassword] = React.useState(\"\");\n const [rememberMe, setRememberMe] = React.useState(false);\n const [agreedTerms, setAgreedTerms] = React.useState(false);\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n setLoading(true);\n try {\n if (mode === \"login\") {\n await onLogin?.({ email, password, rememberMe });\n } else if (mode === \"register\") {\n await onRegister?.({ name, email, password });\n } else if (mode === \"forgot-password\") {\n await onForgotPassword?.(email);\n }\n } finally {\n setLoading(false);\n }\n };\n\n return (\n <div\n className={cn(\n \"w-full max-w-md mx-auto rounded-2xl border border-border/80 bg-card p-6 sm:p-8 shadow-card\",\n className\n )}\n {...props}\n >\n {/* Header */}\n <div className=\"flex flex-col items-center text-center space-y-2 mb-6\">\n {logo && <div className=\"mb-2\">{logo}</div>}\n <h2 className=\"text-xl font-bold tracking-tight text-foreground\">\n {mode === \"login\" && \"Hesabınıza Giriş Yapın\"}\n {mode === \"register\" && \"Yeni Hesap Oluşturun\"}\n {mode === \"forgot-password\" && \"Şifrenizi Sıfırlayın\"}\n </h2>\n <p className=\"text-xs text-muted-foreground max-w-xs\">\n {mode === \"login\" && \"Bilgilerinizi girerek yönetim paneline erişin.\"}\n {mode === \"register\" && \"Hızlıca kaydolun ve hemen kullanmaya başlayın.\"}\n {mode === \"forgot-password\" && \"E-posta adresinize sıfırlama bağlantısı göndereceğiz.\"}\n </p>\n </div>\n\n {/* Social Login Buttons */}\n {showSocial && mode !== \"forgot-password\" && (\n <div className=\"space-y-3 mb-6\">\n <div className=\"grid grid-cols-2 gap-2.5\">\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className=\"text-xs font-medium rounded-xl h-9 gap-2 border-border/80 hover:bg-muted/50\"\n onClick={() => onSocialLogin?.(\"github\")}\n >\n <svg className=\"h-4 w-4 fill-current\" viewBox=\"0 0 24 24\">\n <path d=\"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z\" />\n </svg>\n GitHub\n </Button>\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className=\"text-xs font-medium rounded-xl h-9 gap-2 border-border/80 hover:bg-muted/50\"\n onClick={() => onSocialLogin?.(\"google\")}\n >\n <svg className=\"h-4 w-4\" viewBox=\"0 0 24 24\">\n <path\n fill=\"#4285F4\"\n d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z\"\n />\n <path\n fill=\"#34A853\"\n d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\"\n />\n <path\n fill=\"#FBBC05\"\n d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.06H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.94l2.85-2.22.81-.63z\"\n />\n <path\n fill=\"#EA4335\"\n d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.06l3.66 2.84c.87-2.6 3.3-4.52 6.16-4.52z\"\n />\n </svg>\n Google\n </Button>\n </div>\n\n <div className=\"relative flex items-center justify-center my-4\">\n <Separator />\n <span className=\"absolute bg-card px-2 text-[11px] text-muted-foreground\">\n veya e-posta ile\n </span>\n </div>\n </div>\n )}\n\n {/* Main Form */}\n <form onSubmit={handleSubmit} className=\"space-y-4\">\n {/* Full Name Field (Register Mode) */}\n {mode === \"register\" && (\n <div className=\"space-y-1.5 animate-in fade-in-50 duration-200\">\n <Label htmlFor=\"auth-name\" className=\"text-xs\">\n Ad Soyad\n </Label>\n <Input\n id=\"auth-name\"\n placeholder=\"Alexourus\"\n leftIcon={<User className=\"h-4 w-4\" />}\n value={name}\n onChange={(e) => setName(e.target.value)}\n required\n className=\"h-9 text-xs rounded-xl\"\n />\n </div>\n )}\n\n {/* Email Field */}\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"auth-email\" className=\"text-xs\">\n E-posta Adresi\n </Label>\n <Input\n id=\"auth-email\"\n type=\"email\"\n placeholder=\"ornek@alanadi.com\"\n leftIcon={<Mail className=\"h-4 w-4\" />}\n value={email}\n onChange={(e) => setEmail(e.target.value)}\n required\n className=\"h-9 text-xs rounded-xl\"\n />\n </div>\n\n {/* Password Field (Login & Register Modes) */}\n {mode !== \"forgot-password\" && (\n <div className=\"space-y-1.5\">\n <div className=\"flex items-center justify-between\">\n <Label htmlFor=\"auth-pass\" className=\"text-xs\">\n Şifre\n </Label>\n {mode === \"login\" && (\n <button\n type=\"button\"\n onClick={() => setMode(\"forgot-password\")}\n className=\"text-[11px] text-primary hover:underline cursor-pointer\"\n >\n Şifremi unuttum\n </button>\n )}\n </div>\n <Input\n id=\"auth-pass\"\n type={showPassword ? \"text\" : \"password\"}\n placeholder=\"••••••••\"\n leftIcon={<Lock className=\"h-4 w-4\" />}\n rightIcon={\n <button\n type=\"button\"\n onClick={() => setShowPassword((p) => !p)}\n className=\"text-muted-foreground hover:text-foreground pointer-events-auto cursor-pointer p-0.5\"\n aria-label={showPassword ? \"Şifreyi gizle\" : \"Şifreyi göster\"}\n >\n {showPassword ? <EyeOff className=\"h-4 w-4\" /> : <Eye className=\"h-4 w-4\" />}\n </button>\n }\n value={password}\n onChange={(e) => setPassword(e.target.value)}\n required\n className=\"h-9 text-xs rounded-xl\"\n />\n </div>\n )}\n\n {/* Remember Me / Terms Checkboxes */}\n {mode === \"login\" && (\n <div className=\"flex items-center gap-2 pt-1\">\n <Checkbox\n id=\"remember-me\"\n checked={rememberMe}\n onCheckedChange={(checked) => setRememberMe(!!checked)}\n />\n <Label htmlFor=\"remember-me\" className=\"text-xs cursor-pointer text-muted-foreground\">\n Beni hatırla\n </Label>\n </div>\n )}\n\n {mode === \"register\" && (\n <div className=\"flex items-center gap-2 pt-1\">\n <Checkbox\n id=\"terms-agree\"\n checked={agreedTerms}\n onCheckedChange={(checked) => setAgreedTerms(!!checked)}\n required\n />\n <Label htmlFor=\"terms-agree\" className=\"text-xs cursor-pointer text-muted-foreground\">\n Kullanım şartlarını ve gizlilik politikasını onaylıyorum\n </Label>\n </div>\n )}\n\n {/* Submit Button */}\n <Button\n type=\"submit\"\n disabled={loading}\n className=\"w-full text-xs font-semibold rounded-xl h-9 gap-1.5 mt-2\"\n >\n {loading ? (\n <>\n <Loader2 className=\"h-3.5 w-3.5 animate-spin\" />\n <span>İşleniyor...</span>\n </>\n ) : (\n <>\n <span>\n {mode === \"login\" && \"Giriş Yap\"}\n {mode === \"register\" && \"Hesap Oluştur\"}\n {mode === \"forgot-password\" && \"Sıfırlama Bağlantısı Gönder\"}\n </span>\n <ArrowRight className=\"h-3.5 w-3.5\" />\n </>\n )}\n </Button>\n </form>\n\n {/* Footer Navigation */}\n <div className=\"mt-6 pt-4 border-t border-border/60 text-center text-xs text-muted-foreground\">\n {mode === \"login\" && (\n <p>\n Hesabınız yok mu?{\" \"}\n <button\n type=\"button\"\n onClick={() => setMode(\"register\")}\n className=\"font-semibold text-foreground hover:underline\"\n >\n Hemen Kaydolun\n </button>\n </p>\n )}\n {mode === \"register\" && (\n <p>\n Zaten hesabınız var mı?{\" \"}\n <button\n type=\"button\"\n onClick={() => setMode(\"login\")}\n className=\"font-semibold text-foreground hover:underline\"\n >\n Giriş Yapın\n </button>\n </p>\n )}\n {mode === \"forgot-password\" && (\n <button\n type=\"button\"\n onClick={() => setMode(\"login\")}\n className=\"inline-flex items-center gap-1.5 font-medium text-foreground hover:underline\"\n >\n <ArrowLeft className=\"h-3 w-3\" />\n Giriş sayfasına dön\n </button>\n )}\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/blocks/auth-card/index.tsx"],"names":["React","jsxs","cn","jsx","Button","Separator","Label","Input","User","Mail","Lock","EyeOff","Eye","Checkbox","Fragment","Loader2","ArrowRight","ArrowLeft"],"mappings":"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","file":"chunk-RE54CQZM.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Mail, Lock, User, Eye, EyeOff, ArrowRight, Loader2, ArrowLeft } from \"lucide-react\";\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../../components/button\";\nimport { Input } from \"../../components/input\";\nimport { Label } from \"../../components/label\";\nimport { Checkbox } from \"../../components/checkbox\";\nimport { Separator } from \"../../components/separator\";\n\nexport interface AuthCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onError\"> {\n defaultMode?: \"login\" | \"register\" | \"forgot-password\";\n logo?: React.ReactNode;\n title?: string;\n showSocial?: boolean;\n onLogin?: (data: { email: string; password?: string; rememberMe?: boolean }) => Promise<void> | void;\n onRegister?: (data: { name?: string; email: string; password?: string }) => Promise<void> | void;\n onForgotPassword?: (email: string) => Promise<void> | void;\n onSocialLogin?: (provider: \"github\" | \"google\") => void;\n}\n\nexport function AuthCard({\n defaultMode = \"login\",\n logo,\n showSocial = true,\n onLogin,\n onRegister,\n onForgotPassword,\n onSocialLogin,\n className,\n ...props\n}: AuthCardProps) {\n const [mode, setMode] = React.useState<\"login\" | \"register\" | \"forgot-password\">(defaultMode);\n const [showPassword, setShowPassword] = React.useState(false);\n const [loading, setLoading] = React.useState(false);\n\n const [name, setName] = React.useState(\"\");\n const [email, setEmail] = React.useState(\"\");\n const [password, setPassword] = React.useState(\"\");\n const [rememberMe, setRememberMe] = React.useState(false);\n const [agreedTerms, setAgreedTerms] = React.useState(false);\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n setLoading(true);\n try {\n if (mode === \"login\") {\n await onLogin?.({ email, password, rememberMe });\n } else if (mode === \"register\") {\n await onRegister?.({ name, email, password });\n } else if (mode === \"forgot-password\") {\n await onForgotPassword?.(email);\n }\n } finally {\n setLoading(false);\n }\n };\n\n return (\n <div\n className={cn(\n \"w-full max-w-md mx-auto rounded-2xl border border-border/80 bg-card p-6 sm:p-8 shadow-card\",\n className\n )}\n {...props}\n >\n {/* Header */}\n <div className=\"flex flex-col items-center text-center space-y-2 mb-6\">\n {logo && <div className=\"mb-2\">{logo}</div>}\n <h2 className=\"text-xl font-bold tracking-tight text-foreground\">\n {mode === \"login\" && \"Hesabınıza Giriş Yapın\"}\n {mode === \"register\" && \"Yeni Hesap Oluşturun\"}\n {mode === \"forgot-password\" && \"Şifrenizi Sıfırlayın\"}\n </h2>\n <p className=\"text-xs text-muted-foreground max-w-xs\">\n {mode === \"login\" && \"Bilgilerinizi girerek yönetim paneline erişin.\"}\n {mode === \"register\" && \"Hızlıca kaydolun ve hemen kullanmaya başlayın.\"}\n {mode === \"forgot-password\" && \"E-posta adresinize sıfırlama bağlantısı göndereceğiz.\"}\n </p>\n </div>\n\n {/* Social Login Buttons */}\n {showSocial && mode !== \"forgot-password\" && (\n <div className=\"space-y-3 mb-6\">\n <div className=\"grid grid-cols-2 gap-2.5\">\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className=\"text-xs font-medium rounded-xl h-9 gap-2 border-border/80 hover:bg-muted/50\"\n onClick={() => onSocialLogin?.(\"github\")}\n >\n <svg className=\"h-4 w-4 fill-current\" viewBox=\"0 0 24 24\">\n <path d=\"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z\" />\n </svg>\n GitHub\n </Button>\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className=\"text-xs font-medium rounded-xl h-9 gap-2 border-border/80 hover:bg-muted/50\"\n onClick={() => onSocialLogin?.(\"google\")}\n >\n <svg className=\"h-4 w-4\" viewBox=\"0 0 24 24\">\n <path\n fill=\"#4285F4\"\n d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z\"\n />\n <path\n fill=\"#34A853\"\n d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\"\n />\n <path\n fill=\"#FBBC05\"\n d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.06H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.94l2.85-2.22.81-.63z\"\n />\n <path\n fill=\"#EA4335\"\n d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.06l3.66 2.84c.87-2.6 3.3-4.52 6.16-4.52z\"\n />\n </svg>\n Google\n </Button>\n </div>\n\n <div className=\"relative flex items-center justify-center my-4\">\n <Separator />\n <span className=\"absolute bg-card px-2 text-[11px] text-muted-foreground\">\n veya e-posta ile\n </span>\n </div>\n </div>\n )}\n\n {/* Main Form */}\n <form onSubmit={handleSubmit} className=\"space-y-4\">\n {/* Full Name Field (Register Mode) */}\n {mode === \"register\" && (\n <div className=\"space-y-1.5 animate-in fade-in-50 duration-200\">\n <Label htmlFor=\"auth-name\" className=\"text-xs\">\n Ad Soyad\n </Label>\n <Input\n id=\"auth-name\"\n placeholder=\"Alexourus\"\n leftIcon={<User className=\"h-4 w-4\" />}\n value={name}\n onChange={(e) => setName(e.target.value)}\n required\n className=\"h-9 text-xs rounded-xl\"\n />\n </div>\n )}\n\n {/* Email Field */}\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"auth-email\" className=\"text-xs\">\n E-posta Adresi\n </Label>\n <Input\n id=\"auth-email\"\n type=\"email\"\n placeholder=\"ornek@alanadi.com\"\n leftIcon={<Mail className=\"h-4 w-4\" />}\n value={email}\n onChange={(e) => setEmail(e.target.value)}\n required\n className=\"h-9 text-xs rounded-xl\"\n />\n </div>\n\n {/* Password Field (Login & Register Modes) */}\n {mode !== \"forgot-password\" && (\n <div className=\"space-y-1.5\">\n <div className=\"flex items-center justify-between\">\n <Label htmlFor=\"auth-pass\" className=\"text-xs\">\n Şifre\n </Label>\n {mode === \"login\" && (\n <button\n type=\"button\"\n onClick={() => setMode(\"forgot-password\")}\n className=\"text-[11px] text-primary hover:underline cursor-pointer\"\n >\n Şifremi unuttum\n </button>\n )}\n </div>\n <Input\n id=\"auth-pass\"\n type={showPassword ? \"text\" : \"password\"}\n placeholder=\"••••••••\"\n leftIcon={<Lock className=\"h-4 w-4\" />}\n rightIcon={\n <button\n type=\"button\"\n onClick={() => setShowPassword((p) => !p)}\n className=\"text-muted-foreground hover:text-foreground pointer-events-auto cursor-pointer p-0.5\"\n aria-label={showPassword ? \"Şifreyi gizle\" : \"Şifreyi göster\"}\n >\n {showPassword ? <EyeOff className=\"h-4 w-4\" /> : <Eye className=\"h-4 w-4\" />}\n </button>\n }\n value={password}\n onChange={(e) => setPassword(e.target.value)}\n required\n className=\"h-9 text-xs rounded-xl\"\n />\n </div>\n )}\n\n {/* Remember Me / Terms Checkboxes */}\n {mode === \"login\" && (\n <div className=\"flex items-center gap-2 pt-1\">\n <Checkbox\n id=\"remember-me\"\n checked={rememberMe}\n onCheckedChange={(checked) => setRememberMe(!!checked)}\n />\n <Label htmlFor=\"remember-me\" className=\"text-xs cursor-pointer text-muted-foreground\">\n Beni hatırla\n </Label>\n </div>\n )}\n\n {mode === \"register\" && (\n <div className=\"flex items-center gap-2 pt-1\">\n <Checkbox\n id=\"terms-agree\"\n checked={agreedTerms}\n onCheckedChange={(checked) => setAgreedTerms(!!checked)}\n required\n />\n <Label htmlFor=\"terms-agree\" className=\"text-xs cursor-pointer text-muted-foreground\">\n Kullanım şartlarını ve gizlilik politikasını onaylıyorum\n </Label>\n </div>\n )}\n\n {/* Submit Button */}\n <Button\n type=\"submit\"\n disabled={loading}\n className=\"w-full text-xs font-semibold rounded-xl h-9 gap-1.5 mt-2\"\n >\n {loading ? (\n <>\n <Loader2 className=\"h-3.5 w-3.5 animate-spin\" />\n <span>İşleniyor...</span>\n </>\n ) : (\n <>\n <span>\n {mode === \"login\" && \"Giriş Yap\"}\n {mode === \"register\" && \"Hesap Oluştur\"}\n {mode === \"forgot-password\" && \"Sıfırlama Bağlantısı Gönder\"}\n </span>\n <ArrowRight className=\"h-3.5 w-3.5\" />\n </>\n )}\n </Button>\n </form>\n\n {/* Footer Navigation */}\n <div className=\"mt-6 pt-4 border-t border-border/60 text-center text-xs text-muted-foreground\">\n {mode === \"login\" && (\n <p>\n Hesabınız yok mu?{\" \"}\n <button\n type=\"button\"\n onClick={() => setMode(\"register\")}\n className=\"font-semibold text-foreground hover:underline\"\n >\n Hemen Kaydolun\n </button>\n </p>\n )}\n {mode === \"register\" && (\n <p>\n Zaten hesabınız var mı?{\" \"}\n <button\n type=\"button\"\n onClick={() => setMode(\"login\")}\n className=\"font-semibold text-foreground hover:underline\"\n >\n Giriş Yapın\n </button>\n </p>\n )}\n {mode === \"forgot-password\" && (\n <button\n type=\"button\"\n onClick={() => setMode(\"login\")}\n className=\"inline-flex items-center gap-1.5 font-medium text-foreground hover:underline\"\n >\n <ArrowLeft className=\"h-3 w-3\" />\n Giriş sayfasına dön\n </button>\n )}\n </div>\n </div>\n );\n}\n"]}