clefbase 1.3.8 → 1.3.9

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/cli.js CHANGED
@@ -34523,7 +34523,7 @@ async function runSitesList(cwd = process.cwd()) {
34523
34523
  }
34524
34524
 
34525
34525
  // package.json
34526
- var version = "1.3.8";
34526
+ var version = "1.3.9";
34527
34527
 
34528
34528
  // src/cli/index.ts
34529
34529
  var program2 = new Command();
package/dist/index.d.ts CHANGED
@@ -45,6 +45,7 @@ export type { GoogleButtonOptions } from "./auth";
45
45
  export { ClefbaseStorage, StorageReference, BucketReference } from "./storage";
46
46
  export type { StorageFile } from "./storage";
47
47
  export type { StorageImageStatus } from "./react/StorageImage";
48
+ export { EmailVerificationCard } from "./react/EmailVerificationCard";
48
49
  export { ClefbaseHosting, SiteReference } from "./hosting";
49
50
  export type { HostingSite, HostingDeploy, HostingFile, DeployResult, DeployOptions, HostingStatus, DeployStatus, } from "./hosting";
50
51
  export { FieldValue, FieldValueSentinel } from "./field_value";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAGH,OAAO,EACL,WAAW,EACX,YAAY,EACZ,MAAM,EACN,WAAW,EACX,OAAO,EACP,UAAU,EACV,UAAU,GACX,MAAM,OAAO,CAAC;AAGf,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,KAAK,EACL,UAAU,EACV,WAAW,EACX,cAAc,GACf,MAAM,MAAM,CAAC;AAGd,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAGlD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC/E,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAQ7C,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC3D,YAAY,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,UAAU,EACV,QAAQ,EACR,WAAW,EACX,UAAU,GACX,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAGH,OAAO,EACL,WAAW,EACX,YAAY,EACZ,MAAM,EACN,WAAW,EACX,OAAO,EACP,UAAU,EACV,UAAU,GACX,MAAM,OAAO,CAAC;AAGf,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,KAAK,EACL,UAAU,EACV,WAAW,EACX,cAAc,GACf,MAAM,MAAM,CAAC;AAGd,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAGlD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC/E,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAQ7C,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC3D,YAAY,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,UAAU,EACV,QAAQ,EACR,WAAW,EACX,UAAU,GACX,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -40,7 +40,7 @@
40
40
  * const allComments = await db.collectionGroup("comments").where({ approved: true }).getDocs();
41
41
  */
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.ClefbaseError = exports.FieldValueSentinel = exports.FieldValue = exports.SiteReference = exports.ClefbaseHosting = exports.BucketReference = exports.StorageReference = exports.ClefbaseStorage = exports.Auth = exports.runTransaction = exports.Transaction = exports.WriteBatch = exports.Query = exports.DocumentReference = exports.CollectionGroup = exports.CollectionReference = exports.Database = exports.getHosting = exports.getStorage = exports.getAuth = exports.getDatabase = exports.getApp = exports.initClefbase = exports.ClefbaseApp = void 0;
43
+ exports.ClefbaseError = exports.FieldValueSentinel = exports.FieldValue = exports.SiteReference = exports.ClefbaseHosting = exports.EmailVerificationCard = exports.BucketReference = exports.StorageReference = exports.ClefbaseStorage = exports.Auth = exports.runTransaction = exports.Transaction = exports.WriteBatch = exports.Query = exports.DocumentReference = exports.CollectionGroup = exports.CollectionReference = exports.Database = exports.getHosting = exports.getStorage = exports.getAuth = exports.getDatabase = exports.getApp = exports.initClefbase = exports.ClefbaseApp = void 0;
44
44
  // ─── App ──────────────────────────────────────────────────────────────────────
45
45
  var app_1 = require("./app");
46
46
  Object.defineProperty(exports, "ClefbaseApp", { enumerable: true, get: function () { return app_1.ClefbaseApp; } });
@@ -68,6 +68,9 @@ var storage_1 = require("./storage");
68
68
  Object.defineProperty(exports, "ClefbaseStorage", { enumerable: true, get: function () { return storage_1.ClefbaseStorage; } });
69
69
  Object.defineProperty(exports, "StorageReference", { enumerable: true, get: function () { return storage_1.StorageReference; } });
70
70
  Object.defineProperty(exports, "BucketReference", { enumerable: true, get: function () { return storage_1.BucketReference; } });
