diff --git a/index.html b/index.html
index 1c7c338..cebe9d6 100644
--- a/index.html
+++ b/index.html
@@ -8,7 +8,8 @@
-
+
+
diff --git a/package.json b/package.json
index 498bc32..c0aa737 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "@zerologin/elements",
- "description": "Zerologin auth web component",
- "version": "0.0.9-beta",
+ "description": "Zerologin auth web components",
+ "version": "0.0.10-beta",
"private": false,
"files": [
"dist/"
@@ -33,10 +33,13 @@
"dependencies": {
"awesome-qr": "^2.1.5-rc.0",
"ky": "^0.31.3",
+ "peerjs": "^1.4.7",
+ "simple-peer": "^9.11.1",
"vue": "^3.2.37"
},
"devDependencies": {
"@dolu/vite-plugin-fonts": "^0.6.0",
+ "@types/simple-peer": "^9.11.5",
"@vitejs/plugin-vue": "^3.1.0",
"sass": "^1.55.0",
"typescript": "^4.6.4",
diff --git a/src/components/zerologin-sigauth.ce.vue b/src/components/zerologin-sigauth.ce.vue
new file mode 100644
index 0000000..232fabb
--- /dev/null
+++ b/src/components/zerologin-sigauth.ce.vue
@@ -0,0 +1,382 @@
+
+
+
Login with Sigauth
+
+
+
+
+
+
+ Scan, click or copy this code to login using a compatible app.
+
+
+
+
+
+ Powered by
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main.ts b/src/main.ts
index 9e7a688..6486530 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,7 +1,13 @@
import { defineCustomElement } from 'vue';
import zerologinCE from './components/zerologin.ce.vue';
+import zerologinSigauthCE from './components/zerologin-sigauth.ce.vue';
+// LNURL Auth
const zerologinAuth = defineCustomElement(zerologinCE);
customElements.define('zerologin-auth', zerologinAuth);
-export { zerologinAuth };
\ No newline at end of file
+// Sigauth
+const zerologinSigauth = defineCustomElement(zerologinSigauthCE);
+customElements.define('zerologin-sigauth', zerologinSigauth);
+
+export { zerologinAuth, zerologinSigauth };
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 8dea1a1..30ace3c 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -62,6 +62,25 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
+"@swc/helpers@^0.3.13":
+ version "0.3.17"
+ resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.3.17.tgz#7c1b91f43c77e2bba99492162a498d465ef253d5"
+ integrity sha512-tb7Iu+oZ+zWJZ3HJqwx8oNwSDIU440hmVMDPhpACWQWnrZHK99Bxs70gT1L2dnr5Hg50ZRWEFkQCAnOVVV0z1Q==
+ dependencies:
+ tslib "^2.4.0"
+
+"@types/node@*":
+ version "18.15.0"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.0.tgz#286a65e3fdffd691e170541e6ecb0410b16a38be"
+ integrity sha512-z6nr0TTEOBGkzLGmbypWOGnpSpSIBorEhC4L+4HeQ2iezKCi4f77kyslRwvHeNitymGQ+oFyIWGP96l/DPSV9w==
+
+"@types/simple-peer@^9.11.5":
+ version "9.11.5"
+ resolved "https://registry.yarnpkg.com/@types/simple-peer/-/simple-peer-9.11.5.tgz#6baa00edbbd0f632f8561e8fb03b4d21d62f076e"
+ integrity sha512-haXgWcAa3Y3Sn+T8lzkE4ErQUpYzhW6Cz2lh00RhQTyWt+xZ3s87wJPztUxlqSdFRqGhe2MQIBd0XsyHP3No4w==
+ dependencies:
+ "@types/node" "*"
+
"@vitejs/plugin-vue@^3.1.0":
version "3.1.0"
resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.1.0.tgz"
@@ -346,7 +365,7 @@ csstype@^2.6.8:
resolved "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz"
integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==
-debug@4:
+debug@4, debug@^4.3.2:
version "4.3.4"
resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -375,6 +394,11 @@ emoji-regex@^8.0.0:
resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+err-code@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/err-code/-/err-code-3.0.1.tgz#a444c7b992705f2b120ee320b09972eef331c920"
+ integrity sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==
+
esbuild-android-64@0.15.8:
version "0.15.8"
resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.8.tgz#625863e705d4ed32a3b4c0b997dbf9454d50a455"
@@ -515,6 +539,11 @@ estree-walker@^2.0.2:
resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz"
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
+eventemitter3@^4.0.7:
+ version "4.0.7"
+ resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
+ integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
+
fast-glob@^3.2.11:
version "3.2.12"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
@@ -577,6 +606,11 @@ gauge@^3.0.0:
strip-ansi "^6.0.1"
wide-align "^1.1.2"
+get-browser-rtc@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/get-browser-rtc/-/get-browser-rtc-1.1.0.tgz#d1494e299b00f33fc8e9d6d3343ba4ba99711a2c"
+ integrity sha512-MghbMJ61EJrRsDe7w1Bvqt3ZsBuqhce5nrn/XAwgwOXhcsz53/ltdxOse1h/8eKXj5slzxdsz56g5rzOFSGwfQ==
+
glob-parent@^5.1.2, glob-parent@~5.1.2:
version "5.1.2"
resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
@@ -817,6 +851,21 @@ path-parse@^1.0.7:
resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+peerjs-js-binarypack@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/peerjs-js-binarypack/-/peerjs-js-binarypack-1.0.1.tgz#80fa2b61c794a6b16d64253700405e476ada29be"
+ integrity sha512-N6aeia3NhdpV7kiGxJV5xQiZZCVEEVjRz2T2C6UZQiBkHWHzUv/oWA4myQLcwBwO8LUoR1KWW5oStvwVesmfCg==
+
+peerjs@^1.4.7:
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/peerjs/-/peerjs-1.4.7.tgz#37db0cd06fb0c542664bd6b2f62e87c98d38fbad"
+ integrity sha512-dWE2HIGvJO0Hm8lYHJiO/5OWl8xYtGcAuU08To1HMIfhh76ULzkCS3NIQO/PZm4noO1RhaGTkQaQ6sbAss6/Tg==
+ dependencies:
+ "@swc/helpers" "^0.3.13"
+ eventemitter3 "^4.0.7"
+ peerjs-js-binarypack "1.0.1"
+ webrtc-adapter "^7.7.1"
+
picocolors@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz"
@@ -836,11 +885,18 @@ postcss@^8.1.10, postcss@^8.4.16:
picocolors "^1.0.0"
source-map-js "^1.0.2"
-queue-microtask@^1.2.2:
+queue-microtask@^1.2.2, queue-microtask@^1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+randombytes@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
+ integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
+ dependencies:
+ safe-buffer "^5.1.0"
+
readable-stream@^3.6.0:
version "3.6.0"
resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz"
@@ -885,6 +941,13 @@ rollup@~2.78.0:
optionalDependencies:
fsevents "~2.3.2"
+rtcpeerconnection-shim@^1.2.15:
+ version "1.2.15"
+ resolved "https://registry.yarnpkg.com/rtcpeerconnection-shim/-/rtcpeerconnection-shim-1.2.15.tgz#e7cc189a81b435324c4949aa3dfb51888684b243"
+ integrity sha512-C6DxhXt7bssQ1nHb154lqeL0SXz5Dx4RczXZu2Aa/L1NJFnEVDxFwCBo3fqtuljhHIGceg5JKBV4XJ0gW5JKyw==
+ dependencies:
+ sdp "^2.6.0"
+
run-parallel@^1.1.9:
version "1.2.0"
resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
@@ -892,7 +955,7 @@ run-parallel@^1.1.9:
dependencies:
queue-microtask "^1.2.2"
-safe-buffer@~5.2.0:
+safe-buffer@^5.1.0, safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
@@ -906,6 +969,11 @@ sass@^1.55.0:
immutable "^4.0.0"
source-map-js ">=0.6.2 <2.0.0"
+sdp@^2.12.0, sdp@^2.6.0:
+ version "2.12.0"
+ resolved "https://registry.yarnpkg.com/sdp/-/sdp-2.12.0.tgz#338a106af7560c86e4523f858349680350d53b22"
+ integrity sha512-jhXqQAQVM+8Xj5EjJGVweuEzgtGWb3tmEEpl3CLP3cStInSbVHSg0QWOGQzNq8pSID4JkpeV2mPqlMDLrm0/Vw==
+
semver@^6.0.0:
version "6.3.0"
resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"
@@ -942,6 +1010,19 @@ simple-get@^3.0.3:
once "^1.3.1"
simple-concat "^1.0.0"
+simple-peer@^9.11.1:
+ version "9.11.1"
+ resolved "https://registry.yarnpkg.com/simple-peer/-/simple-peer-9.11.1.tgz#9814d5723f821b778b7fb011bdefcbd1e788e6cc"
+ integrity sha512-D1SaWpOW8afq1CZGWB8xTfrT3FekjQmPValrqncJMX7QFl8YwhrPTZvMCANLtgBwwdS+7zURyqxDDEmY558tTw==
+ dependencies:
+ buffer "^6.0.3"
+ debug "^4.3.2"
+ err-code "^3.0.1"
+ get-browser-rtc "^1.1.0"
+ queue-microtask "^1.2.3"
+ randombytes "^2.1.0"
+ readable-stream "^3.6.0"
+
"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz"
@@ -1009,6 +1090,11 @@ tr46@~0.0.3:
resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz"
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
+tslib@^2.4.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf"
+ integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==
+
typescript@^4.6.4:
version "4.8.3"
resolved "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz"
@@ -1055,6 +1141,14 @@ webidl-conversions@^3.0.0:
resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz"
integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
+webrtc-adapter@^7.7.1:
+ version "7.7.1"
+ resolved "https://registry.yarnpkg.com/webrtc-adapter/-/webrtc-adapter-7.7.1.tgz#b2c227a6144983b35057df67bd984a7d4bfd17f1"
+ integrity sha512-TbrbBmiQBL9n0/5bvDdORc6ZfRY/Z7JnEj+EYOD1ghseZdpJ+nF2yx14k3LgQKc7JZnG7HAcL+zHnY25So9d7A==
+ dependencies:
+ rtcpeerconnection-shim "^1.2.15"
+ sdp "^2.12.0"
+
whatwg-url@^5.0.0:
version "5.0.0"
resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz"