@konemono/nostr-login-components 1.0.4
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/components/button-base.d.ts +11 -0
- package/dist/components/button-base.js +8 -0
- package/dist/components/button-base.js.map +1 -0
- package/dist/components/button-base2.js +52 -0
- package/dist/components/button-base2.js.map +1 -0
- package/dist/components/css.js +1 -0
- package/dist/components/index.d.ts +33 -0
- package/dist/components/index.js +39 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/index2.js +33 -0
- package/dist/components/index2.js.map +1 -0
- package/dist/components/index3.js +248 -0
- package/dist/components/index3.js.map +1 -0
- package/dist/components/nl-auth.d.ts +11 -0
- package/dist/components/nl-auth.js +8 -0
- package/dist/components/nl-auth.js.map +1 -0
- package/dist/components/nl-auth2.js +352 -0
- package/dist/components/nl-auth2.js.map +1 -0
- package/dist/components/nl-banner.d.ts +11 -0
- package/dist/components/nl-banner.js +8 -0
- package/dist/components/nl-banner.js.map +1 -0
- package/dist/components/nl-banner2.js +195 -0
- package/dist/components/nl-banner2.js.map +1 -0
- package/dist/components/nl-button.d.ts +11 -0
- package/dist/components/nl-button.js +8 -0
- package/dist/components/nl-button.js.map +1 -0
- package/dist/components/nl-button2.js +45 -0
- package/dist/components/nl-button2.js.map +1 -0
- package/dist/components/nl-change-account.d.ts +11 -0
- package/dist/components/nl-change-account.js +8 -0
- package/dist/components/nl-change-account.js.map +1 -0
- package/dist/components/nl-change-account2.js +113 -0
- package/dist/components/nl-change-account2.js.map +1 -0
- package/dist/components/nl-confirm-logout.d.ts +11 -0
- package/dist/components/nl-confirm-logout.js +8 -0
- package/dist/components/nl-confirm-logout.js.map +1 -0
- package/dist/components/nl-confirm-logout2.js +61 -0
- package/dist/components/nl-confirm-logout2.js.map +1 -0
- package/dist/components/nl-connect.d.ts +11 -0
- package/dist/components/nl-connect.js +8 -0
- package/dist/components/nl-connect.js.map +1 -0
- package/dist/components/nl-connect2.js +86 -0
- package/dist/components/nl-connect2.js.map +1 -0
- package/dist/components/nl-dialog.d.ts +11 -0
- package/dist/components/nl-dialog.js +8 -0
- package/dist/components/nl-dialog.js.map +1 -0
- package/dist/components/nl-dialog2.js +44 -0
- package/dist/components/nl-dialog2.js.map +1 -0
- package/dist/components/nl-iframe.d.ts +11 -0
- package/dist/components/nl-iframe.js +8 -0
- package/dist/components/nl-iframe.js.map +1 -0
- package/dist/components/nl-iframe2.js +51 -0
- package/dist/components/nl-iframe2.js.map +1 -0
- package/dist/components/nl-import-flow.d.ts +11 -0
- package/dist/components/nl-import-flow.js +8 -0
- package/dist/components/nl-import-flow.js.map +1 -0
- package/dist/components/nl-import-flow2.js +91 -0
- package/dist/components/nl-import-flow2.js.map +1 -0
- package/dist/components/nl-info-extension.d.ts +11 -0
- package/dist/components/nl-info-extension.js +8 -0
- package/dist/components/nl-info-extension.js.map +1 -0
- package/dist/components/nl-info-extension2.js +36 -0
- package/dist/components/nl-info-extension2.js.map +1 -0
- package/dist/components/nl-info.d.ts +11 -0
- package/dist/components/nl-info.js +8 -0
- package/dist/components/nl-info.js.map +1 -0
- package/dist/components/nl-info2.js +98 -0
- package/dist/components/nl-info2.js.map +1 -0
- package/dist/components/nl-loading.d.ts +11 -0
- package/dist/components/nl-loading.js +8 -0
- package/dist/components/nl-loading.js.map +1 -0
- package/dist/components/nl-loading2.js +87 -0
- package/dist/components/nl-loading2.js.map +1 -0
- package/dist/components/nl-local-signup.d.ts +11 -0
- package/dist/components/nl-local-signup.js +8 -0
- package/dist/components/nl-local-signup.js.map +1 -0
- package/dist/components/nl-local-signup2.js +69 -0
- package/dist/components/nl-local-signup2.js.map +1 -0
- package/dist/components/nl-login-status.d.ts +11 -0
- package/dist/components/nl-login-status.js +8 -0
- package/dist/components/nl-login-status.js.map +1 -0
- package/dist/components/nl-otp-migrate.d.ts +11 -0
- package/dist/components/nl-otp-migrate.js +8 -0
- package/dist/components/nl-otp-migrate.js.map +1 -0
- package/dist/components/nl-otp-migrate2.js +67 -0
- package/dist/components/nl-otp-migrate2.js.map +1 -0
- package/dist/components/nl-previously-logged.d.ts +11 -0
- package/dist/components/nl-previously-logged.js +8 -0
- package/dist/components/nl-previously-logged.js.map +1 -0
- package/dist/components/nl-previously-logged2.js +98 -0
- package/dist/components/nl-previously-logged2.js.map +1 -0
- package/dist/components/nl-select.d.ts +11 -0
- package/dist/components/nl-select.js +8 -0
- package/dist/components/nl-select.js.map +1 -0
- package/dist/components/nl-select2.js +97 -0
- package/dist/components/nl-select2.js.map +1 -0
- package/dist/components/nl-signin-bunker-url.d.ts +11 -0
- package/dist/components/nl-signin-bunker-url.js +8 -0
- package/dist/components/nl-signin-bunker-url.js.map +1 -0
- package/dist/components/nl-signin-bunker-url2.js +59 -0
- package/dist/components/nl-signin-bunker-url2.js.map +1 -0
- package/dist/components/nl-signin-connection-string.d.ts +11 -0
- package/dist/components/nl-signin-connection-string.js +8 -0
- package/dist/components/nl-signin-connection-string.js.map +1 -0
- package/dist/components/nl-signin-connection-string2.js +2935 -0
- package/dist/components/nl-signin-connection-string2.js.map +1 -0
- package/dist/components/nl-signin-otp.d.ts +11 -0
- package/dist/components/nl-signin-otp.js +8 -0
- package/dist/components/nl-signin-otp.js.map +1 -0
- package/dist/components/nl-signin-otp2.js +72 -0
- package/dist/components/nl-signin-otp2.js.map +1 -0
- package/dist/components/nl-signin-read-only.d.ts +11 -0
- package/dist/components/nl-signin-read-only.js +8 -0
- package/dist/components/nl-signin-read-only.js.map +1 -0
- package/dist/components/nl-signin-read-only2.js +59 -0
- package/dist/components/nl-signin-read-only2.js.map +1 -0
- package/dist/components/nl-signin.d.ts +11 -0
- package/dist/components/nl-signin.js +8 -0
- package/dist/components/nl-signin.js.map +1 -0
- package/dist/components/nl-signin2.js +59 -0
- package/dist/components/nl-signin2.js.map +1 -0
- package/dist/components/nl-signup.d.ts +11 -0
- package/dist/components/nl-signup.js +8 -0
- package/dist/components/nl-signup.js.map +1 -0
- package/dist/components/nl-signup2.js +89 -0
- package/dist/components/nl-signup2.js.map +1 -0
- package/dist/components/nl-welcome-signin.d.ts +11 -0
- package/dist/components/nl-welcome-signin.js +8 -0
- package/dist/components/nl-welcome-signin.js.map +1 -0
- package/dist/components/nl-welcome-signin2.js +64 -0
- package/dist/components/nl-welcome-signin2.js.map +1 -0
- package/dist/components/nl-welcome-signup.d.ts +11 -0
- package/dist/components/nl-welcome-signup.js +8 -0
- package/dist/components/nl-welcome-signup.js.map +1 -0
- package/dist/components/nl-welcome-signup2.js +51 -0
- package/dist/components/nl-welcome-signup2.js.map +1 -0
- package/dist/components/nl-welcome.d.ts +11 -0
- package/dist/components/nl-welcome.js +8 -0
- package/dist/components/nl-welcome.js.map +1 -0
- package/dist/components/nl-welcome2.js +51 -0
- package/dist/components/nl-welcome2.js.map +1 -0
- package/dist/components/ns-login-status.js +58 -0
- package/dist/components/ns-login-status.js.map +1 -0
- package/dist/types/components/button-base/button-base.d.ts +11 -0
- package/dist/types/components/nl-auth/nl-auth.d.ts +43 -0
- package/dist/types/components/nl-banner/nl-banner.d.ts +34 -0
- package/dist/types/components/nl-button/nl-button.d.ts +9 -0
- package/dist/types/components/nl-change-account/nl-change-account.d.ts +28 -0
- package/dist/types/components/nl-confirm-logout/nl-confirm-logout.d.ts +12 -0
- package/dist/types/components/nl-connect/nl-connect.d.ts +18 -0
- package/dist/types/components/nl-dialog/nl-dialog.d.ts +6 -0
- package/dist/types/components/nl-iframe/nl-iframe.d.ts +9 -0
- package/dist/types/components/nl-import-flow/nl-import-flow.d.ts +18 -0
- package/dist/types/components/nl-info/nl-info.d.ts +12 -0
- package/dist/types/components/nl-info-extension/nl-info-extension.d.ts +3 -0
- package/dist/types/components/nl-loading/nl-loading.d.ts +9 -0
- package/dist/types/components/nl-local-signup/nl-local-signup.d.ts +14 -0
- package/dist/types/components/nl-login-status/ns-login-status.d.ts +5 -0
- package/dist/types/components/nl-otp-migrate/nl-otp-migrate.d.ts +12 -0
- package/dist/types/components/nl-previously-logged/nl-previously-logged.d.ts +19 -0
- package/dist/types/components/nl-select/nl-select.d.ts +28 -0
- package/dist/types/components/nl-signin/nl-signin.d.ts +11 -0
- package/dist/types/components/nl-signin-bunker-url/nl-signin-bunker-url.d.ts +11 -0
- package/dist/types/components/nl-signin-connection-string/nl-signin-connection-string.d.ts +13 -0
- package/dist/types/components/nl-signin-otp/nl-signin-otp.d.ts +14 -0
- package/dist/types/components/nl-signin-read-only/nl-signin-read-only.d.ts +11 -0
- package/dist/types/components/nl-signup/nl-signup.d.ts +20 -0
- package/dist/types/components/nl-welcome/nl-welcome.d.ts +6 -0
- package/dist/types/components/nl-welcome-signin/nl-welcome-signin.d.ts +13 -0
- package/dist/types/components/nl-welcome-signup/nl-welcome-signup.d.ts +6 -0
- package/dist/types/components.d.ts +925 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/stencil-public-runtime.d.ts +1674 -0
- package/dist/types/store/index.d.ts +36 -0
- package/dist/types/types/button.d.ts +6 -0
- package/dist/types/types/index.d.ts +59 -0
- package/package.json +49 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"nl-loading2.js","mappings":"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","names":[],"sources":["src/components/nl-loading/nl-loading.css?tag=nl-loading","src/components/nl-loading/nl-loading.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Event, EventEmitter, Prop, h } from '@stencil/core';\nimport { state } from '@/store';\nimport { CURRENT_MODULE } from '@/types';\n\n@Component({\n tag: 'nl-loading',\n styleUrl: 'nl-loading.css',\n shadow: false,\n})\nexport class NlLoading {\n @Event() stopFetchHandler: EventEmitter<boolean>;\n @Event() handleContinue: EventEmitter<boolean>;\n @Prop() path: string;\n\n handleStop(e) {\n e.preventDefault();\n this.stopFetchHandler.emit();\n }\n\n handleContinueClick(e) {\n e.preventDefault();\n // reset();\n this.handleContinue.emit();\n }\n\n render() {\n let title = 'Connecting...';\n let text = 'Establishing connection to your key storage.';\n if (state.njumpIframe) {\n title = '';\n text = '';\n } else if (this.path === CURRENT_MODULE.LOCAL_SIGNUP) {\n title = 'Creating...';\n text = 'Publishing your profile on Nostr.';\n } else if (state.authUrl) {\n if (state.isLoading) {\n title = 'Confirming...';\n text = 'Please confirm the connection in your key storage app.';\n } else {\n title = 'Almost ready!';\n text = 'Continue to confirm the connection to your key storage.';\n }\n }\n\n const showButton = this.path !== CURRENT_MODULE.LOCAL_SIGNUP;\n const showIframe = !state.isLoading && state.iframeUrl && state.authUrl;\n const iframeUrl = state.iframeUrl ? `${state.iframeUrl}?connect=${encodeURIComponent(state.authUrl)}` : '';\n\n return (\n <div class=\"p-4 overflow-y-auto\">\n {title && (<h1 class=\"nl-title font-bold text-center text-4xl\">{title}</h1>)}\n {text && (<p class=\"nl-description font-light text-center text-lg pt-2 max-w-96 mx-auto\">{text}</p>)}\n {!state.njumpIframe && !state.authUrl && state.isLoading && (\n <div class=\"mt-10 mb-10 ml-auto mr-auto w-20\">\n <span\n slot=\"icon-start\"\n class=\"animate-spin-loading ml-auto mr-auto inline-block w-20 h-20 border-[4px] border-current border-t-transparent text-slate-900 dark:text-gray-300 rounded-full\"\n role=\"status\"\n aria-label=\"loading\"\n ></span>\n </div>\n )}\n <div class=\"ps-4 pe-4 overflow-y-auto\">\n <p class=\"nl-error font-light text-center text-sm max-w-96 mx-auto\">{state.error}</p>\n </div>\n {iframeUrl && (\n <div class=\"mt-3 ml-auto mr-auto w-72 flex justify-center\">\n <iframe src={iframeUrl} width=\"180px\" height=\"80px\" style={{ display: showIframe ? 'block' : 'none', border: '0' }}></iframe>\n </div>\n )}\n {state.njumpIframe && (\n <div class=\"mt-3 ml-auto mr-auto flex justify-center\">\n <iframe srcdoc={state.njumpIframe} width=\"600px\" style={{ border: '0', height: \"80vh\", borderRadius: \"8px\" }}></iframe>\n </div>\n )}\n {!showIframe && showButton && (\n <div class=\"mt-3 ml-auto mr-auto w-72\">\n <button-base\n onClick={e => {\n if (state.authUrl && !state.isLoading) {\n this.handleContinueClick(e);\n } else {\n this.handleStop(e);\n }\n }}\n titleBtn={!state.isLoading ? 'Continue' : 'Cancel'}\n />\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface NlLocalSignup extends Components.NlLocalSignup, HTMLElement {}
|
|
4
|
+
export const NlLocalSignup: {
|
|
5
|
+
prototype: NlLocalSignup;
|
|
6
|
+
new (): NlLocalSignup;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { N as NlLocalSignup$1, d as defineCustomElement$1 } from './nl-local-signup2.js';
|
|
2
|
+
|
|
3
|
+
const NlLocalSignup = NlLocalSignup$1;
|
|
4
|
+
const defineCustomElement = defineCustomElement$1;
|
|
5
|
+
|
|
6
|
+
export { NlLocalSignup, defineCustomElement };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=nl-local-signup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"nl-local-signup.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Fragment } from '@stencil/core/internal/client';
|
|
2
|
+
import { s as state } from './index3.js';
|
|
3
|
+
import { d as defineCustomElement$1 } from './button-base2.js';
|
|
4
|
+
|
|
5
|
+
import { baseCss } from './css.js';
|
|
6
|
+
const nlLocalSignupCss = baseCss;
|
|
7
|
+
|
|
8
|
+
const NlLocalSignupStyle0 = nlLocalSignupCss;
|
|
9
|
+
|
|
10
|
+
const NlLocalSignup = /*@__PURE__*/ proxyCustomElement(class NlLocalSignup extends HTMLElement {
|
|
11
|
+
constructor() {
|
|
12
|
+
super();
|
|
13
|
+
this.__registerHost();
|
|
14
|
+
this.nlLocalSignup = createEvent(this, "nlLocalSignup", 7);
|
|
15
|
+
this.nlSignupNjump = createEvent(this, "nlSignupNjump", 7);
|
|
16
|
+
this.fetchHandler = createEvent(this, "fetchHandler", 7);
|
|
17
|
+
this.titleSignup = 'Create Nostr profile';
|
|
18
|
+
this.description = 'Choose any username, you can always change it later.';
|
|
19
|
+
this.descriptionNjump = 'Proceed to creating your Nostr profile in a new tab.';
|
|
20
|
+
this.signupNjump = false;
|
|
21
|
+
this.isAvailable = false;
|
|
22
|
+
}
|
|
23
|
+
handleInputChange(event) {
|
|
24
|
+
state.nlSignup.signupName = event.target.value;
|
|
25
|
+
// this.nlCheckSignup.emit(`${(event.target as HTMLInputElement).value}@${state.nlSignup.domain}`);
|
|
26
|
+
}
|
|
27
|
+
handleCreateAccount(e) {
|
|
28
|
+
e.preventDefault();
|
|
29
|
+
if (this.signupNjump) {
|
|
30
|
+
this.nlSignupNjump.emit();
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.nlLocalSignup.emit(`${state.nlSignup.signupName}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
render() {
|
|
37
|
+
return (h(Fragment, { key: 'c41e552d3f1d2d765af7e1257f20199801bdc2bc' }, h("div", { key: '534448c80679a96786dc6c9e2218de9427badb7c', class: "p-4 overflow-y-auto" }, h("h1", { key: '7c625b0974b7ca55ea61de7bb17f6bddbe872fd2', class: "nl-title font-bold text-center text-2xl" }, this.titleSignup), h("p", { key: 'befeff10e212a73d1e8938700536aaf378479cd5', class: "nl-description font-light text-center text-sm pt-2 max-w-96 mx-auto" }, this.signupNjump ? this.descriptionNjump : this.description)), h("div", { key: '782424ba0f34738a0f093cf3137ab1f35ed58c0c', class: "max-w-72 mx-auto" }, !this.signupNjump && (h("div", { key: '0882304f611095ffcd9ea48b097498f2f3c3cd23', class: "relative mb-2" }, h("input", { key: '2f6ea6ceab35a3b34e4141abb3a28a36b534202a', onInput: e => this.handleInputChange(e), type: "text", class: "nl-input peer py-3 px-4 ps-11 block w-full border-transparent rounded-lg text-sm disabled:opacity-50 disabled:pointer-events-none dark:border-transparent", placeholder: "Enter username", value: state.nlSignup.signupName }), h("div", { key: '69befe828a2d75b2bbe86e8eba4bf0c17e1a690d', class: "absolute inset-y-0 start-0 flex items-center pointer-events-none ps-4 peer-disabled:opacity-50 peer-disabled:pointer-events-none" }, h("svg", { key: '2d8309ad0b39897884c28a451c8df44acc70b37d', xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "2", stroke: this.isAvailable ? '#00cc00' : 'currentColor', class: "flex-shrink-0 w-4 h-4 text-gray-500" }, h("path", { key: '1e3438193ef6a3a09952d77780dbaf1729633067', "stroke-linecap": "round", "stroke-linejoin": "round", d: "M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z" }))))), h("div", { key: 'aa004eaacdc6d3a5ed2b97eab24878ca950b3080', class: "ps-4 pe-4 overflow-y-auto" }, h("p", { key: 'c7d415436acf88b9250b7837840815562b1c4387', class: "nl-error font-light text-center text-sm max-w-96 mx-auto" }, state.error)), h("button-base", { key: '0dd09de394e2db56528ec3f6d802a65f9b0c484d', disabled: state.isLoading, onClick: e => this.handleCreateAccount(e), titleBtn: this.signupNjump ? 'Get started' : 'Create profile' }, state.isLoading ? (h("span", { slot: "icon-start", class: "animate-spin-loading inline-block w-4 h-4 border-[3px] border-current border-t-transparent text-slate-900 dark:text-gray-300 rounded-full", role: "status", "aria-label": "loading" })) : (h("svg", { slot: "icon-start", style: { display: 'none' }, xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor" }, h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M18 7.5v3m0 0v3m0-3h3m-3 0h-3m-2.25-4.125a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0ZM3 19.235v-.11a6.375 6.375 0 0 1 12.75 0v.109A12.318 12.318 0 0 1 9.374 21c-2.331 0-4.512-.645-6.374-1.766Z" })))))));
|
|
38
|
+
}
|
|
39
|
+
static get style() { return NlLocalSignupStyle0; }
|
|
40
|
+
}, [0, "nl-local-signup", {
|
|
41
|
+
"titleSignup": [1, "title-signup"],
|
|
42
|
+
"description": [1],
|
|
43
|
+
"descriptionNjump": [1, "description-njump"],
|
|
44
|
+
"signupNjump": [4, "signup-njump"],
|
|
45
|
+
"isAvailable": [32]
|
|
46
|
+
}]);
|
|
47
|
+
function defineCustomElement() {
|
|
48
|
+
if (typeof customElements === "undefined") {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const components = ["nl-local-signup", "button-base"];
|
|
52
|
+
components.forEach(tagName => { switch (tagName) {
|
|
53
|
+
case "nl-local-signup":
|
|
54
|
+
if (!customElements.get(tagName)) {
|
|
55
|
+
customElements.define(tagName, NlLocalSignup);
|
|
56
|
+
}
|
|
57
|
+
break;
|
|
58
|
+
case "button-base":
|
|
59
|
+
if (!customElements.get(tagName)) {
|
|
60
|
+
defineCustomElement$1();
|
|
61
|
+
}
|
|
62
|
+
break;
|
|
63
|
+
} });
|
|
64
|
+
}
|
|
65
|
+
defineCustomElement();
|
|
66
|
+
|
|
67
|
+
export { NlLocalSignup as N, defineCustomElement as d };
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=nl-local-signup2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"nl-local-signup2.js","mappings":";;;;AAAA,MAAM,gBAAgB,GAAG,w9zCAAw9zC,CAAC;AACl/zC,4BAAe,gBAAgB;;MCOlB,aAAa;;;;;;;2BACF,sBAAsB;2BACtB,sDAAsD;gCACjD,sDAAsD;2BAC3D,KAAK;2BAEJ,KAAK;;IAO5B,iBAAiB,CAAC,KAAY;QAC5B,KAAK,CAAC,QAAQ,CAAC,UAAU,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;;KAEtE;IAED,mBAAmB,CAAC,CAAa;QAC/B,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;SAC3B;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;SACzD;KACF;IAED,MAAM;QACJ,QACE,EAAC,QAAQ,uDACP,4DAAK,KAAK,EAAC,qBAAqB,IAC9B,2DAAI,KAAK,EAAC,yCAAyC,IAAE,IAAI,CAAC,WAAW,CAAM,EAC3E,0DAAG,KAAK,EAAC,qEAAqE,IAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAK,CAC5I,EAEN,4DAAK,KAAK,EAAC,kBAAkB,IAC1B,CAAC,IAAI,CAAC,WAAW,KAChB,4DAAK,KAAK,EAAC,eAAe,IACxB,8DACE,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EACvC,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,2JAA2J,EACjK,WAAW,EAAC,gBAAgB,EAC5B,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,GAChC,EACF,4DAAK,KAAK,EAAC,kIAAkI,IAC3I,4DACE,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,kBACN,GAAG,EAChB,MAAM,EAAE,IAAI,CAAC,WAAW,GAAG,SAAS,GAAG,cAAc,EACrD,KAAK,EAAC,qCAAqC,IAE3C,+EACiB,OAAO,qBACN,OAAO,EACvB,CAAC,EAAC,yJAAyJ,GAC3J,CACE,CACF,CACF,CACP,EAED,4DAAK,KAAK,EAAC,2BAA2B,IACpC,0DAAG,KAAK,EAAC,0DAA0D,IAAE,KAAK,CAAC,KAAK,CAAK,CACjF,EAEN,oEAAa,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,GAAG,aAAa,GAAG,gBAAgB,IAC7I,KAAK,CAAC,SAAS,IACd,YACE,IAAI,EAAC,YAAY,EACjB,KAAK,EAAC,2IAA2I,EACjJ,IAAI,EAAC,QAAQ,gBACF,SAAS,GACd,KAER,WAAK,IAAI,EAAC,YAAY,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAC,4BAA4B,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,kBAAc,KAAK,EAAC,MAAM,EAAC,cAAc,IAC5J,8BACiB,OAAO,qBACN,OAAO,EACvB,CAAC,EAAC,yMAAyM,GAC3M,CACE,CACP,CACW,CACV,CACG,EACX;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/nl-local-signup/nl-local-signup.css?tag=nl-local-signup","src/components/nl-local-signup/nl-local-signup.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, h, Fragment, State, Prop, Event, EventEmitter } from '@stencil/core';\nimport { state } from '@/store';\n\n@Component({\n tag: 'nl-local-signup',\n styleUrl: 'nl-local-signup.css',\n shadow: false,\n})\nexport class NlLocalSignup {\n @Prop() titleSignup = 'Create Nostr profile';\n @Prop() description = 'Choose any username, you can always change it later.';\n @Prop() descriptionNjump = 'Proceed to creating your Nostr profile in a new tab.';\n @Prop() signupNjump = false;\n\n @State() isAvailable = false;\n\n @Event() nlLocalSignup: EventEmitter<string>;\n @Event() nlSignupNjump: EventEmitter<void>;\n // @Event() nlCheckSignup: EventEmitter<string>;\n @Event() fetchHandler: EventEmitter<boolean>;\n\n handleInputChange(event: Event) {\n state.nlSignup.signupName = (event.target as HTMLInputElement).value;\n // this.nlCheckSignup.emit(`${(event.target as HTMLInputElement).value}@${state.nlSignup.domain}`);\n }\n\n handleCreateAccount(e: MouseEvent) {\n e.preventDefault();\n\n if (this.signupNjump) {\n this.nlSignupNjump.emit();\n } else {\n this.nlLocalSignup.emit(`${state.nlSignup.signupName}`);\n }\n }\n\n render() {\n return (\n <Fragment>\n <div class=\"p-4 overflow-y-auto\">\n <h1 class=\"nl-title font-bold text-center text-2xl\">{this.titleSignup}</h1>\n <p class=\"nl-description font-light text-center text-sm pt-2 max-w-96 mx-auto\">{this.signupNjump ? this.descriptionNjump : this.description}</p>\n </div>\n\n <div class=\"max-w-72 mx-auto\">\n {!this.signupNjump && (\n <div class=\"relative mb-2\">\n <input\n onInput={e => this.handleInputChange(e)}\n type=\"text\"\n class=\"nl-input peer py-3 px-4 ps-11 block w-full border-transparent rounded-lg text-sm disabled:opacity-50 disabled:pointer-events-none dark:border-transparent\"\n placeholder=\"Enter username\"\n value={state.nlSignup.signupName}\n />\n <div class=\"absolute inset-y-0 start-0 flex items-center pointer-events-none ps-4 peer-disabled:opacity-50 peer-disabled:pointer-events-none\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"2\"\n stroke={this.isAvailable ? '#00cc00' : 'currentColor'}\n class=\"flex-shrink-0 w-4 h-4 text-gray-500\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z\"\n />\n </svg>\n </div>\n </div>\n )}\n\n <div class=\"ps-4 pe-4 overflow-y-auto\">\n <p class=\"nl-error font-light text-center text-sm max-w-96 mx-auto\">{state.error}</p>\n </div>\n\n <button-base disabled={state.isLoading} onClick={e => this.handleCreateAccount(e)} titleBtn={this.signupNjump ? 'Get started' : 'Create profile'}>\n {state.isLoading ? (\n <span\n slot=\"icon-start\"\n class=\"animate-spin-loading inline-block w-4 h-4 border-[3px] border-current border-t-transparent text-slate-900 dark:text-gray-300 rounded-full\"\n role=\"status\"\n aria-label=\"loading\"\n ></span>\n ) : (\n <svg slot=\"icon-start\" style={{ display: 'none' }} xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18 7.5v3m0 0v3m0-3h3m-3 0h-3m-2.25-4.125a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0ZM3 19.235v-.11a6.375 6.375 0 0 1 12.75 0v.109A12.318 12.318 0 0 1 9.374 21c-2.331 0-4.512-.645-6.374-1.766Z\"\n />\n </svg>\n )}\n </button-base>\n </div>\n </Fragment>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface NlLoginStatus extends Components.NlLoginStatus, HTMLElement {}
|
|
4
|
+
export const NlLoginStatus: {
|
|
5
|
+
prototype: NlLoginStatus;
|
|
6
|
+
new (): NlLoginStatus;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { N as NlLoginStatus$1, d as defineCustomElement$1 } from './ns-login-status.js';
|
|
2
|
+
|
|
3
|
+
const NlLoginStatus = NlLoginStatus$1;
|
|
4
|
+
const defineCustomElement = defineCustomElement$1;
|
|
5
|
+
|
|
6
|
+
export { NlLoginStatus, defineCustomElement };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=nl-login-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"nl-login-status.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface NlOtpMigrate extends Components.NlOtpMigrate, HTMLElement {}
|
|
4
|
+
export const NlOtpMigrate: {
|
|
5
|
+
prototype: NlOtpMigrate;
|
|
6
|
+
new (): NlOtpMigrate;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { N as NlImportFlow, d as defineCustomElement$1 } from './nl-otp-migrate2.js';
|
|
2
|
+
|
|
3
|
+
const NlOtpMigrate = NlImportFlow;
|
|
4
|
+
const defineCustomElement = defineCustomElement$1;
|
|
5
|
+
|
|
6
|
+
export { NlOtpMigrate, defineCustomElement };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=nl-otp-migrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"nl-otp-migrate.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Fragment } from '@stencil/core/internal/client';
|
|
2
|
+
import { s as state } from './index3.js';
|
|
3
|
+
import { d as defineCustomElement$2 } from './button-base2.js';
|
|
4
|
+
import { d as defineCustomElement$1 } from './nl-select2.js';
|
|
5
|
+
|
|
6
|
+
import { baseCss } from './css.js';
|
|
7
|
+
const nlOtpMigrateCss = baseCss;
|
|
8
|
+
|
|
9
|
+
const NlOtpMigrateStyle0 = nlOtpMigrateCss;
|
|
10
|
+
|
|
11
|
+
const NlImportFlow = /*@__PURE__*/ proxyCustomElement(class NlImportFlow extends HTMLElement {
|
|
12
|
+
constructor() {
|
|
13
|
+
super();
|
|
14
|
+
this.__registerHost();
|
|
15
|
+
this.nlImportAccount = createEvent(this, "nlImportAccount", 7);
|
|
16
|
+
this.titleInfo = 'Import keys to storage service';
|
|
17
|
+
this.titleImport = 'Choose a service';
|
|
18
|
+
this.textImport = 'You will be prompted to import keys to the chosen service, and this website will connect to your keys.';
|
|
19
|
+
this.services = [];
|
|
20
|
+
}
|
|
21
|
+
handleDomainSelect(event) {
|
|
22
|
+
const s = this.services.find(s => s.domain === event.detail);
|
|
23
|
+
state.nlImport = s;
|
|
24
|
+
}
|
|
25
|
+
handleCreateAccount(e) {
|
|
26
|
+
e.preventDefault();
|
|
27
|
+
this.nlImportAccount.emit(state.nlImport);
|
|
28
|
+
}
|
|
29
|
+
render() {
|
|
30
|
+
const options = this.services.filter(s => s.canImport).map(s => ({ name: s.domain, value: s.domain }));
|
|
31
|
+
return (h(Fragment, { key: 'd28c13388141a1c51ea1cb2a6bb213b36d080c75' }, h("div", { key: '67a12248f016af9f797a0ac7e6b0c83faa47b539', class: "p-4 overflow-y-auto" }, h("h1", { key: 'c359b60d686b3b6619e3c8ce261ea232b09c40a7', class: "nl-title font-bold text-center text-2xl" }, this.titleImport), h("p", { key: '7d3b4ed8ae8a0365a65e65f5771090e5d18fbb49', class: "nl-description font-light text-center text-sm pt-2 max-w-96 mx-auto" }, this.textImport)), h("div", { key: '25056f5a21c2040427f61341886e1f83356f5c80', class: "max-w-72 mx-auto mb-5" }, h("div", { key: 'c49d8b5606310f25d1d760373e98e121b8787cb8', class: "mb-0.5" }, h("nl-select", { key: '6b97c4c1ae447714af67cbc5541fb48a6d8bfc17', onSelectDomain: e => this.handleDomainSelect(e), selected: 0, options: options })), h("p", { key: 'ce178d1a941bede918eb0495c4fdefedaeadec6d', class: "nl-title font-light text-sm mb-2" }, "Default provider is a fine choice to start with."), h("div", { key: 'b013140737fad867b69b97083e25896dc63d1f05', class: "ps-4 pe-4 overflow-y-auto" }, h("p", { key: '455b6c1d7a94d83ede3dc0725693bf3fb8b0f4b6', class: "nl-error font-light text-center text-sm max-w-96 mx-auto" }, state.error)), h("button-base", { key: 'd5fc9adc4ad1ca9eed9f51bc612f964183ee31e2', disabled: state.isLoading, onClick: e => this.handleCreateAccount(e), titleBtn: "Start importing" }, state.isLoading ? (h("span", { slot: "icon-start", class: "animate-spin-loading inline-block w-4 h-4 border-[3px] border-current border-t-transparent text-slate-900 dark:text-gray-300 rounded-full", role: "status", "aria-label": "loading" })) : (h("svg", { slot: "icon-start", style: { display: 'none' }, xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor" }, h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M18 7.5v3m0 0v3m0-3h3m-3 0h-3m-2.25-4.125a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0ZM3 19.235v-.11a6.375 6.375 0 0 1 12.75 0v.109A12.318 12.318 0 0 1 9.374 21c-2.331 0-4.512-.645-6.374-1.766Z" })))))));
|
|
32
|
+
}
|
|
33
|
+
static get style() { return NlOtpMigrateStyle0; }
|
|
34
|
+
}, [0, "nl-otp-migrate", {
|
|
35
|
+
"titleInfo": [1025, "title-info"],
|
|
36
|
+
"titleImport": [1, "title-import"],
|
|
37
|
+
"textImport": [1, "text-import"],
|
|
38
|
+
"services": [16]
|
|
39
|
+
}]);
|
|
40
|
+
function defineCustomElement() {
|
|
41
|
+
if (typeof customElements === "undefined") {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const components = ["nl-otp-migrate", "button-base", "nl-select"];
|
|
45
|
+
components.forEach(tagName => { switch (tagName) {
|
|
46
|
+
case "nl-otp-migrate":
|
|
47
|
+
if (!customElements.get(tagName)) {
|
|
48
|
+
customElements.define(tagName, NlImportFlow);
|
|
49
|
+
}
|
|
50
|
+
break;
|
|
51
|
+
case "button-base":
|
|
52
|
+
if (!customElements.get(tagName)) {
|
|
53
|
+
defineCustomElement$2();
|
|
54
|
+
}
|
|
55
|
+
break;
|
|
56
|
+
case "nl-select":
|
|
57
|
+
if (!customElements.get(tagName)) {
|
|
58
|
+
defineCustomElement$1();
|
|
59
|
+
}
|
|
60
|
+
break;
|
|
61
|
+
} });
|
|
62
|
+
}
|
|
63
|
+
defineCustomElement();
|
|
64
|
+
|
|
65
|
+
export { NlImportFlow as N, defineCustomElement as d };
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=nl-otp-migrate2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"nl-otp-migrate2.js","mappings":";;;;;AAAA,MAAM,eAAe,GAAG,w9zCAAw9zC,CAAC;AACj/zC,2BAAe,eAAe;;MCQjB,YAAY;;;;;yBACc,gCAAgC;2BAC/C,kBAAkB;0BACnB,wGAAwG;wBACtF,EAAE;;IAIzC,kBAAkB,CAAC,KAA0B;QAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7D,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;KACpB;IAED,mBAAmB,CAAC,CAAa;QAC/B,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;KAC3C;IAED,MAAM;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAO,EAAE,KAAK,EAAE,CAAC,CAAC,MAAO,EAAE,CAAC,CAAC,CAAC;QAEzG,QACE,EAAC,QAAQ,uDACP,4DAAK,KAAK,EAAC,qBAAqB,IAC9B,2DAAI,KAAK,EAAC,yCAAyC,IAAE,IAAI,CAAC,WAAW,CAAM,EAC3E,0DAAG,KAAK,EAAC,qEAAqE,IAAE,IAAI,CAAC,UAAU,CAAK,CAChG,EAEN,4DAAK,KAAK,EAAC,uBAAuB,IAChC,4DAAK,KAAK,EAAC,QAAQ,IACjB,kEAAW,cAAc,EAAE,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,GAAc,CACnG,EACN,0DAAG,KAAK,EAAC,kCAAkC,uDAAqD,EAEhG,4DAAK,KAAK,EAAC,2BAA2B,IACpC,0DAAG,KAAK,EAAC,0DAA0D,IAAE,KAAK,CAAC,KAAK,CAAK,CACjF,EAEN,oEAAa,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAC,iBAAiB,IAC1G,KAAK,CAAC,SAAS,IACd,YACE,IAAI,EAAC,YAAY,EACjB,KAAK,EAAC,2IAA2I,EACjJ,IAAI,EAAC,QAAQ,gBACF,SAAS,GACd,KAER,WAAK,IAAI,EAAC,YAAY,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAC,4BAA4B,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,kBAAc,KAAK,EAAC,MAAM,EAAC,cAAc,IAC5J,8BACiB,OAAO,qBACN,OAAO,EACvB,CAAC,EAAC,yMAAyM,GAC3M,CACE,CACP,CACW,CACV,CACG,EACX;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/nl-otp-migrate/nl-otp-migrate.css?tag=nl-otp-migrate","src/components/nl-otp-migrate/nl-otp-migrate.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, h, Fragment, Prop, Event, EventEmitter } from '@stencil/core';\nimport { state } from '@/store';\nimport { ConnectionString } from '@/types';\n\n@Component({\n tag: 'nl-otp-migrate',\n styleUrl: 'nl-otp-migrate.css',\n shadow: false,\n})\nexport class NlImportFlow {\n @Prop({ mutable: true }) titleInfo = 'Import keys to storage service';\n @Prop() titleImport = 'Choose a service';\n @Prop() textImport = 'You will be prompted to import keys to the chosen service, and this website will connect to your keys.';\n @Prop() services: ConnectionString[] = [];\n\n @Event() nlImportAccount: EventEmitter<ConnectionString>;\n\n handleDomainSelect(event: CustomEvent<string>) {\n const s = this.services.find(s => s.domain === event.detail);\n state.nlImport = s;\n }\n\n handleCreateAccount(e: MouseEvent) {\n e.preventDefault();\n this.nlImportAccount.emit(state.nlImport);\n }\n\n render() {\n const options = this.services.filter(s => s.canImport).map(s => ({ name: s.domain!, value: s.domain! }));\n\n return (\n <Fragment>\n <div class=\"p-4 overflow-y-auto\">\n <h1 class=\"nl-title font-bold text-center text-2xl\">{this.titleImport}</h1>\n <p class=\"nl-description font-light text-center text-sm pt-2 max-w-96 mx-auto\">{this.textImport}</p>\n </div>\n\n <div class=\"max-w-72 mx-auto mb-5\">\n <div class=\"mb-0.5\">\n <nl-select onSelectDomain={e => this.handleDomainSelect(e)} selected={0} options={options}></nl-select>\n </div>\n <p class=\"nl-title font-light text-sm mb-2\">Default provider is a fine choice to start with.</p>\n\n <div class=\"ps-4 pe-4 overflow-y-auto\">\n <p class=\"nl-error font-light text-center text-sm max-w-96 mx-auto\">{state.error}</p>\n </div>\n\n <button-base disabled={state.isLoading} onClick={e => this.handleCreateAccount(e)} titleBtn=\"Start importing\">\n {state.isLoading ? (\n <span\n slot=\"icon-start\"\n class=\"animate-spin-loading inline-block w-4 h-4 border-[3px] border-current border-t-transparent text-slate-900 dark:text-gray-300 rounded-full\"\n role=\"status\"\n aria-label=\"loading\"\n ></span>\n ) : (\n <svg slot=\"icon-start\" style={{ display: 'none' }} xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18 7.5v3m0 0v3m0-3h3m-3 0h-3m-2.25-4.125a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0ZM3 19.235v-.11a6.375 6.375 0 0 1 12.75 0v.109A12.318 12.318 0 0 1 9.374 21c-2.331 0-4.512-.645-6.374-1.766Z\"\n />\n </svg>\n )}\n </button-base>\n </div>\n </Fragment>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface NlPreviouslyLogged extends Components.NlPreviouslyLogged, HTMLElement {}
|
|
4
|
+
export const NlPreviouslyLogged: {
|
|
5
|
+
prototype: NlPreviouslyLogged;
|
|
6
|
+
new (): NlPreviouslyLogged;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { N as NlPreviouslyLogged$1, d as defineCustomElement$1 } from './nl-previously-logged2.js';
|
|
2
|
+
|
|
3
|
+
const NlPreviouslyLogged = NlPreviouslyLogged$1;
|
|
4
|
+
const defineCustomElement = defineCustomElement$1;
|
|
5
|
+
|
|
6
|
+
export { NlPreviouslyLogged, defineCustomElement };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=nl-previously-logged.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"nl-previously-logged.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Fragment } from '@stencil/core/internal/client';
|
|
2
|
+
import { C as CURRENT_MODULE } from './index2.js';
|
|
3
|
+
import { s as state } from './index3.js';
|
|
4
|
+
import { d as defineCustomElement$1 } from './ns-login-status.js';
|
|
5
|
+
|
|
6
|
+
import { baseCss } from './css.js';
|
|
7
|
+
const nlPreviouslyLoggedCss = baseCss;
|
|
8
|
+
|
|
9
|
+
const NlPreviouslyLoggedStyle0 = nlPreviouslyLoggedCss;
|
|
10
|
+
|
|
11
|
+
const NlPreviouslyLogged = /*@__PURE__*/ proxyCustomElement(class NlPreviouslyLogged extends HTMLElement {
|
|
12
|
+
constructor() {
|
|
13
|
+
super();
|
|
14
|
+
this.__registerHost();
|
|
15
|
+
this.nlSwitchAccount = createEvent(this, "nlSwitchAccount", 7);
|
|
16
|
+
this.nlLoginRecentAccount = createEvent(this, "nlLoginRecentAccount", 7);
|
|
17
|
+
this.nlRemoveRecent = createEvent(this, "nlRemoveRecent", 7);
|
|
18
|
+
this.titlePage = 'Your profiles';
|
|
19
|
+
this.description = 'Switch between active profiles or choose a recent one for fast login.';
|
|
20
|
+
this.accounts = [];
|
|
21
|
+
this.recents = [];
|
|
22
|
+
}
|
|
23
|
+
handleGoToWelcome() {
|
|
24
|
+
state.path = [CURRENT_MODULE.WELCOME];
|
|
25
|
+
}
|
|
26
|
+
switchToWelcomeIfEmpty() {
|
|
27
|
+
if (!this.recents.length && !this.accounts.length) {
|
|
28
|
+
state.path = [CURRENT_MODULE.WELCOME];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
watchAccounts() {
|
|
32
|
+
this.switchToWelcomeIfEmpty();
|
|
33
|
+
}
|
|
34
|
+
watchRecents() {
|
|
35
|
+
this.switchToWelcomeIfEmpty();
|
|
36
|
+
}
|
|
37
|
+
handleRemoveRecent(user) {
|
|
38
|
+
this.nlRemoveRecent.emit(user);
|
|
39
|
+
}
|
|
40
|
+
handleSwitch(el) {
|
|
41
|
+
this.nlSwitchAccount.emit(el);
|
|
42
|
+
}
|
|
43
|
+
handleLoginRecentAccount(el) {
|
|
44
|
+
this.nlLoginRecentAccount.emit(el);
|
|
45
|
+
}
|
|
46
|
+
render() {
|
|
47
|
+
return (h(Fragment, { key: 'e657f6fd6b65431dba3d13f58465cac0689a2e69' }, h("div", { key: 'c5df6586dcb61f222189b5f60b41302559e5d72e', class: "p-4 pt-0 overflow-y-auto" }, h("h1", { key: '3ca8c2671d856ba0027ff9e00dd2d99e03c86399', class: "nl-title font-bold text-center text-4xl" }, this.titlePage), h("p", { key: '4311567ceffe7dfc5252dbdf01f63cd77c3fa286', class: "nl-description font-light text-center text-lg pt-2 max-w-96 mx-auto" }, this.description)), h("div", { key: 'acff92777ac47800785786d407e742251eefa86e', class: "p-4" }, Boolean(this.accounts.length) && (h("div", { key: '872e09469730ae7f11c09ecf44e1740eba7cc653', class: "max-w-96 mx-auto" }, h("p", { key: 'cfe6adfc05a3eabb84d8666cd3fa7f299e5d63cd', class: "nl-description font-medium text-sm pb-1.5" }, "Active profiles"), h("ul", { key: 'fbddaf19ac7a91dc6304c591e3aed686928103f3', class: "p-2 rounded-lg border border-blue-200 flex flex-col w-full gap-0.5" }, this.accounts.map(el => {
|
|
48
|
+
const isShowImg = Boolean(el === null || el === void 0 ? void 0 : el.picture);
|
|
49
|
+
const userName = el.name || el.nip05 || el.pubkey;
|
|
50
|
+
const isShowUserName = Boolean(userName);
|
|
51
|
+
return (h("li", { onClick: () => this.handleSwitch(el), class: "group hover:bg-gray-400 flex cursor-pointer gap-x-3.5 py-2 px-3 rounded-lg text-sm items-center justify-between" }, h("div", { class: "flex items-center gap-x-3.5 w-full" }, h("div", { class: "w-full max-w-7 h-7 flex relative" }, h("div", { class: "absolute top-[-2px] right-[-2px] bg-white border-2 border-white rounded-xl" }, h("div", { class: "active h-1.5 w-1.5 bg-green-500 rounded-xl" })), h("div", { class: "group-hover:border-blue-400 uppercase font-bold w-full h-full rounded-full border border-gray-400 flex justify-center items-center" }, isShowImg ? (h("img", { class: "w-full rounded-full", src: el.picture, alt: "Logo" })) : isShowUserName ? (userName[0]) : (h("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", class: "w-full" }, h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M17.982 18.725A7.488 7.488 0 0 0 12 15.75a7.488 7.488 0 0 0-5.982 2.975m11.963 0a9 9 0 1 0-11.963 0m11.963 0A8.966 8.966 0 0 1 12 21a8.966 8.966 0 0 1-5.982-2.275M15 9.75a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" }))))), h("div", { class: "overflow-hidden flex flex-col w-full" }, h("div", { class: "nl-title truncate overflow-hidden" }, userName), h("nl-login-status", { info: el })))));
|
|
52
|
+
})))), Boolean(this.recents.length) && (h("div", { key: '22000a98684c902ac175fdc0659ba0d7d9f38e3a', class: "max-w-96 mx-auto pt-5" }, h("p", { key: 'c647735b7da1b043a532af6f7270f0d63f130b6b', class: "nl-description font-medium text-sm pb-1.5" }, "Recent profiles"), h("ul", { key: '75664717dcc7736adbc8ad8c9c289b02f6cfb8ff', class: "p-2 rounded-lg border border-gray-200 flex flex-col w-full gap-0.5" }, this.recents.map(el => {
|
|
53
|
+
const isShowImg = Boolean(el === null || el === void 0 ? void 0 : el.picture);
|
|
54
|
+
const userName = el.name || el.nip05 || el.pubkey;
|
|
55
|
+
const isShowUserName = Boolean(userName);
|
|
56
|
+
return (h("li", { onClick: () => this.handleLoginRecentAccount(el), class: "flex items-center gap-x-3.5 w-full hover:bg-gray-400 flex cursor-pointer items-center gap-x-3.5 py-2 px-3 rounded-lg text-sm justify-between" }, h("div", { class: "w-full max-w-7 h-7 flex relative" }, h("div", { class: "absolute top-[-3px] right-[-3px] bg-white border border-white rounded-xl" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", class: "w-3 h-3" }, h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" }))), h("div", { class: "uppercase font-bold w-full h-full rounded-full border border-gray-400 flex justify-center items-center" }, isShowImg ? (h("img", { class: "w-full rounded-full", src: el.picture, alt: "Logo" })) : isShowUserName ? (userName[0]) : (h("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", class: "w-full" }, h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M17.982 18.725A7.488 7.488 0 0 0 12 15.75a7.488 7.488 0 0 0-5.982 2.975m11.963 0a9 9 0 1 0-11.963 0m11.963 0A8.966 8.966 0 0 1 12 21a8.966 8.966 0 0 1-5.982-2.275M15 9.75a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" }))))), h("div", { class: "overflow-hidden flex flex-col w-full" }, h("div", { class: "nl-title truncate overflow-hidden" }, userName), h("nl-login-status", { info: el })), h("svg", { onClick: e => {
|
|
57
|
+
e.stopPropagation();
|
|
58
|
+
this.handleRemoveRecent(el);
|
|
59
|
+
}, xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", class: "w-full max-w-6 h-6 text-red-500 hover:text-red-600 ml-auto" }, h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0" }))));
|
|
60
|
+
}))))), h("div", { key: 'f7fa311284b2c32b1aed89e50f15e83818a9778b', class: "p-4 overflow-y-auto" }, h("p", { key: '958a09a49bd97826fc1daee7a0d6c2f415784284', class: "nl-footer font-light text-center text-sm max-w-96 mx-auto" }, "You can also", ' ', h("span", { key: 'b315555950a4ce31d674d9d7b5159c87d7aa0744', onClick: () => this.handleGoToWelcome(), class: "cursor-pointer pb-3 text-blue-500" }, "add another profile")))));
|
|
61
|
+
}
|
|
62
|
+
static get watchers() { return {
|
|
63
|
+
"accounts": ["watchAccounts"],
|
|
64
|
+
"recents": ["watchRecents"]
|
|
65
|
+
}; }
|
|
66
|
+
static get style() { return NlPreviouslyLoggedStyle0; }
|
|
67
|
+
}, [0, "nl-previously-logged", {
|
|
68
|
+
"titlePage": [1, "title-page"],
|
|
69
|
+
"description": [1],
|
|
70
|
+
"accounts": [16],
|
|
71
|
+
"recents": [16]
|
|
72
|
+
}, undefined, {
|
|
73
|
+
"accounts": ["watchAccounts"],
|
|
74
|
+
"recents": ["watchRecents"]
|
|
75
|
+
}]);
|
|
76
|
+
function defineCustomElement() {
|
|
77
|
+
if (typeof customElements === "undefined") {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
const components = ["nl-previously-logged", "nl-login-status"];
|
|
81
|
+
components.forEach(tagName => { switch (tagName) {
|
|
82
|
+
case "nl-previously-logged":
|
|
83
|
+
if (!customElements.get(tagName)) {
|
|
84
|
+
customElements.define(tagName, NlPreviouslyLogged);
|
|
85
|
+
}
|
|
86
|
+
break;
|
|
87
|
+
case "nl-login-status":
|
|
88
|
+
if (!customElements.get(tagName)) {
|
|
89
|
+
defineCustomElement$1();
|
|
90
|
+
}
|
|
91
|
+
break;
|
|
92
|
+
} });
|
|
93
|
+
}
|
|
94
|
+
defineCustomElement();
|
|
95
|
+
|
|
96
|
+
export { NlPreviouslyLogged as N, defineCustomElement as d };
|
|
97
|
+
|
|
98
|
+
//# sourceMappingURL=nl-previously-logged2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"nl-previously-logged2.js","mappings":"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","names":[],"sources":["src/components/nl-previously-logged/nl-previously-logged.css?tag=nl-previously-logged","src/components/nl-previously-logged/nl-previously-logged.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n","import { Component, h, Fragment, Prop, Event, EventEmitter, Watch } from '@stencil/core';\nimport { CURRENT_MODULE, Info, RecentType } from '@/types';\nimport { state } from '@/store';\n\n@Component({\n tag: 'nl-previously-logged',\n styleUrl: 'nl-previously-logged.css',\n shadow: false,\n})\nexport class NlPreviouslyLogged {\n @Prop() titlePage = 'Your profiles';\n @Prop() description = 'Switch between active profiles or choose a recent one for fast login.';\n\n @Prop() accounts: Info[] = [];\n @Prop() recents: RecentType[] = [];\n\n @Event() nlSwitchAccount: EventEmitter<Info>;\n @Event() nlLoginRecentAccount: EventEmitter<RecentType>;\n @Event() nlRemoveRecent: EventEmitter<RecentType>;\n\n handleGoToWelcome() {\n state.path = [CURRENT_MODULE.WELCOME];\n }\n\n switchToWelcomeIfEmpty() {\n if (!this.recents.length && !this.accounts.length) {\n state.path = [CURRENT_MODULE.WELCOME];\n }\n }\n\n @Watch('accounts')\n watchAccounts() {\n this.switchToWelcomeIfEmpty();\n }\n\n @Watch('recents')\n watchRecents() {\n this.switchToWelcomeIfEmpty();\n }\n\n handleRemoveRecent(user: Info) {\n this.nlRemoveRecent.emit(user);\n }\n\n handleSwitch(el: Info) {\n this.nlSwitchAccount.emit(el);\n }\n\n handleLoginRecentAccount(el: RecentType) {\n this.nlLoginRecentAccount.emit(el);\n }\n\n render() {\n return (\n <Fragment>\n <div class=\"p-4 pt-0 overflow-y-auto\">\n <h1 class=\"nl-title font-bold text-center text-4xl\">{this.titlePage}</h1>\n <p class=\"nl-description font-light text-center text-lg pt-2 max-w-96 mx-auto\">{this.description}</p>\n </div>\n <div class=\"p-4\">\n {Boolean(this.accounts.length) && (\n <div class=\"max-w-96 mx-auto\">\n <p class=\"nl-description font-medium text-sm pb-1.5\">Active profiles</p>\n <ul class=\"p-2 rounded-lg border border-blue-200 flex flex-col w-full gap-0.5\">\n {this.accounts.map(el => {\n const isShowImg = Boolean(el?.picture);\n const userName = el.name || el.nip05 || el.pubkey;\n const isShowUserName = Boolean(userName);\n\n return (\n <li onClick={() => this.handleSwitch(el)} class=\"group hover:bg-gray-400 flex cursor-pointer gap-x-3.5 py-2 px-3 rounded-lg text-sm items-center justify-between\">\n <div class=\"flex items-center gap-x-3.5 w-full\">\n <div class=\"w-full max-w-7 h-7 flex relative\">\n <div class=\"absolute top-[-2px] right-[-2px] bg-white border-2 border-white rounded-xl\">\n <div class=\"active h-1.5 w-1.5 bg-green-500 rounded-xl\"></div>\n </div>\n <div class=\"group-hover:border-blue-400 uppercase font-bold w-full h-full rounded-full border border-gray-400 flex justify-center items-center\">\n {isShowImg ? (\n <img class=\"w-full rounded-full\" src={el.picture} alt=\"Logo\" />\n ) : isShowUserName ? (\n userName[0]\n ) : (\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"w-full\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M17.982 18.725A7.488 7.488 0 0 0 12 15.75a7.488 7.488 0 0 0-5.982 2.975m11.963 0a9 9 0 1 0-11.963 0m11.963 0A8.966 8.966 0 0 1 12 21a8.966 8.966 0 0 1-5.982-2.275M15 9.75a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"\n />\n </svg>\n )}\n </div>\n </div>\n\n <div class=\"overflow-hidden flex flex-col w-full\">\n <div class=\"nl-title truncate overflow-hidden\">{userName}</div>\n <nl-login-status info={el} />\n </div>\n </div>\n {/* <div class=\"w-full max-w-6\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"w-full hover:text-blue-600\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M8.25 9V5.25A2.25 2.25 0 0 1 10.5 3h6a2.25 2.25 0 0 1 2.25 2.25v13.5A2.25 2.25 0 0 1 16.5 21h-6a2.25 2.25 0 0 1-2.25-2.25V15M12 9l3 3m0 0-3 3m3-3H2.25\"\n />\n </svg>\n </div> */}\n </li>\n );\n })}\n </ul>\n </div>\n )}\n\n {Boolean(this.recents.length) && (\n <div class=\"max-w-96 mx-auto pt-5\">\n <p class=\"nl-description font-medium text-sm pb-1.5\">Recent profiles</p>\n <ul class=\"p-2 rounded-lg border border-gray-200 flex flex-col w-full gap-0.5\">\n {this.recents.map(el => {\n const isShowImg = Boolean(el?.picture);\n const userName = el.name || el.nip05 || el.pubkey;\n const isShowUserName = Boolean(userName);\n\n return (\n <li\n onClick={() => this.handleLoginRecentAccount(el)}\n class=\"flex items-center gap-x-3.5 w-full hover:bg-gray-400 flex cursor-pointer items-center gap-x-3.5 py-2 px-3 rounded-lg text-sm justify-between\"\n >\n <div class=\"w-full max-w-7 h-7 flex relative\">\n <div class=\"absolute top-[-3px] right-[-3px] bg-white border border-white rounded-xl\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"w-3 h-3\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z\" />\n </svg>\n </div>\n <div class=\"uppercase font-bold w-full h-full rounded-full border border-gray-400 flex justify-center items-center\">\n {isShowImg ? (\n <img class=\"w-full rounded-full\" src={el.picture} alt=\"Logo\" />\n ) : isShowUserName ? (\n userName[0]\n ) : (\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"w-full\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M17.982 18.725A7.488 7.488 0 0 0 12 15.75a7.488 7.488 0 0 0-5.982 2.975m11.963 0a9 9 0 1 0-11.963 0m11.963 0A8.966 8.966 0 0 1 12 21a8.966 8.966 0 0 1-5.982-2.275M15 9.75a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"\n />\n </svg>\n )}\n </div>\n </div>\n <div class=\"overflow-hidden flex flex-col w-full\">\n <div class=\"nl-title truncate overflow-hidden\">{userName}</div>\n <nl-login-status info={el} />\n </div>\n <svg\n onClick={e => {\n e.stopPropagation();\n this.handleRemoveRecent(el);\n }}\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n class=\"w-full max-w-6 h-6 text-red-500 hover:text-red-600 ml-auto\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0\"\n />\n </svg>\n </li>\n );\n })}\n </ul>\n </div>\n )}\n </div>\n <div class=\"p-4 overflow-y-auto\">\n <p class=\"nl-footer font-light text-center text-sm max-w-96 mx-auto\">\n You can also{' '}\n <span onClick={() => this.handleGoToWelcome()} class=\"cursor-pointer pb-3 text-blue-500\">\n add another profile\n </span>\n </p>\n </div>\n </Fragment>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface NlSelect extends Components.NlSelect, HTMLElement {}
|
|
4
|
+
export const NlSelect: {
|
|
5
|
+
prototype: NlSelect;
|
|
6
|
+
new (): NlSelect;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"nl-select.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
import { baseCss } from './css.js';
|
|
4
|
+
const nlSelectCss = baseCss;
|
|
5
|
+
|
|
6
|
+
const NlSelectStyle0 = nlSelectCss;
|
|
7
|
+
|
|
8
|
+
const NlSelect = /*@__PURE__*/ proxyCustomElement(class NlSelect extends HTMLElement {
|
|
9
|
+
constructor() {
|
|
10
|
+
super();
|
|
11
|
+
this.__registerHost();
|
|
12
|
+
this.selectDomain = createEvent(this, "selectDomain", 7);
|
|
13
|
+
this.isOpen = false;
|
|
14
|
+
this.value = null;
|
|
15
|
+
this.options = undefined;
|
|
16
|
+
this.selected = undefined;
|
|
17
|
+
this.mode = false;
|
|
18
|
+
this.darkMode = false;
|
|
19
|
+
this.themeState = 'default';
|
|
20
|
+
this.theme = 'default';
|
|
21
|
+
}
|
|
22
|
+
handleWindowClick() {
|
|
23
|
+
if (this.wrapperRef.querySelector('.listClass')) {
|
|
24
|
+
this.isOpen = false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
toggleDropdown() {
|
|
28
|
+
this.isOpen = !this.isOpen;
|
|
29
|
+
this.calculateDropdownPosition();
|
|
30
|
+
}
|
|
31
|
+
watchPropHandler(newValue) {
|
|
32
|
+
this.themeState = newValue;
|
|
33
|
+
}
|
|
34
|
+
watchModeHandler(newValue) {
|
|
35
|
+
this.mode = newValue;
|
|
36
|
+
}
|
|
37
|
+
connectedCallback() {
|
|
38
|
+
this.themeState = this.theme;
|
|
39
|
+
this.mode = this.darkMode;
|
|
40
|
+
this.value = this.options[this.selected];
|
|
41
|
+
this.selectDomain.emit(this.value.value);
|
|
42
|
+
}
|
|
43
|
+
calculateDropdownPosition() {
|
|
44
|
+
if (this.isOpen && this.buttonRef) {
|
|
45
|
+
const buttonRect = this.buttonRef.getBoundingClientRect();
|
|
46
|
+
this.ulRef.style.top = `${buttonRect.height}px`;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
handleChange(el) {
|
|
50
|
+
this.value = el;
|
|
51
|
+
this.isOpen = false;
|
|
52
|
+
this.selectDomain.emit(this.value.value);
|
|
53
|
+
}
|
|
54
|
+
render() {
|
|
55
|
+
const listClass = `${this.isOpen ? 'listClass' : 'hidden'} min-w-[15rem] nl-select-list absolute left-0 shadow-md rounded-lg p-2 mt-1 after:h-4 after:absolute after:-bottom-4 after:start-0 after:w-full before:h-4 before:absolute before:-top-4 before:start-0 before:w-full`;
|
|
56
|
+
const arrowClass = `${this.isOpen ? 'rotate-180' : 'rotate-0'} duration-300 flex-shrink-0 w-4 h-4 text-gray-500`;
|
|
57
|
+
return (h("div", { key: 'c86084c50712455e04682a4392e490bc0e20eb1d', class: `theme-${this.themeState}` }, h("div", { key: 'a90d9b4af52845a9971c39cec69c13493d511381', class: "relative", ref: el => (this.wrapperRef = el) }, h("button", { key: '1391137997bf8fcd0a5466cd9fa20c79b4ce27ba', ref: el => (this.buttonRef = el), onClick: () => this.toggleDropdown(), type: "button", class: "nl-select peer py-3 px-4 flex items-center w-full justify-between border-transparent rounded-lg text-sm disabled:opacity-50 disabled:pointer-events-none dark:border-transparent" }, h("span", { key: '224425ab92ba3599595924972e98a0fc9cb1a189', class: "truncate overflow-hidden" }, this.value.name), h("svg", { key: '8eb2a2b552cb9ea36fb1abc61d804efb423afda6', class: arrowClass, xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("path", { key: 'feea1a7f54f4a111b7bf01e3945445311b97ab82', d: "m6 9 6 6 6-6" }))), h("ul", { key: 'fca4982f04f4133d5c2a2f613a7e7d977dd5c241', ref: el => (this.ulRef = el), class: listClass }, this.options.map(el => {
|
|
58
|
+
return (h("li", { onClick: () => this.handleChange(el), class: "nl-select-option flex cursor-pointer items-center gap-x-3.5 py-2 px-3 rounded-lg text-sm" }, el.name));
|
|
59
|
+
})))));
|
|
60
|
+
}
|
|
61
|
+
get element() { return this; }
|
|
62
|
+
static get watchers() { return {
|
|
63
|
+
"theme": ["watchPropHandler"],
|
|
64
|
+
"darkMode": ["watchModeHandler"]
|
|
65
|
+
}; }
|
|
66
|
+
static get style() { return NlSelectStyle0; }
|
|
67
|
+
}, [0, "nl-select", {
|
|
68
|
+
"options": [16],
|
|
69
|
+
"selected": [2],
|
|
70
|
+
"darkMode": [4, "dark-mode"],
|
|
71
|
+
"theme": [1],
|
|
72
|
+
"isOpen": [32],
|
|
73
|
+
"value": [32],
|
|
74
|
+
"mode": [32],
|
|
75
|
+
"themeState": [32]
|
|
76
|
+
}, [[8, "click", "handleWindowClick"]], {
|
|
77
|
+
"theme": ["watchPropHandler"],
|
|
78
|
+
"darkMode": ["watchModeHandler"]
|
|
79
|
+
}]);
|
|
80
|
+
function defineCustomElement() {
|
|
81
|
+
if (typeof customElements === "undefined") {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const components = ["nl-select"];
|
|
85
|
+
components.forEach(tagName => { switch (tagName) {
|
|
86
|
+
case "nl-select":
|
|
87
|
+
if (!customElements.get(tagName)) {
|
|
88
|
+
customElements.define(tagName, NlSelect);
|
|
89
|
+
}
|
|
90
|
+
break;
|
|
91
|
+
} });
|
|
92
|
+
}
|
|
93
|
+
defineCustomElement();
|
|
94
|
+
|
|
95
|
+
export { NlSelect as N, defineCustomElement as d };
|
|
96
|
+
|
|
97
|
+
//# sourceMappingURL=nl-select2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"nl-select2.js","mappings":"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","names":[],"sources":["src/components/nl-select/nl-select.css?tag=nl-select","src/components/nl-select/nl-select.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, h, Listen, Prop, State, Watch, Element, Event, EventEmitter } from '@stencil/core';\n\nexport type OptionType = {\n name: string;\n value: string;\n};\n\n@Component({\n tag: 'nl-select',\n styleUrl: 'nl-select.css',\n shadow: false,\n})\nexport class NlSelect {\n @State() isOpen: boolean = false;\n @State() value: OptionType = null;\n @Prop() options: OptionType[];\n @Prop() selected: number;\n\n @Element() element: HTMLElement;\n\n @Event() selectDomain: EventEmitter<string>;\n\n buttonRef: HTMLButtonElement;\n ulRef: HTMLUListElement;\n wrapperRef: HTMLDivElement;\n\n @Listen('click', { target: 'window' })\n handleWindowClick() {\n if (this.wrapperRef.querySelector('.listClass')) {\n this.isOpen = false;\n }\n }\n\n toggleDropdown() {\n this.isOpen = !this.isOpen;\n this.calculateDropdownPosition();\n }\n\n @State() mode: boolean = false;\n @Prop() darkMode: boolean = false;\n @State() themeState: 'default' | 'ocean' | 'lemonade' | 'purple' = 'default';\n @Prop() theme: 'default' | 'ocean' | 'lemonade' | 'purple' = 'default';\n @Watch('theme')\n watchPropHandler(newValue: 'default' | 'ocean' | 'lemonade' | 'purple') {\n this.themeState = newValue;\n }\n\n @Watch('darkMode')\n watchModeHandler(newValue: boolean) {\n this.mode = newValue;\n }\n\n connectedCallback() {\n this.themeState = this.theme;\n this.mode = this.darkMode;\n\n this.value = this.options[this.selected];\n this.selectDomain.emit(this.value.value);\n }\n\n calculateDropdownPosition() {\n if (this.isOpen && this.buttonRef) {\n const buttonRect = this.buttonRef.getBoundingClientRect();\n this.ulRef.style.top = `${buttonRect.height}px`;\n }\n }\n\n handleChange(el: OptionType) {\n this.value = el;\n this.isOpen = false;\n\n this.selectDomain.emit(this.value.value);\n }\n\n render() {\n const listClass = `${this.isOpen ? 'listClass' : 'hidden'} min-w-[15rem] nl-select-list absolute left-0 shadow-md rounded-lg p-2 mt-1 after:h-4 after:absolute after:-bottom-4 after:start-0 after:w-full before:h-4 before:absolute before:-top-4 before:start-0 before:w-full`;\n const arrowClass = `${this.isOpen ? 'rotate-180' : 'rotate-0'} duration-300 flex-shrink-0 w-4 h-4 text-gray-500`;\n\n return (\n <div class={`theme-${this.themeState}`}>\n <div class=\"relative\" ref={el => (this.wrapperRef = el)}>\n <button\n ref={el => (this.buttonRef = el)}\n onClick={() => this.toggleDropdown()}\n type=\"button\"\n class=\"nl-select peer py-3 px-4 flex items-center w-full justify-between border-transparent rounded-lg text-sm disabled:opacity-50 disabled:pointer-events-none dark:border-transparent\"\n >\n <span class=\"truncate overflow-hidden\">{this.value.name}</span>\n <svg\n class={arrowClass}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n </button>\n\n <ul ref={el => (this.ulRef = el)} class={listClass}>\n {this.options.map(el => {\n return (\n <li onClick={() => this.handleChange(el)} class=\"nl-select-option flex cursor-pointer items-center gap-x-3.5 py-2 px-3 rounded-lg text-sm\">\n {el.name}\n </li>\n );\n })}\n </ul>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface NlSigninBunkerUrl extends Components.NlSigninBunkerUrl, HTMLElement {}
|
|
4
|
+
export const NlSigninBunkerUrl: {
|
|
5
|
+
prototype: NlSigninBunkerUrl;
|
|
6
|
+
new (): NlSigninBunkerUrl;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { N as NlSigninBunkerUrl$1, d as defineCustomElement$1 } from './nl-signin-bunker-url2.js';
|
|
2
|
+
|
|
3
|
+
const NlSigninBunkerUrl = NlSigninBunkerUrl$1;
|
|
4
|
+
const defineCustomElement = defineCustomElement$1;
|
|
5
|
+
|
|
6
|
+
export { NlSigninBunkerUrl, defineCustomElement };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=nl-signin-bunker-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"nl-signin-bunker-url.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|