71
+ // ─── Auth UI components (React) ───────────────────────────────────────────────
72
+ var EmailVerificationCard_1 = require("./react/EmailVerificationCard");
73
+ Object.defineProperty(exports, "EmailVerificationCard", { enumerable: true, get: function () { return EmailVerificationCard_1.EmailVerificationCard; } });
71
74
  // ─── Hosting ──────────────────────────────────────────────────────────────────
72
75
  var hosting_1 = require("./hosting");
73
76
  Object.defineProperty(exports, "ClefbaseHosting", { enumerable: true, get: function () { return hosting_1.ClefbaseHosting; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;;;AAEH,iFAAiF;AACjF,6BAQe;AAPb,kGAAA,WAAW,OAAA;AACX,mGAAA,YAAY,OAAA;AACZ,6FAAA,MAAM,OAAA;AACN,kGAAA,WAAW,OAAA;AACX,8FAAA,OAAO,OAAA;AACP,iGAAA,UAAU,OAAA;AACV,iGAAA,UAAU,OAAA;AAGZ,iFAAiF;AACjF,2BASc;AARZ,8FAAA,QAAQ,OAAA;AACR,yGAAA,mBAAmB,OAAA;AACnB,qGAAA,eAAe,OAAA;AACf,uGAAA,iBAAiB,OAAA;AACjB,2FAAA,KAAK,OAAA;AACL,gGAAA,UAAU,OAAA;AACV,iGAAA,WAAW,OAAA;AACX,oGAAA,cAAc,OAAA;AAGhB,iFAAiF;AACjF,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAGb,iFAAiF;AACjF,qCAA+E;AAAtE,0GAAA,eAAe,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAAE,0GAAA,eAAe,OAAA;AAW3D,iFAAiF;AACjF,qCAA2D;AAAlD,0GAAA,eAAe,OAAA;AAAE,wGAAA,aAAa,OAAA;AAWvC,iFAAiF;AACjF,6CAA+D;AAAtD,yGAAA,UAAU,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAiBvC,iCAAwC;AAA/B,sGAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;;;AAEH,iFAAiF;AACjF,6BAQe;AAPb,kGAAA,WAAW,OAAA;AACX,mGAAA,YAAY,OAAA;AACZ,6FAAA,MAAM,OAAA;AACN,kGAAA,WAAW,OAAA;AACX,8FAAA,OAAO,OAAA;AACP,iGAAA,UAAU,OAAA;AACV,iGAAA,UAAU,OAAA;AAGZ,iFAAiF;AACjF,2BASc;AARZ,8FAAA,QAAQ,OAAA;AACR,yGAAA,mBAAmB,OAAA;AACnB,qGAAA,eAAe,OAAA;AACf,uGAAA,iBAAiB,OAAA;AACjB,2FAAA,KAAK,OAAA;AACL,gGAAA,UAAU,OAAA;AACV,iGAAA,WAAW,OAAA;AACX,oGAAA,cAAc,OAAA;AAGhB,iFAAiF;AACjF,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAGb,iFAAiF;AACjF,qCAA+E;AAAtE,0GAAA,eAAe,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAAE,0GAAA,eAAe,OAAA;AAU3D,iFAAiF;AACjF,uEAAsE;AAA7D,8HAAA,qBAAqB,OAAA;AAC9B,iFAAiF;AACjF,qCAA2D;AAAlD,0GAAA,eAAe,OAAA;AAAE,wGAAA,aAAa,OAAA;AAWvC,iFAAiF;AACjF,6CAA+D;AAAtD,yGAAA,UAAU,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAiBvC,iCAAwC;AAA/B,sGAAA,aAAa,OAAA"}
@@ -0,0 +1,18 @@
1
+ import type { Auth } from "../auth";
2
+ export interface EmailVerificationCardProps {
3
+ /** Instance of the Clefbase Auth service. */
4
+ auth: Auth;
5
+ /** Optional callback after a successful verification check. */
6
+ onVerified?: () => void;
7
+ /** Optional callback when the verification email is successfully sent. */
8
+ onSent?: () => void;
9
+ /** Optional callback when an error occurs. */
10
+ onError?: (err: Error) => void;
11
+ /** Allows customizing the wording shown on the card. */
12
+ title?: string;
13
+ description?: string;
14
+ buttonText?: string;
15
+ resendText?: string;
16
+ }
17
+ export declare function EmailVerificationCard({ auth, onVerified, onSent, onError, title, description, buttonText, resendText, }: EmailVerificationCardProps): import("react/jsx-runtime").JSX.Element | null;
18
+ //# sourceMappingURL=EmailVerificationCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailVerificationCard.d.ts","sourceRoot":"","sources":["../../src/react/EmailVerificationCard.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,WAAW,0BAA0B;IACzC,6CAA6C;IAC7C,IAAI,EAAE,IAAI,CAAC;IACX,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,UAAU,EACV,MAAM,EACN,OAAO,EACP,KAA2B,EAC3B,WAA2E,EAC3E,UAAwC,EACxC,UAAsF,GACvF,EAAE,0BAA0B,kDAwE5B"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmailVerificationCard = EmailVerificationCard;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ function EmailVerificationCard({ auth, onVerified, onSent, onError, title = "Verify your email", description = "Please verify your email address to continue using the app.", buttonText = "Resend verification email", resendText = "If you already verified, click the button again to refresh your status.", }) {
7
+ const [user, setUser] = (0, react_1.useState)(auth.currentUser);
8
+ const [status, setStatus] = (0, react_1.useState)("idle");
9
+ const [error, setError] = (0, react_1.useState)(null);
10
+ (0, react_1.useEffect)(() => {
11
+ const unsub = auth.onAuthStateChanged((u) => {
12
+ setUser(u);
13
+ if (u && u.emailVerified) {
14
+ onVerified?.();
15
+ }
16
+ });
17
+ return unsub;
18
+ }, [auth, onVerified]);
19
+ const disabled = (0, react_1.useMemo)(() => status === "sending" || !user, [status, user]);
20
+ if (!user || user.emailVerified)
21
+ return null;
22
+ const handleSend = async () => {
23
+ setStatus("sending");
24
+ setError(null);
25
+ try {
26
+ await auth.sendEmailVerification();
27
+ setStatus("sent");
28
+ onSent?.();
29
+ }
30
+ catch (err) {
31
+ const message = err?.message ?? "Failed to send verification email.";
32
+ setError(message);
33
+ setStatus("error");
34
+ onError?.(err);
35
+ }
36
+ };
37
+ return ((0, jsx_runtime_1.jsx)("div", { style: { border: "1px solid rgba(148, 163, 184, 0.4)", borderRadius: 12, padding: 18, background: "rgba(255, 255, 255, 0.9)", boxShadow: "0 12px 28px rgba(15, 23, 42, 0.08)" }, children: (0, jsx_runtime_1.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h3", { style: { margin: 0, fontSize: 18, fontWeight: 600, color: "#0f172a" }, children: title }), (0, jsx_runtime_1.jsx)("p", { style: { margin: "6px 0 0", fontSize: 13, color: "#334155" }, children: description })] }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: handleSend, disabled: disabled, style: {
38
+ appearance: "none",
39
+ border: "none",
40
+ borderRadius: 10,
41
+ padding: "10px 14px",
42
+ fontSize: 13,
43
+ fontWeight: 600,
44
+ color: "#fff",
45
+ background: "linear-gradient(90deg, #2563eb, #14b8a6)",
46
+ cursor: disabled ? "not-allowed" : "pointer",
47
+ opacity: disabled ? 0.6 : 1,
48
+ }, children: status === "sending" ? "Sending…" : buttonText }), status === "sent" && ((0, jsx_runtime_1.jsx)("p", { style: { margin: 0, fontSize: 12, color: "#16a34a" }, children: "Verification email sent. Please check your inbox." })), status === "error" && error && ((0, jsx_runtime_1.jsx)("p", { style: { margin: 0, fontSize: 12, color: "#b91c1c" }, children: error })), (0, jsx_runtime_1.jsx)("p", { style: { margin: 0, fontSize: 12, color: "#64748b" }, children: resendText })] }) }));
49
+ }
50
+ //# sourceMappingURL=EmailVerificationCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailVerificationCard.js","sourceRoot":"","sources":["../../src/react/EmailVerificationCard.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clefbase",
3
- "version": "1.3.8",
3
+ "version": "1.3.9",
4
4
  "description": "Firebase-style SDK and CLI for Clefbase — database, auth, storage, and hosting",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -17,6 +17,11 @@
17
17
  "require": "./dist/react/StorageImage.js",
18
18
  "import": "./dist/react/StorageImage.js",
19
19
  "types": "./dist/react/StorageImage.d.ts"
20
+ },
21
+ "./react/EmailVerificationCard": {
22
+ "require": "./dist/react/EmailVerificationCard.js",
23
+ "import": "./dist/react/EmailVerificationCard.js",
24
+ "types": "./dist/react/EmailVerificationCard.d.ts"
20
25
  }
21
26
  },
22
27
  "files": [