@firebase-oss/ui-shadcn 0.0.1 → 0.0.2-exp.134b1e2
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/bin/cli.js +51 -0
- package/dist/bin/cli.js.map +1 -0
- package/dist/registry/apple-sign-in-button.json +1 -1
- package/dist/registry/country-selector.json +2 -2
- package/dist/registry/email-link-auth-form.json +2 -2
- package/dist/registry/email-link-auth-screen.json +2 -2
- package/dist/registry/facebook-sign-in-button.json +2 -2
- package/dist/registry/forgot-password-auth-form.json +2 -2
- package/dist/registry/forgot-password-auth-screen.json +2 -2
- package/dist/registry/github-sign-in-button.json +2 -2
- package/dist/registry/google-sign-in-button.json +2 -2
- package/dist/registry/microsoft-sign-in-button.json +2 -2
- package/dist/registry/multi-factor-auth-assertion-form.json +2 -2
- package/dist/registry/multi-factor-auth-assertion-screen.json +2 -2
- package/dist/registry/multi-factor-auth-enrollment-form.json +2 -2
- package/dist/registry/multi-factor-auth-enrollment-screen.json +2 -2
- package/dist/registry/oauth-button.json +1 -1
- package/dist/registry/oauth-screen.json +2 -2
- package/dist/registry/phone-auth-form.json +2 -2
- package/dist/registry/phone-auth-screen.json +2 -2
- package/dist/registry/policies.json +2 -2
- package/dist/registry/redirect-error.json +2 -2
- package/dist/registry/sign-in-auth-form.json +2 -2
- package/dist/registry/sign-in-auth-screen.json +2 -2
- package/dist/registry/sign-up-auth-form.json +2 -2
- package/dist/registry/sign-up-auth-screen.json +2 -2
- package/dist/registry/sms-multi-factor-assertion-form.json +2 -2
- package/dist/registry/sms-multi-factor-enrollment-form.json +2 -2
- package/dist/registry/totp-multi-factor-assertion-form.json +2 -2
- package/dist/registry/totp-multi-factor-enrollment-form.json +2 -2
- package/dist/registry/twitter-sign-in-button.json +2 -2
- package/package.json +13 -11
- package/dist/bin/cli.mjs +0 -63
- package/dist/bin/cli.mjs.map +0 -1
package/dist/bin/cli.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { parseArgs } from 'util';
|
|
3
|
+
import fs from 'fs';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import { fileURLToPath } from 'url';
|
|
6
|
+
|
|
7
|
+
var __filename = fileURLToPath(import.meta.url);
|
|
8
|
+
var __dirname = path.dirname(__filename);
|
|
9
|
+
var { values, positionals } = parseArgs({
|
|
10
|
+
options: {
|
|
11
|
+
outDir: {
|
|
12
|
+
type: "string",
|
|
13
|
+
default: "./public-dev/r"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
allowPositionals: true
|
|
17
|
+
});
|
|
18
|
+
var command = positionals[0];
|
|
19
|
+
var outputPath = positionals[1] || values.outDir;
|
|
20
|
+
var sourceDir = "../registry";
|
|
21
|
+
if (command === "copy") {
|
|
22
|
+
const sourcePath = path.resolve(__dirname, sourceDir);
|
|
23
|
+
const destPath = path.resolve(process.cwd(), outputPath);
|
|
24
|
+
if (!fs.existsSync(sourcePath)) {
|
|
25
|
+
console.error(`Error: Source directory "${sourcePath}" does not exist`);
|
|
26
|
+
process.exit(1);
|
|
27
|
+
}
|
|
28
|
+
if (!fs.existsSync(destPath)) {
|
|
29
|
+
fs.mkdirSync(destPath, { recursive: true });
|
|
30
|
+
}
|
|
31
|
+
const files = fs.readdirSync(sourcePath);
|
|
32
|
+
let copiedCount = 0;
|
|
33
|
+
for (const file of files) {
|
|
34
|
+
const sourceFile = path.join(sourcePath, file);
|
|
35
|
+
const destFile = path.join(destPath, file);
|
|
36
|
+
const stat = fs.statSync(sourceFile);
|
|
37
|
+
if (stat.isFile()) {
|
|
38
|
+
fs.copyFileSync(sourceFile, destFile);
|
|
39
|
+
copiedCount++;
|
|
40
|
+
console.log(`Copied: ${file}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
console.log(`
|
|
44
|
+
Successfully copied ${copiedCount} item(s) from "${sourcePath}" to "${destPath}"`);
|
|
45
|
+
} else {
|
|
46
|
+
console.error(`Unknown command: ${command || "none"}`);
|
|
47
|
+
console.error("Usage: copy <output-path>");
|
|
48
|
+
process.exit(1);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=cli.js.map
|
|
51
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../cli.ts"],"names":[],"mappings":";;;;;;AAqBA,IAAM,UAAA,GAAa,aAAA,CAAc,MAAA,CAAA,IAAA,CAAY,GAAG,CAAA;AAChD,IAAM,SAAA,GAAY,IAAA,CAAK,OAAA,CAAQ,UAAU,CAAA;AAEzC,IAAM,EAAE,MAAA,EAAQ,WAAA,EAAY,GAAI,SAAA,CAAU;AAAA,EACxC,OAAA,EAAS;AAAA,IACP,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,QAAA;AAAA,MACN,OAAA,EAAS;AAAA;AACX,GACF;AAAA,EACA,gBAAA,EAAkB;AACpB,CAAC,CAAA;AAED,IAAM,OAAA,GAAU,YAAY,CAAC,CAAA;AAC7B,IAAM,UAAA,GAAa,WAAA,CAAY,CAAC,CAAA,IAAK,MAAA,CAAO,MAAA;AAG5C,IAAM,SAAA,GAAY,aAAA;AAElB,IAAI,YAAY,MAAA,EAAQ;AACtB,EAAA,MAAM,UAAA,GAAa,IAAA,CAAK,OAAA,CAAQ,SAAA,EAAW,SAAS,CAAA;AAGpD,EAAA,MAAM,WAAW,IAAA,CAAK,OAAA,CAAQ,OAAA,CAAQ,GAAA,IAAO,UAAU,CAAA;AAGvD,EAAA,IAAI,CAAC,EAAA,CAAG,UAAA,CAAW,UAAU,CAAA,EAAG;AAC9B,IAAA,OAAA,CAAQ,KAAA,CAAM,CAAA,yBAAA,EAA4B,UAAU,CAAA,gBAAA,CAAkB,CAAA;AACtE,IAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,EAChB;AAGA,EAAA,IAAI,CAAC,EAAA,CAAG,UAAA,CAAW,QAAQ,CAAA,EAAG;AAC5B,IAAA,EAAA,CAAG,SAAA,CAAU,QAAA,EAAU,EAAE,SAAA,EAAW,MAAM,CAAA;AAAA,EAC5C;AAGA,EAAA,MAAM,KAAA,GAAQ,EAAA,CAAG,WAAA,CAAY,UAAU,CAAA;AACvC,EAAA,IAAI,WAAA,GAAc,CAAA;AAElB,EAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AACxB,IAAA,MAAM,UAAA,GAAa,IAAA,CAAK,IAAA,CAAK,UAAA,EAAY,IAAI,CAAA;AAC7C,IAAA,MAAM,QAAA,GAAW,IAAA,CAAK,IAAA,CAAK,QAAA,EAAU,IAAI,CAAA;AAEzC,IAAA,MAAM,IAAA,GAAO,EAAA,CAAG,QAAA,CAAS,UAAU,CAAA;AACnC,IAAA,IAAI,IAAA,CAAK,QAAO,EAAG;AACjB,MAAA,EAAA,CAAG,YAAA,CAAa,YAAY,QAAQ,CAAA;AACpC,MAAA,WAAA,EAAA;AACA,MAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,QAAA,EAAW,IAAI,CAAA,CAAE,CAAA;AAAA,IAC/B;AAAA,EACF;AAEA,EAAA,OAAA,CAAQ,GAAA,CAAI;AAAA,oBAAA,EAAyB,WAAW,CAAA,eAAA,EAAkB,UAAU,CAAA,MAAA,EAAS,QAAQ,CAAA,CAAA,CAAG,CAAA;AAClG,CAAA,MAAO;AACL,EAAA,OAAA,CAAQ,KAAA,CAAM,CAAA,iBAAA,EAAoB,OAAA,IAAW,MAAM,CAAA,CAAE,CAAA;AACrD,EAAA,OAAA,CAAQ,MAAM,2BAA2B,CAAA;AACzC,EAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAChB","file":"cli.js","sourcesContent":["/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { parseArgs } from \"node:util\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nconst { values, positionals } = parseArgs({\n options: {\n outDir: {\n type: \"string\",\n default: \"./public-dev/r\",\n },\n },\n allowPositionals: true,\n});\n\nconst command = positionals[0];\nconst outputPath = positionals[1] || values.outDir;\n\n// Registry is at dist/registry, CLI is at dist/bin, so go up one level\nconst sourceDir = \"../registry\";\n\nif (command === \"copy\") {\n const sourcePath = path.resolve(__dirname, sourceDir);\n\n // Output path should be relative to where the user runs the command from\n const destPath = path.resolve(process.cwd(), outputPath);\n\n // Check if source directory exists\n if (!fs.existsSync(sourcePath)) {\n console.error(`Error: Source directory \"${sourcePath}\" does not exist`);\n process.exit(1);\n }\n\n // Create destination directory if it doesn't exist\n if (!fs.existsSync(destPath)) {\n fs.mkdirSync(destPath, { recursive: true });\n }\n\n // Copy files from source to destination\n const files = fs.readdirSync(sourcePath);\n let copiedCount = 0;\n\n for (const file of files) {\n const sourceFile = path.join(sourcePath, file);\n const destFile = path.join(destPath, file);\n\n const stat = fs.statSync(sourceFile);\n if (stat.isFile()) {\n fs.copyFileSync(sourceFile, destFile);\n copiedCount++;\n console.log(`Copied: ${file}`);\n }\n }\n\n console.log(`\\nSuccessfully copied ${copiedCount} item(s) from \"${sourcePath}\" to \"${destPath}\"`);\n} else {\n console.error(`Unknown command: ${command || \"none\"}`);\n console.error(\"Usage: copy <output-path>\");\n process.exit(1);\n}\n"]}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Country Selector",
|
|
6
6
|
"description": "A country selector component for phone number input with country codes and flags.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"select"
|
|
@@ -18,6 +18,6 @@
|
|
|
18
18
|
}
|
|
19
19
|
],
|
|
20
20
|
"meta": {
|
|
21
|
-
"version": "0.0.
|
|
21
|
+
"version": "0.0.2-exp.134b1e2"
|
|
22
22
|
}
|
|
23
23
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Email Link Auth Form",
|
|
6
6
|
"description": "A form allowing users to sign in via email link.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"input",
|
|
@@ -22,6 +22,6 @@
|
|
|
22
22
|
}
|
|
23
23
|
],
|
|
24
24
|
"meta": {
|
|
25
|
-
"version": "0.0.
|
|
25
|
+
"version": "0.0.2-exp.134b1e2"
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Email Link Auth Screen",
|
|
6
6
|
"description": "A screen allowing users to sign in via email link.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"separator",
|
|
@@ -21,6 +21,6 @@
|
|
|
21
21
|
}
|
|
22
22
|
],
|
|
23
23
|
"meta": {
|
|
24
|
-
"version": "0.0.
|
|
24
|
+
"version": "0.0.2-exp.134b1e2"
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Facebook Sign In Button",
|
|
6
6
|
"description": "A button component for Facebook OAuth authentication.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"https://firebaseopensource.com/r/oauth-button.json"
|
|
@@ -27,6 +27,6 @@
|
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"meta": {
|
|
30
|
-
"version": "0.0.
|
|
30
|
+
"version": "0.0.2-exp.134b1e2"
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Forgot Password Auth Form",
|
|
6
6
|
"description": "A form allowing users to reset their password via email.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"input",
|
|
@@ -21,6 +21,6 @@
|
|
|
21
21
|
}
|
|
22
22
|
],
|
|
23
23
|
"meta": {
|
|
24
|
-
"version": "0.0.
|
|
24
|
+
"version": "0.0.2-exp.134b1e2"
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Forgot Password Auth Screen",
|
|
6
6
|
"description": "A screen allowing users to reset their password via email.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"card",
|
|
@@ -19,6 +19,6 @@
|
|
|
19
19
|
}
|
|
20
20
|
],
|
|
21
21
|
"meta": {
|
|
22
|
-
"version": "0.0.
|
|
22
|
+
"version": "0.0.2-exp.134b1e2"
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "GitHub Sign In Button",
|
|
6
6
|
"description": "A button component for GitHub OAuth authentication.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"https://firebaseopensource.com/r/oauth-button.json"
|
|
@@ -34,6 +34,6 @@
|
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
36
|
"meta": {
|
|
37
|
-
"version": "0.0.
|
|
37
|
+
"version": "0.0.2-exp.134b1e2"
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Google Sign In Button",
|
|
6
6
|
"description": "A button component for Google OAuth authentication.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"https://firebaseopensource.com/r/oauth-button.json"
|
|
@@ -39,6 +39,6 @@
|
|
|
39
39
|
}
|
|
40
40
|
},
|
|
41
41
|
"meta": {
|
|
42
|
-
"version": "0.0.
|
|
42
|
+
"version": "0.0.2-exp.134b1e2"
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Microsoft Sign In Button",
|
|
6
6
|
"description": "A button component for Microsoft OAuth authentication.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"https://firebaseopensource.com/r/oauth-button.json"
|
|
@@ -34,6 +34,6 @@
|
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
36
|
"meta": {
|
|
37
|
-
"version": "0.0.
|
|
37
|
+
"version": "0.0.2-exp.134b1e2"
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Multi-Factor Auth Assertion Form",
|
|
6
6
|
"description": "A form allowing users to complete multi-factor authentication during sign-in with TOTP or SMS options.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"button",
|
|
@@ -20,6 +20,6 @@
|
|
|
20
20
|
}
|
|
21
21
|
],
|
|
22
22
|
"meta": {
|
|
23
|
-
"version": "0.0.
|
|
23
|
+
"version": "0.0.2-exp.134b1e2"
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Multi-Factor Auth Assertion Screen",
|
|
6
6
|
"description": "A screen allowing users to complete multi-factor authentication during sign-in with TOTP or SMS options.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"card",
|
|
@@ -19,6 +19,6 @@
|
|
|
19
19
|
}
|
|
20
20
|
],
|
|
21
21
|
"meta": {
|
|
22
|
-
"version": "0.0.
|
|
22
|
+
"version": "0.0.2-exp.134b1e2"
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Multi-Factor Auth Enrollment Form",
|
|
6
6
|
"description": "A form allowing users to select and configure multi-factor authentication methods.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"button",
|
|
@@ -20,6 +20,6 @@
|
|
|
20
20
|
}
|
|
21
21
|
],
|
|
22
22
|
"meta": {
|
|
23
|
-
"version": "0.0.
|
|
23
|
+
"version": "0.0.2-exp.134b1e2"
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Multi-Factor Auth Enrollment Screen",
|
|
6
6
|
"description": "A screen allowing users to set up multi-factor authentication with TOTP or SMS options.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"card",
|
|
@@ -19,6 +19,6 @@
|
|
|
19
19
|
}
|
|
20
20
|
],
|
|
21
21
|
"meta": {
|
|
22
|
-
"version": "0.0.
|
|
22
|
+
"version": "0.0.2-exp.134b1e2"
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "OAuth Screen",
|
|
6
6
|
"description": "A screen allowing users to sign in with OAuth providers.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"card",
|
|
@@ -21,6 +21,6 @@
|
|
|
21
21
|
}
|
|
22
22
|
],
|
|
23
23
|
"meta": {
|
|
24
|
-
"version": "0.0.
|
|
24
|
+
"version": "0.0.2-exp.134b1e2"
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Phone Auth Form",
|
|
6
6
|
"description": "A form allowing users to authenticate using their phone number with SMS verification.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"form",
|
|
@@ -22,6 +22,6 @@
|
|
|
22
22
|
}
|
|
23
23
|
],
|
|
24
24
|
"meta": {
|
|
25
|
-
"version": "0.0.
|
|
25
|
+
"version": "0.0.2-exp.134b1e2"
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Phone Auth Screen",
|
|
6
6
|
"description": "A screen allowing users to authenticate using their phone number with SMS verification.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"card",
|
|
@@ -22,6 +22,6 @@
|
|
|
22
22
|
}
|
|
23
23
|
],
|
|
24
24
|
"meta": {
|
|
25
|
-
"version": "0.0.
|
|
25
|
+
"version": "0.0.2-exp.134b1e2"
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Policies",
|
|
6
6
|
"description": "A component allowing users to navigate to the terms of service and privacy policy.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"files": [
|
|
11
11
|
{
|
|
@@ -15,6 +15,6 @@
|
|
|
15
15
|
}
|
|
16
16
|
],
|
|
17
17
|
"meta": {
|
|
18
|
-
"version": "0.0.
|
|
18
|
+
"version": "0.0.2-exp.134b1e2"
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Redirect Error",
|
|
6
6
|
"description": "A component that displays redirect errors from Firebase UI authentication flow.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"files": [
|
|
11
11
|
{
|
|
@@ -15,6 +15,6 @@
|
|
|
15
15
|
}
|
|
16
16
|
],
|
|
17
17
|
"meta": {
|
|
18
|
-
"version": "0.0.
|
|
18
|
+
"version": "0.0.2-exp.134b1e2"
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Sign In Auth Form",
|
|
6
6
|
"description": "A form allowing users to sign in with email and password.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"input",
|
|
@@ -21,6 +21,6 @@
|
|
|
21
21
|
}
|
|
22
22
|
],
|
|
23
23
|
"meta": {
|
|
24
|
-
"version": "0.0.
|
|
24
|
+
"version": "0.0.2-exp.134b1e2"
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Sign In Auth Screen",
|
|
6
6
|
"description": "A screen allowing users to sign in with email and password.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"separator",
|
|
@@ -21,6 +21,6 @@
|
|
|
21
21
|
}
|
|
22
22
|
],
|
|
23
23
|
"meta": {
|
|
24
|
-
"version": "0.0.
|
|
24
|
+
"version": "0.0.2-exp.134b1e2"
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Sign Up Auth Form",
|
|
6
6
|
"description": "A form allowing users to sign up with email and password.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"input",
|
|
@@ -21,6 +21,6 @@
|
|
|
21
21
|
}
|
|
22
22
|
],
|
|
23
23
|
"meta": {
|
|
24
|
-
"version": "0.0.
|
|
24
|
+
"version": "0.0.2-exp.134b1e2"
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Sign Up Auth Screen",
|
|
6
6
|
"description": "A screen allowing users to sign up with email and password.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"separator",
|
|
@@ -21,6 +21,6 @@
|
|
|
21
21
|
}
|
|
22
22
|
],
|
|
23
23
|
"meta": {
|
|
24
|
-
"version": "0.0.
|
|
24
|
+
"version": "0.0.2-exp.134b1e2"
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "SMS Multi-Factor Assertion Form",
|
|
6
6
|
"description": "A form allowing users to complete SMS-based multi-factor authentication during sign-in.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"form",
|
|
@@ -21,6 +21,6 @@
|
|
|
21
21
|
}
|
|
22
22
|
],
|
|
23
23
|
"meta": {
|
|
24
|
-
"version": "0.0.
|
|
24
|
+
"version": "0.0.2-exp.134b1e2"
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "SMS Multi-Factor Enrollment Form",
|
|
6
6
|
"description": "A form allowing users to enroll SMS-based multi-factor authentication.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"form",
|
|
@@ -22,6 +22,6 @@
|
|
|
22
22
|
}
|
|
23
23
|
],
|
|
24
24
|
"meta": {
|
|
25
|
-
"version": "0.0.
|
|
25
|
+
"version": "0.0.2-exp.134b1e2"
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "TOTP Multi-Factor Assertion Form",
|
|
6
6
|
"description": "A form allowing users to complete TOTP-based multi-factor authentication during sign-in.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"form",
|
|
@@ -20,6 +20,6 @@
|
|
|
20
20
|
}
|
|
21
21
|
],
|
|
22
22
|
"meta": {
|
|
23
|
-
"version": "0.0.
|
|
23
|
+
"version": "0.0.2-exp.134b1e2"
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "TOTP Multi-Factor Enrollment Form",
|
|
6
6
|
"description": "A form allowing users to enroll TOTP-based multi-factor authentication with QR code generation.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"form",
|
|
@@ -21,6 +21,6 @@
|
|
|
21
21
|
}
|
|
22
22
|
],
|
|
23
23
|
"meta": {
|
|
24
|
-
"version": "0.0.
|
|
24
|
+
"version": "0.0.2-exp.134b1e2"
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "Twitter Sign In Button",
|
|
6
6
|
"description": "A button component for Twitter OAuth authentication.",
|
|
7
7
|
"dependencies": [
|
|
8
|
-
"@firebase-oss/ui-react"
|
|
8
|
+
"@firebase-oss/ui-react@beta"
|
|
9
9
|
],
|
|
10
10
|
"registryDependencies": [
|
|
11
11
|
"https://firebaseopensource.com/r/oauth-button.json"
|
|
@@ -27,6 +27,6 @@
|
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"meta": {
|
|
30
|
-
"version": "0.0.
|
|
30
|
+
"version": "0.0.2-exp.134b1e2"
|
|
31
31
|
}
|
|
32
32
|
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@firebase-oss/ui-shadcn",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2-exp.134b1e2",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"bin":
|
|
5
|
+
"bin": {
|
|
6
|
+
"ui-shadcn": "dist/bin/cli.js"
|
|
7
|
+
},
|
|
6
8
|
"files": [
|
|
7
9
|
"dist"
|
|
8
10
|
],
|
|
@@ -11,16 +13,16 @@
|
|
|
11
13
|
"@testing-library/jest-dom": "^6.8.0",
|
|
12
14
|
"@testing-library/react": "^16.3.0",
|
|
13
15
|
"@types/node": "^24.3.1",
|
|
14
|
-
"@types/react": "19.
|
|
15
|
-
"@types/react-dom": "19.
|
|
16
|
+
"@types/react": "19.2.7",
|
|
17
|
+
"@types/react-dom": "19.2.3",
|
|
16
18
|
"@types/yargs-parser": "^21.0.3",
|
|
17
19
|
"@vitejs/plugin-react": "^5.0.2",
|
|
18
20
|
"firebase": "^11.10.0",
|
|
19
|
-
"react": "19.
|
|
20
|
-
"react-dom": "19.
|
|
21
|
+
"react": "19.2.1",
|
|
22
|
+
"react-dom": "19.2.1",
|
|
21
23
|
"shadcn": "2.9.3-canary.0",
|
|
22
24
|
"tailwindcss": "^4.1.13",
|
|
23
|
-
"
|
|
25
|
+
"tsup": "8.5.0",
|
|
24
26
|
"tsx": "^4.20.6",
|
|
25
27
|
"tw-animate-css": "^1.4.0",
|
|
26
28
|
"typescript": "^5.9.2",
|
|
@@ -28,7 +30,7 @@
|
|
|
28
30
|
"vite-plugin-run": "^0.6.1",
|
|
29
31
|
"vitest": "^3.2.4",
|
|
30
32
|
"yargs-parser": "^22.0.0",
|
|
31
|
-
"@firebase-oss/ui-translations": "0.0.2"
|
|
33
|
+
"@firebase-oss/ui-translations": "0.0.2-exp.134b1e2"
|
|
32
34
|
},
|
|
33
35
|
"dependencies": {
|
|
34
36
|
"@hookform/resolvers": "^5.2.2",
|
|
@@ -43,12 +45,12 @@
|
|
|
43
45
|
"react-hook-form": "^7.64.0",
|
|
44
46
|
"tailwind-merge": "^3.3.1",
|
|
45
47
|
"zod": "4.1.12",
|
|
46
|
-
"@firebase-oss/ui-core": "0.0.2",
|
|
47
|
-
"@firebase-oss/ui-react": "0.0.2"
|
|
48
|
+
"@firebase-oss/ui-core": "0.0.2-exp.134b1e2",
|
|
49
|
+
"@firebase-oss/ui-react": "0.0.2-exp.134b1e2"
|
|
48
50
|
},
|
|
49
51
|
"scripts": {
|
|
50
52
|
"dev": "vite",
|
|
51
|
-
"build": "
|
|
53
|
+
"build": "tsup && tsx build.ts --domain https://firebaseopensource.com",
|
|
52
54
|
"preview": "vite preview",
|
|
53
55
|
"test": "vitest run",
|
|
54
56
|
"publish:npm": "../../publish.sh"
|
package/dist/bin/cli.mjs
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { parseArgs } from "node:util";
|
|
3
|
-
import fs from "node:fs";
|
|
4
|
-
import path from "node:path";
|
|
5
|
-
import { fileURLToPath } from "node:url";
|
|
6
|
-
|
|
7
|
-
//#region cli.ts
|
|
8
|
-
/**
|
|
9
|
-
* Copyright 2025 Google LLC
|
|
10
|
-
*
|
|
11
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
-
* you may not use this file except in compliance with the License.
|
|
13
|
-
* You may obtain a copy of the License at
|
|
14
|
-
*
|
|
15
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
-
*
|
|
17
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
18
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
-
* See the License for the specific language governing permissions and
|
|
21
|
-
* limitations under the License.
|
|
22
|
-
*/
|
|
23
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
24
|
-
const __dirname = path.dirname(__filename);
|
|
25
|
-
const { values, positionals } = parseArgs({
|
|
26
|
-
options: { outDir: {
|
|
27
|
-
type: "string",
|
|
28
|
-
default: "./public-dev/r"
|
|
29
|
-
} },
|
|
30
|
-
allowPositionals: true
|
|
31
|
-
});
|
|
32
|
-
const command = positionals[0];
|
|
33
|
-
const outputPath = positionals[1] || values.outDir;
|
|
34
|
-
const sourceDir = "../registry";
|
|
35
|
-
if (command === "copy") {
|
|
36
|
-
const sourcePath = path.resolve(__dirname, sourceDir);
|
|
37
|
-
const destPath = path.resolve(process.cwd(), outputPath);
|
|
38
|
-
if (!fs.existsSync(sourcePath)) {
|
|
39
|
-
console.error(`Error: Source directory "${sourcePath}" does not exist`);
|
|
40
|
-
process.exit(1);
|
|
41
|
-
}
|
|
42
|
-
if (!fs.existsSync(destPath)) fs.mkdirSync(destPath, { recursive: true });
|
|
43
|
-
const files = fs.readdirSync(sourcePath);
|
|
44
|
-
let copiedCount = 0;
|
|
45
|
-
for (const file of files) {
|
|
46
|
-
const sourceFile = path.join(sourcePath, file);
|
|
47
|
-
const destFile = path.join(destPath, file);
|
|
48
|
-
if (fs.statSync(sourceFile).isFile()) {
|
|
49
|
-
fs.copyFileSync(sourceFile, destFile);
|
|
50
|
-
copiedCount++;
|
|
51
|
-
console.log(`Copied: ${file}`);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
console.log(`\nSuccessfully copied ${copiedCount} item(s) from "${sourcePath}" to "${destPath}"`);
|
|
55
|
-
} else {
|
|
56
|
-
console.error(`Unknown command: ${command || "none"}`);
|
|
57
|
-
console.error("Usage: copy <output-path>");
|
|
58
|
-
process.exit(1);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
//#endregion
|
|
62
|
-
export { };
|
|
63
|
-
//# sourceMappingURL=cli.mjs.map
|
package/dist/bin/cli.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.mjs","names":[],"sources":["../../cli.ts"],"sourcesContent":["/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { parseArgs } from \"node:util\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nconst { values, positionals } = parseArgs({\n options: {\n outDir: {\n type: \"string\",\n default: \"./public-dev/r\",\n },\n },\n allowPositionals: true,\n});\n\nconst command = positionals[0];\nconst outputPath = positionals[1] || values.outDir;\n\n// Registry is at dist/registry, CLI is at dist/bin, so go up one level\nconst sourceDir = \"../registry\";\n\nif (command === \"copy\") {\n const sourcePath = path.resolve(__dirname, sourceDir);\n\n // Output path should be relative to where the user runs the command from\n const destPath = path.resolve(process.cwd(), outputPath);\n\n // Check if source directory exists\n if (!fs.existsSync(sourcePath)) {\n console.error(`Error: Source directory \"${sourcePath}\" does not exist`);\n process.exit(1);\n }\n\n // Create destination directory if it doesn't exist\n if (!fs.existsSync(destPath)) {\n fs.mkdirSync(destPath, { recursive: true });\n }\n\n // Copy files from source to destination\n const files = fs.readdirSync(sourcePath);\n let copiedCount = 0;\n\n for (const file of files) {\n const sourceFile = path.join(sourcePath, file);\n const destFile = path.join(destPath, file);\n\n const stat = fs.statSync(sourceFile);\n if (stat.isFile()) {\n fs.copyFileSync(sourceFile, destFile);\n copiedCount++;\n console.log(`Copied: ${file}`);\n }\n }\n\n console.log(`\\nSuccessfully copied ${copiedCount} item(s) from \"${sourcePath}\" to \"${destPath}\"`);\n} else {\n console.error(`Unknown command: ${command || \"none\"}`);\n console.error(\"Usage: copy <output-path>\");\n process.exit(1);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAM,aAAa,cAAc,OAAO,KAAK,IAAI;AACjD,MAAM,YAAY,KAAK,QAAQ,WAAW;AAE1C,MAAM,EAAE,QAAQ,gBAAgB,UAAU;CACxC,SAAS,EACP,QAAQ;EACN,MAAM;EACN,SAAS;EACV,EACF;CACD,kBAAkB;CACnB,CAAC;AAEF,MAAM,UAAU,YAAY;AAC5B,MAAM,aAAa,YAAY,MAAM,OAAO;AAG5C,MAAM,YAAY;AAElB,IAAI,YAAY,QAAQ;CACtB,MAAM,aAAa,KAAK,QAAQ,WAAW,UAAU;CAGrD,MAAM,WAAW,KAAK,QAAQ,QAAQ,KAAK,EAAE,WAAW;AAGxD,KAAI,CAAC,GAAG,WAAW,WAAW,EAAE;AAC9B,UAAQ,MAAM,4BAA4B,WAAW,kBAAkB;AACvE,UAAQ,KAAK,EAAE;;AAIjB,KAAI,CAAC,GAAG,WAAW,SAAS,CAC1B,IAAG,UAAU,UAAU,EAAE,WAAW,MAAM,CAAC;CAI7C,MAAM,QAAQ,GAAG,YAAY,WAAW;CACxC,IAAI,cAAc;AAElB,MAAK,MAAM,QAAQ,OAAO;EACxB,MAAM,aAAa,KAAK,KAAK,YAAY,KAAK;EAC9C,MAAM,WAAW,KAAK,KAAK,UAAU,KAAK;AAG1C,MADa,GAAG,SAAS,WAAW,CAC3B,QAAQ,EAAE;AACjB,MAAG,aAAa,YAAY,SAAS;AACrC;AACA,WAAQ,IAAI,WAAW,OAAO;;;AAIlC,SAAQ,IAAI,yBAAyB,YAAY,iBAAiB,WAAW,QAAQ,SAAS,GAAG;OAC5F;AACL,SAAQ,MAAM,oBAAoB,WAAW,SAAS;AACtD,SAAQ,MAAM,4BAA4B;AAC1C,SAAQ,KAAK,EAAE"}
|