@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,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface ButtonBase extends Components.ButtonBase, HTMLElement {}
|
|
4
|
+
export const ButtonBase: {
|
|
5
|
+
prototype: ButtonBase;
|
|
6
|
+
new (): ButtonBase;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"button-base.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
import { baseCss } from './css.js';
|
|
4
|
+
const buttonBaseCss = baseCss;
|
|
5
|
+
|
|
6
|
+
const ButtonBaseStyle0 = buttonBaseCss;
|
|
7
|
+
|
|
8
|
+
const ButtonBase = /*@__PURE__*/ proxyCustomElement(class ButtonBase extends HTMLElement {
|
|
9
|
+
constructor() {
|
|
10
|
+
super();
|
|
11
|
+
this.__registerHost();
|
|
12
|
+
this.theme = 'default';
|
|
13
|
+
this.darkMode = false;
|
|
14
|
+
this.titleBtn = 'Open modal';
|
|
15
|
+
this.disabled = false;
|
|
16
|
+
}
|
|
17
|
+
componentDidRender() {
|
|
18
|
+
const svgElement = this.element.querySelector('svg');
|
|
19
|
+
if (svgElement) {
|
|
20
|
+
svgElement.classList.add('flex-shrink-0', 'w-4', 'h-4', 'block');
|
|
21
|
+
svgElement.removeAttribute('style'); // hack frieze svg
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
render() {
|
|
25
|
+
return (h("div", { key: '1048576f0a9839c56cac030b1de7899b25b5f39e', class: `theme-${this.theme}` }, h("div", { key: 'ea29f74a1f7e4268802c6e4aaca5867dfd2e4c9b', class: "animate-spin-loading active" }), h("button", { key: '71f84d47b11aa3971818b686f8dddb74e0d36eb0', disabled: this.disabled, type: "button", class: "nl-button py-2.5 px-3 w-full inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-lg disabled:opacity-50 disabled:pointer-events-none dark:focus:outline-none dark:focus:ring-1 dark:focus:ring-gray-600" }, h("slot", { key: '91a91994e20dc10e3bbb2576e4214fa98533be8e', name: "icon-start" }), this.titleBtn)));
|
|
26
|
+
}
|
|
27
|
+
get element() { return this; }
|
|
28
|
+
static get style() { return ButtonBaseStyle0; }
|
|
29
|
+
}, [4, "button-base", {
|
|
30
|
+
"theme": [1025],
|
|
31
|
+
"darkMode": [1028, "dark-mode"],
|
|
32
|
+
"titleBtn": [1, "title-btn"],
|
|
33
|
+
"disabled": [4]
|
|
34
|
+
}]);
|
|
35
|
+
function defineCustomElement() {
|
|
36
|
+
if (typeof customElements === "undefined") {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const components = ["button-base"];
|
|
40
|
+
components.forEach(tagName => { switch (tagName) {
|
|
41
|
+
case "button-base":
|
|
42
|
+
if (!customElements.get(tagName)) {
|
|
43
|
+
customElements.define(tagName, ButtonBase);
|
|
44
|
+
}
|
|
45
|
+
break;
|
|
46
|
+
} });
|
|
47
|
+
}
|
|
48
|
+
defineCustomElement();
|
|
49
|
+
|
|
50
|
+
export { ButtonBase as B, defineCustomElement as d };
|
|
51
|
+
|
|
52
|
+
//# sourceMappingURL=button-base2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"button-base2.js","mappings":";;AAAA,MAAM,aAAa,GAAG,w53CAAw53C,CAAC;AAC/63C,yBAAe,aAAa;;MCQf,UAAU;;;;qBAEqB,SAAS;wBACN,KAAK;wBAC/B,YAAY;wBACZ,KAAK;;IAExB,kBAAkB;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACjE,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;SACrC;KACF;IAED,MAAM;QACJ,QACE,4DAAK,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,IAC/B,4DAAK,KAAK,EAAC,6BAA6B,GAAO,EAC/C,+DACE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,kOAAkO,IAExO,6DAAM,IAAI,EAAC,YAAY,GAAG,EACzB,IAAI,CAAC,QAAQ,CACP,CACL,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/button-base/button-base.css?tag=button-base","src/components/button-base/button-base.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.animate-spin-loading {\n background: var(--qa-dark-color);\n animation: spin2 1s linear infinite;\n}\n\n@keyframes spin2 {\n to {\n transform: rotate(360deg);\n }\n}\n\n.active {\n animation: blink 0.7s infinite alternate;\n}\n\n@keyframes blink {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n}","import { Component, h, Prop, Element } from '@stencil/core';\nimport { NlTheme } from '@/types';\nimport { IButton } from '@/types/button';\n\n@Component({\n tag: 'button-base',\n styleUrl: 'button-base.css',\n shadow: false,\n})\nexport class ButtonBase implements IButton {\n @Element() element: HTMLElement;\n @Prop({ mutable: true }) theme: NlTheme = 'default';\n @Prop({ mutable: true }) darkMode: boolean = false;\n @Prop() titleBtn = 'Open modal';\n @Prop() disabled = false;\n\n componentDidRender() {\n const svgElement = this.element.querySelector('svg');\n\n if (svgElement) {\n svgElement.classList.add('flex-shrink-0', 'w-4', 'h-4', 'block');\n svgElement.removeAttribute('style'); // hack frieze svg\n }\n }\n\n render() {\n return (\n <div class={`theme-${this.theme}`}>\n <div class=\"animate-spin-loading active\"></div>\n <button\n disabled={this.disabled}\n type=\"button\"\n class=\"nl-button py-2.5 px-3 w-full inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-lg disabled:opacity-50 disabled:pointer-events-none dark:focus:outline-none dark:focus:ring-1 dark:focus:ring-gray-600\"\n >\n <slot name=\"icon-start\" />\n {this.titleBtn}\n </button>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const baseCss = "/*! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com*/*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:\"\"}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;color:#6b7280;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{--tw-shadow:0 0 #0000;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E\");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;print-color-adjust:exact}[multiple],[size]:where(select:not([size=\"1\"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;print-color-adjust:unset}[type=checkbox],[type=radio]{--tw-shadow:0 0 #0000;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;print-color-adjust:exact;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E\")}@media (forced-colors:active){[type=checkbox]:checked{appearance:auto}}[type=radio]:checked{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E\")}@media (forced-colors:active){[type=radio]:checked{appearance:auto}}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E\");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}@media (forced-colors:active){[type=checkbox]:indeterminate{appearance:auto}}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}.block{display:block}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.theme-default .nl-bg{--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.theme-default .dark .nl-bg{--tw-bg-opacity:1;--tw-shadow-color:rgba(51,65,85,.7);--tw-shadow:var(--tw-shadow-colored);background-color:rgb(31 41 55/var(--tw-bg-opacity))}.theme-default .nl-description,.theme-default .nl-logo,.theme-default .nl-title{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.theme-default .dark .nl-description,.theme-default .dark .nl-logo,.theme-default .dark .nl-title{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.theme-default .nl-description a{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity));text-decoration-line:underline}.theme-default .dark .nl-description a{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity));text-decoration-line:underline}.theme-default .nl-action-button{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity));outline:2px solid transparent;outline-offset:2px}.theme-default .nl-action-button:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.theme-default .dark .nl-action-button{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));outline:2px solid transparent;outline-offset:2px}.theme-default .dark .nl-action-button:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.theme-default .nl-title{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.theme-default .dark .nl-title{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.theme-default .nl-button{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(229 231 235/var(--tw-border-opacity));border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(31 41 55/var(--tw-text-opacity))}.theme-default .nl-button:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.theme-default .dark .nl-button{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity));border-color:rgb(55 65 81/var(--tw-border-opacity));color:rgb(209 213 219/var(--tw-text-opacity))}.theme-default .dark .nl-button:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.theme-default .nl-divider{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.theme-default .nl-divider:before{border-top-width:1px}.theme-default .nl-divider:after,.theme-default .nl-divider:before{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity));content:var(--tw-content)}.theme-default .dark .nl-divider{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.theme-default .dark .nl-divider:after,.theme-default .dark .nl-divider:before{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity));content:var(--tw-content)}.theme-default .nl-footer{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.theme-default .dark .nl-footer{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.theme-default .nl-error{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.theme-default .dark .nl-error{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity))}.theme-default .nl-input{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.theme-default .nl-input:focus{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(168 85 247/var(--tw-ring-opacity));border-color:rgb(168 85 247/var(--tw-border-opacity))}.theme-default .dark .nl-input{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity));color:rgb(156 163 175/var(--tw-text-opacity))}.theme-default .dark .nl-input:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}.theme-default .nl-select{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.theme-default .nl-select:focus{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(168 85 247/var(--tw-ring-opacity));border-color:rgb(168 85 247/var(--tw-border-opacity))}.theme-default .dark .nl-select{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity));color:rgb(156 163 175/var(--tw-text-opacity))}.theme-default .dark .nl-select:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}.theme-default .nl-select-list{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.theme-default .dark .nl-select-list{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.theme-default .nl-select-option{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.theme-default .nl-select-option:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.theme-default .nl-select-option.active-option{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity));color:rgb(30 58 138/var(--tw-text-opacity))}.theme-default .dark .nl-select-option{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.theme-default .dark .nl-select-option:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity));color:rgb(209 213 219/var(--tw-text-opacity))}.theme-default .nl-text-error{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.theme-default .nl-text-success{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity))}.theme-default .nl-banner{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(229 231 235/var(--tw-border-opacity));border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(31 41 55/var(--tw-text-opacity))}.theme-default .dark .nl-banner{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity));border-color:rgb(55 65 81/var(--tw-border-opacity));color:rgb(209 213 219/var(--tw-text-opacity))}.theme-ocean .nl-bg{--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(191 219 254/var(--tw-bg-opacity));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.theme-ocean .dark .nl-bg{--tw-bg-opacity:1;--tw-shadow-color:rgba(51,65,85,.7);--tw-shadow:var(--tw-shadow-colored);background-color:rgb(8 47 73/var(--tw-bg-opacity))}.theme-ocean .nl-description,.theme-ocean .nl-logo,.theme-ocean .nl-title{--tw-text-opacity:1;color:rgb(8 47 73/var(--tw-text-opacity))}.theme-ocean .dark .nl-description,.theme-ocean .dark .nl-logo,.theme-ocean .dark .nl-title{--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity))}.theme-ocean .nl-action-button{--tw-text-opacity:1;color:rgb(8 47 73/var(--tw-text-opacity));outline:2px solid transparent;outline-offset:2px}.theme-ocean .nl-action-button:hover{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity))}.theme-ocean .dark .nl-action-button{--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity));outline:2px solid transparent;outline-offset:2px}.theme-ocean .dark .nl-action-button:hover{--tw-bg-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity))}.theme-ocean .nl-button{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(224 242 254/var(--tw-bg-opacity));border-color:rgb(186 230 253/var(--tw-border-opacity));border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(8 47 73/var(--tw-text-opacity))}.theme-ocean .nl-button:hover{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity))}.theme-ocean .dark .nl-button{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(7 89 133/var(--tw-bg-opacity));border-color:rgb(8 47 73/var(--tw-border-opacity));color:rgb(186 230 253/var(--tw-text-opacity))}.theme-ocean .dark .nl-button:hover{--tw-bg-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity))}.theme-ocean .nl-divider{--tw-text-opacity:1;color:rgb(8 47 73/var(--tw-text-opacity))}.theme-ocean .nl-divider:after,.theme-ocean .nl-divider:before{--tw-border-opacity:1;border-color:rgb(8 47 73/var(--tw-border-opacity));content:var(--tw-content)}.theme-ocean .dark .nl-divider{--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity))}.theme-ocean .dark .nl-divider:after,.theme-ocean .dark .nl-divider:before{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity));content:var(--tw-content)}.theme-ocean .nl-footer{--tw-text-opacity:1;color:rgb(8 47 73/var(--tw-text-opacity))}.theme-ocean .dark .nl-footer{--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity))}.theme-ocean .nl-error{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.theme-ocean .dark .nl-error{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity))}.theme-ocean .nl-input{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity))}.theme-ocean .nl-input:focus{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity));border-color:rgb(14 165 233/var(--tw-border-opacity))}.theme-ocean .dark .nl-input{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity));color:rgb(56 189 248/var(--tw-text-opacity))}.theme-ocean .dark .nl-input:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(2 132 199/var(--tw-ring-opacity))}.theme-ocean .nl-select{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity))}.theme-ocean .nl-select:focus{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity));border-color:rgb(14 165 233/var(--tw-border-opacity))}.theme-ocean .dark .nl-select{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity));color:rgb(56 189 248/var(--tw-text-opacity))}.theme-ocean .dark .nl-select:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(2 132 199/var(--tw-ring-opacity))}.theme-ocean .nl-select-list{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity))}.theme-ocean .dark .nl-select-list{--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity))}.theme-ocean .nl-select-option{--tw-text-opacity:1;color:rgb(7 89 133/var(--tw-text-opacity))}.theme-ocean .nl-select-option:hover{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity))}.theme-ocean .dark .nl-select-option{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity))}.theme-ocean .dark .nl-select-option:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(7 89 133/var(--tw-bg-opacity));color:rgb(125 211 252/var(--tw-text-opacity))}.theme-ocean .nl-text-error{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.theme-ocean .dark .nl-text-error{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.theme-ocean .nl-text-success{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity))}.theme-ocean .dark .nl-text-success{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity))}.theme-lemonade .nl-bg{--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(187 247 208/var(--tw-bg-opacity));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.theme-lemonade .dark .nl-bg{--tw-bg-opacity:1;--tw-shadow-color:rgba(51,65,85,.7);--tw-shadow:var(--tw-shadow-colored);background-color:rgb(5 46 22/var(--tw-bg-opacity))}.theme-lemonade .nl-description,.theme-lemonade .nl-logo,.theme-lemonade .nl-title{--tw-text-opacity:1;color:rgb(5 46 22/var(--tw-text-opacity))}.theme-lemonade .dark .nl-description,.theme-lemonade .dark .nl-logo,.theme-lemonade .dark .nl-title{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity))}.theme-lemonade .nl-action-button{--tw-text-opacity:1;color:rgb(5 46 22/var(--tw-text-opacity));outline:2px solid transparent;outline-offset:2px}.theme-lemonade .nl-action-button:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.theme-lemonade .dark .nl-action-button{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity));outline:2px solid transparent;outline-offset:2px}.theme-lemonade .dark .nl-action-button:hover{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity))}.theme-lemonade .nl-button{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(220 252 231/var(--tw-bg-opacity));border-color:rgb(187 247 208/var(--tw-border-opacity));border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(5 46 22/var(--tw-text-opacity))}.theme-lemonade .nl-button:hover{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity))}.theme-lemonade .dark .nl-button{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity));border-color:rgb(5 46 22/var(--tw-border-opacity));color:rgb(187 247 208/var(--tw-text-opacity))}.theme-lemonade .dark .nl-button:hover{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity))}.theme-lemonade .nl-divider{--tw-text-opacity:1;color:rgb(5 46 22/var(--tw-text-opacity))}.theme-lemonade .nl-divider:after,.theme-lemonade .nl-divider:before{--tw-border-opacity:1;border-color:rgb(5 46 22/var(--tw-border-opacity));content:var(--tw-content)}.theme-lemonade .dark .nl-divider{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity))}.theme-lemonade .dark .nl-divider:after,.theme-lemonade .dark .nl-divider:before{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity));content:var(--tw-content)}.theme-lemonade .nl-footer{--tw-text-opacity:1;color:rgb(5 46 22/var(--tw-text-opacity))}.theme-lemonade .dark .nl-footer{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity))}.theme-lemonade .nl-error{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.theme-lemonade .dark .nl-error{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity))}.theme-lemonade .nl-input{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.theme-lemonade .nl-input:focus{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity));border-color:rgb(34 197 94/var(--tw-border-opacity))}.theme-lemonade .dark .nl-input{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity));color:rgb(74 222 128/var(--tw-text-opacity))}.theme-lemonade .dark .nl-input:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(22 163 74/var(--tw-ring-opacity))}.theme-lemonade .nl-select{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.theme-lemonade .nl-select:focus{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity));border-color:rgb(34 197 94/var(--tw-border-opacity))}.theme-lemonade .dark .nl-select{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity));color:rgb(74 222 128/var(--tw-text-opacity))}.theme-lemonade .dark .nl-select:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(22 163 74/var(--tw-ring-opacity))}.theme-lemonade .nl-select-list{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.theme-lemonade .dark .nl-select-list{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity))}.theme-lemonade .nl-select-option{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.theme-lemonade .nl-select-option:hover{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.theme-lemonade .dark .nl-select-option{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.theme-lemonade .dark .nl-select-option:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity));color:rgb(134 239 172/var(--tw-text-opacity))}.theme-lemonade .nl-text-error{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.theme-lemonade .dark .nl-text-error{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.theme-lemonade .nl-text-success{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity))}.theme-lemonade .dark .nl-text-success{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity))}.theme-purple .nl-bg{--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(233 213 255/var(--tw-bg-opacity));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.theme-purple .dark .nl-bg{--tw-bg-opacity:1;--tw-shadow-color:rgba(51,65,85,.7);--tw-shadow:var(--tw-shadow-colored);background-color:rgb(59 7 100/var(--tw-bg-opacity))}.theme-purple .nl-description,.theme-purple .nl-logo,.theme-purple .nl-title{--tw-text-opacity:1;color:rgb(59 7 100/var(--tw-text-opacity))}.theme-purple .dark .nl-description,.theme-purple .dark .nl-logo,.theme-purple .dark .nl-title{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity))}.theme-purple .nl-action-button{--tw-text-opacity:1;color:rgb(59 7 100/var(--tw-text-opacity));outline:2px solid transparent;outline-offset:2px}.theme-purple .nl-action-button:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.theme-purple .dark .nl-action-button{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity));outline:2px solid transparent;outline-offset:2px}.theme-purple .dark .nl-action-button:hover{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity))}.theme-purple .nl-button{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(243 232 255/var(--tw-bg-opacity));border-color:rgb(233 213 255/var(--tw-border-opacity));border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(59 7 100/var(--tw-text-opacity))}.theme-purple .nl-button:hover{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity))}.theme-purple .dark .nl-button{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(107 33 168/var(--tw-bg-opacity));border-color:rgb(59 7 100/var(--tw-border-opacity));color:rgb(233 213 255/var(--tw-text-opacity))}.theme-purple .dark .nl-button:hover{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity))}.theme-purple .nl-divider{--tw-text-opacity:1;color:rgb(59 7 100/var(--tw-text-opacity))}.theme-purple .nl-divider:after,.theme-purple .nl-divider:before{--tw-border-opacity:1;border-color:rgb(59 7 100/var(--tw-border-opacity));content:var(--tw-content)}.theme-purple .dark .nl-divider{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity))}.theme-purple .dark .nl-divider:after,.theme-purple .dark .nl-divider:before{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity));content:var(--tw-content)}.theme-purple .nl-footer{--tw-text-opacity:1;color:rgb(59 7 100/var(--tw-text-opacity))}.theme-purple .dark .nl-footer{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity))}.theme-purple .nl-error{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.theme-purple .dark .nl-error{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity))}.theme-purple .nl-input{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.theme-purple .nl-input:focus{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(168 85 247/var(--tw-ring-opacity));border-color:rgb(168 85 247/var(--tw-border-opacity))}.theme-purple .dark .nl-input{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity));color:rgb(192 132 252/var(--tw-text-opacity))}.theme-purple .dark .nl-input:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(147 51 234/var(--tw-ring-opacity))}.theme-purple .nl-select{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.theme-purple .nl-select:focus{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(168 85 247/var(--tw-ring-opacity));border-color:rgb(168 85 247/var(--tw-border-opacity))}.theme-purple .dark .nl-select{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity));color:rgb(192 132 252/var(--tw-text-opacity))}.theme-purple .dark .nl-select:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(147 51 234/var(--tw-ring-opacity))}.theme-purple .nl-select-list{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.theme-purple .dark .nl-select-list{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity))}.theme-purple .nl-select-option{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.theme-purple .nl-select-option:hover{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.theme-purple .dark .nl-select-option{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity))}.theme-purple .dark .nl-select-option:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(107 33 168/var(--tw-bg-opacity));color:rgb(216 180 254/var(--tw-text-opacity))}.theme-purple .nl-text-error{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.theme-purple .dark .nl-text-error{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.theme-purple .nl-text-success{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity))}.theme-purple .dark .nl-text-success{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity))}.theme-crab .nl-button{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(254 226 226/var(--tw-bg-opacity));border-color:rgb(254 202 202/var(--tw-border-opacity));border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(69 10 10/var(--tw-text-opacity))}.theme-crab .nl-button:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.theme-crab .dark .nl-button{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity));border-color:rgb(69 10 10/var(--tw-border-opacity));color:rgb(254 202 202/var(--tw-text-opacity))}.theme-crab .dark .nl-button:hover{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity))}.show-slow{display:none;opacity:0;transition:.1s}.isOpen .show-slow{display:block;opacity:1;transition:.2s;transition-delay:.2s}:host{display:block}.animate-spin-loading{animation:spin2 1s linear infinite;background:var(--qa-dark-color)}@keyframes spin2{to{transform:rotate(1turn)}}.active{animation:blink .7s infinite alternate}@keyframes blink{0%{opacity:1}to{opacity:0}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.left-0{left:0}.start-0{inset-inline-start:0}.top-0{top:0}.z-\\[80\\]{z-index:80}.z-\\[81\\]{z-index:81}.mx-auto{margin-left:auto;margin-right:auto}.flex{display:flex}.h-5{height:20px}.h-7{height:28px}.h-full{height:100%}.w-5{width:20px}.w-7{width:28px}.w-full{width:100%}.max-w-96{max-width:384px}.flex-shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-transparent{border-color:transparent}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity:0.75}.p-4{padding:16px}.px-4{padding-left:16px;padding-right:16px}.py-3{padding-bottom:12px}.pt-3,.py-3{padding-top:12px}.text-center{text-align:center}.text-base{font-size:16px;line-height:24px}.text-sm{font-size:14px;line-height:20px}.font-bold{font-weight:700}.font-light{font-weight:300}.font-semibold{font-weight:600}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity))}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\\:focus\\:outline-none:focus:is(.dark *){outline:2px solid transparent;outline-offset:2px}.dark\\:focus\\:ring-1:focus:is(.dark *){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.dark\\:focus\\:ring-gray-600:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}@media (min-width:640px){.sm\\:mx-auto{margin-left:auto;margin-right:auto}.sm\\:w-full{width:100%}.sm\\:max-w-lg{max-width:512px}}.mt-0{margin-top:0}.mt-3{margin-top:12px}.inline-flex{display:inline-flex}.h-4{height:16px}.max-h-0{max-height:0}.max-h-\\[500px\\]{max-height:500px}.w-4{width:16px}.max-w-52{max-width:208px}.max-w-7{max-width:28px}.rotate-0{--tw-rotate:0deg}.rotate-0,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.gap-0\\.5{gap:2px}.gap-3{gap:12px}.gap-x-3\\.5{column-gap:14px}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap}.rounded-lg{border-radius:.5rem}.border-b-\\[1px\\]{border-bottom-width:1px}.border-dashed{border-style:dashed}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.p-2{padding:8px}.px-3{padding-left:12px;padding-right:12px}.py-2{padding-bottom:8px;padding-top:8px}.pb-1{padding-bottom:4px}.pb-1\\.5{padding-bottom:6px}.pb-5{padding-bottom:20px}.pe-4{padding-inline-end:16px}.ps-4{padding-inline-start:16px}.pt-5{padding-top:20px}.text-3xl{font-size:30px;line-height:36px}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.decoration-dashed{text-decoration-style:dashed}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.duration-300{transition-duration:.3s}.duration-\\[0\\.25s\\]{transition-duration:.25s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.hover\\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:opacity-50:disabled{opacity:.5}.dark\\:border-transparent:is(.dark *){border-color:transparent}.ml-auto,.mx-auto{margin-left:auto}.mr-auto{margin-right:auto}.w-60{width:240px}.pt-2{padding-top:8px}.text-4xl{font-size:36px;line-height:40px}.text-lg{font-size:18px;line-height:28px}.right-\\[-2px\\]{right:-2px}.right-\\[-3px\\]{right:-3px}.top-\\[-2px\\]{top:-2px}.top-\\[-3px\\]{top:-3px}.h-1\\.5{height:6px}.h-3{height:12px}.h-6{height:24px}.w-1\\.5{width:6px}.w-3{width:12px}.max-w-6{max-width:24px}.border-2{border-width:2px}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.pb-3{padding-bottom:12px}.pt-0{padding-top:0}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.hover\\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.hover\\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.group:hover .group-hover\\:border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity))}.mb-10{margin-bottom:40px}.ml-auto{margin-left:auto}.mt-10{margin-top:40px}.inline-block{display:inline-block}.h-20{height:80px}.w-20{width:80px}.border-\\[4px\\]{border-width:4px}.border-current{border-color:currentColor}.border-t-transparent{border-top-color:transparent}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}.dark\\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mt-6{margin-top:24px}.h-12{height:48px}.w-12{width:48px}.flex-1{flex:1 1 0%}.rounded{border-radius:.25rem}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.pt-2,.py-2{padding-top:8px}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-xs{font-size:12px;line-height:16px}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.hover\\:opacity-70:hover{opacity:.7}.dark\\:border-blue-400:is(.dark *){--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity))}.dark\\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.dark\\:bg-blue-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity))}.dark\\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.dark\\:text-green-200:is(.dark *){--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity))}.dark\\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.w-72{width:288px}.pointer-events-none{pointer-events:none}.inset-y-0{bottom:0;top:0}.max-w-72{max-width:288px}.border-\\[3px\\]{border-width:3px}.ps-11{padding-inline-start:44px}.text-2xl{font-size:24px;line-height:32px}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.peer:disabled~.peer-disabled\\:pointer-events-none{pointer-events:none}.peer:disabled~.peer-disabled\\:opacity-50{opacity:.5}.mb-0\\.5{margin-bottom:2px}.mb-5{margin-bottom:20px}.mt-1{margin-top:4px}.hidden{display:none}.min-w-\\[15rem\\]{min-width:15rem}.overflow-hidden,.truncate{overflow:hidden}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:-top-4:before{content:var(--tw-content);top:-16px}.before\\:start-0:before{content:var(--tw-content);inset-inline-start:0}.before\\:h-4:before{content:var(--tw-content);height:16px}.before\\:w-full:before{content:var(--tw-content);width:100%}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:-bottom-4:after{bottom:-16px;content:var(--tw-content)}.after\\:start-0:after{content:var(--tw-content);inset-inline-start:0}.after\\:h-4:after{content:var(--tw-content);height:16px}.after\\:w-full:after{content:var(--tw-content);width:100%}.pb-2{padding-bottom:8px}.w-auto{width:auto}.border-orange-300{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity))}.border-teal-300{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity))}.border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-teal-100{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.px-1{padding-left:4px;padding-right:4px}.text-\\[10px\\]{font-size:10px}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity))}.end-0{inset-inline-end:0}.h-\\[20px\\]{height:20px}.w-\\[20px\\]{width:20px}.border-\\[2px\\]{border-width:2px}.pe-11{padding-inline-end:44px}.right-0{right:0}.right-2{right:8px}.top-2{top:8px}.top-52{top:208px}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.m-auto{margin:auto}.ml-0{margin-left:0}.ml-\\[2px\\]{margin-left:2px}.mr-0{margin-right:0}.mr-2{margin-right:8px}.mr-3\\.5{margin-right:14px}.mt-2{margin-top:8px}.grid{display:grid}.h-0{height:0}.h-8{height:32px}.h-\\[46px\\]{height:46px}.h-auto{height:auto}.w-0{width:0}.w-16{width:64px}.w-52{width:208px}.w-6{width:24px}.w-8{width:32px}.w-\\[48px\\]{width:48px}.min-w-40{min-width:160px}.max-w-40{max-width:160px}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.place-items-center{place-items:center}.gap-x-2{column-gap:8px}.text-nowrap{text-wrap:nowrap}.rounded-r-lg{border-bottom-right-radius:.5rem;border-top-right-radius:.5rem}.rounded-r-none{border-bottom-right-radius:0;border-top-right-radius:0}.border-\\[0px\\]{border-width:0}.p-3{padding:12px}.px-2{padding-left:8px;padding-right:8px}.py-2\\.5{padding-bottom:10px;padding-top:10px}.pl-\\[11px\\]{padding-left:11px}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.opacity-0{opacity:0}.transition-all{transition-duration:.15s;transition-property:all}.ease-in-out,.transition-all{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\\:right-2:hover{right:8px}.hover\\:rounded-r-lg:hover{border-bottom-right-radius:.5rem;border-top-right-radius:.5rem}.border-t-\\[1px\\]{border-top-width:1px}.first\\:border-none:first-child{border-style:none}.first\\:pt-0:first-child{padding-top:0}";
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the base path to where the assets can be found. Use "setAssetPath(path)"
|
|
3
|
+
* if the path needs to be customized.
|
|
4
|
+
*/
|
|
5
|
+
export declare const getAssetPath: (path: string) => string;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Used to manually set the base path where assets can be found.
|
|
9
|
+
* If the script is used as "module", it's recommended to use "import.meta.url",
|
|
10
|
+
* such as "setAssetPath(import.meta.url)". Other options include
|
|
11
|
+
* "setAssetPath(document.currentScript.src)", or using a bundler's replace plugin to
|
|
12
|
+
* dynamically set the path at build time, such as "setAssetPath(process.env.ASSET_PATH)".
|
|
13
|
+
* But do note that this configuration depends on how your script is bundled, or lack of
|
|
14
|
+
* bundling, and where your assets can be loaded from. Additionally custom bundling
|
|
15
|
+
* will have to ensure the static assets are copied to its build directory.
|
|
16
|
+
*/
|
|
17
|
+
export declare const setAssetPath: (path: string) => void;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Used to specify a nonce value that corresponds with an application's CSP.
|
|
21
|
+
* When set, the nonce will be added to all dynamically created script and style tags at runtime.
|
|
22
|
+
* Alternatively, the nonce value can be set on a meta tag in the DOM head
|
|
23
|
+
* (<meta name="csp-nonce" content="{ nonce value here }" />) which
|
|
24
|
+
* will result in the same behavior.
|
|
25
|
+
*/
|
|
26
|
+
export declare const setNonce: (nonce: string) => void
|
|
27
|
+
|
|
28
|
+
export interface SetPlatformOptions {
|
|
29
|
+
raf?: (c: FrameRequestCallback) => number;
|
|
30
|
+
ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
|
|
31
|
+
rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
|
|
32
|
+
}
|
|
33
|
+
export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export { getAssetPath, setAssetPath, setNonce, setPlatformOptions } from '@stencil/core/internal/client';
|
|
2
|
+
export { N as NlAuth } from './nl-auth2.js';
|
|
3
|
+
export { N as NlButton } from './nl-button2.js';
|
|
4
|
+
export { N as NlBanner } from './nl-banner2.js';
|
|
5
|
+
export { B as ButtonBase } from './button-base2.js';
|
|
6
|
+
|
|
7
|
+
var CURRENT_MODULE;
|
|
8
|
+
(function (CURRENT_MODULE) {
|
|
9
|
+
CURRENT_MODULE["WELCOME"] = "welcome";
|
|
10
|
+
CURRENT_MODULE["WELCOME_LOGIN"] = "welcome-login";
|
|
11
|
+
CURRENT_MODULE["WELCOME_SIGNUP"] = "welcome-signup";
|
|
12
|
+
CURRENT_MODULE["INFO"] = "info";
|
|
13
|
+
CURRENT_MODULE["LOGIN_BUNKER_URL"] = "login-bunker-url";
|
|
14
|
+
CURRENT_MODULE["LOGIN_READ_ONLY"] = "login-read-only";
|
|
15
|
+
CURRENT_MODULE["CONFIRM_LOGOUT"] = "confirm-logout";
|
|
16
|
+
CURRENT_MODULE["IMPORT_FLOW"] = "import";
|
|
17
|
+
CURRENT_MODULE["IMPORT_OTP"] = "import-otp";
|
|
18
|
+
CURRENT_MODULE["LOGIN"] = "login";
|
|
19
|
+
CURRENT_MODULE["SIGNUP"] = "signup";
|
|
20
|
+
CURRENT_MODULE["LOCAL_SIGNUP"] = "local-signup";
|
|
21
|
+
CURRENT_MODULE["EXTENSION"] = "extension";
|
|
22
|
+
CURRENT_MODULE["LOADING"] = "loading";
|
|
23
|
+
CURRENT_MODULE["PREVIOUSLY_LOGGED"] = "switch-account";
|
|
24
|
+
CURRENT_MODULE["LOGIN_OTP"] = "otp";
|
|
25
|
+
CURRENT_MODULE["CONNECT"] = "connect";
|
|
26
|
+
CURRENT_MODULE["CONNECTION_STRING"] = "connection-string";
|
|
27
|
+
CURRENT_MODULE["IFRAME"] = "iframe";
|
|
28
|
+
})(CURRENT_MODULE || (CURRENT_MODULE = {}));
|
|
29
|
+
var METHOD_MODULE;
|
|
30
|
+
(function (METHOD_MODULE) {
|
|
31
|
+
METHOD_MODULE["LOGIN"] = "login";
|
|
32
|
+
METHOD_MODULE["SIGNUP"] = "signup";
|
|
33
|
+
METHOD_MODULE["LOGOUT"] = "logout";
|
|
34
|
+
METHOD_MODULE["CONFIRM"] = "confirm";
|
|
35
|
+
})(METHOD_MODULE || (METHOD_MODULE = {}));
|
|
36
|
+
|
|
37
|
+
export { CURRENT_MODULE, METHOD_MODULE };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"index.js","mappings":";;;;;;IAAY;AAAZ,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,iDAA+B,CAAA;IAC/B,mDAAiC,CAAA;IACjC,+BAAa,CAAA;IACb,uDAAqC,CAAA;IACrC,qDAAmC,CAAA;IACnC,mDAAiC,CAAA;IACjC,wCAAsB,CAAA;IACtB,2CAAyB,CAAA;IACzB,iCAAe,CAAA;IACf,mCAAiB,CAAA;IACjB,+CAA6B,CAAA;IAC7B,yCAAuB,CAAA;IACvB,qCAAmB,CAAA;IACnB,sDAAoC,CAAA;IACpC,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,yDAAuC,CAAA;IACvC,mCAAiB,CAAA;AACnB,CAAC,EApBW,cAAc,KAAd,cAAc,QAoBzB;IAEW;AAAZ,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;AACrB,CAAC,EALW,aAAa,KAAb,aAAa;;;;","names":[],"sources":["src/types/index.ts"],"sourcesContent":["export enum CURRENT_MODULE {\n WELCOME = 'welcome',\n WELCOME_LOGIN = 'welcome-login',\n WELCOME_SIGNUP = 'welcome-signup',\n INFO = 'info',\n LOGIN_BUNKER_URL = 'login-bunker-url',\n LOGIN_READ_ONLY = 'login-read-only',\n CONFIRM_LOGOUT = 'confirm-logout',\n IMPORT_FLOW = 'import',\n IMPORT_OTP = 'import-otp',\n LOGIN = 'login',\n SIGNUP = 'signup',\n LOCAL_SIGNUP = 'local-signup',\n EXTENSION = 'extension',\n LOADING = 'loading',\n PREVIOUSLY_LOGGED = 'switch-account',\n LOGIN_OTP = 'otp',\n CONNECT = 'connect',\n CONNECTION_STRING = 'connection-string',\n IFRAME = 'iframe',\n}\n\nexport enum METHOD_MODULE {\n LOGIN = 'login',\n SIGNUP = 'signup',\n LOGOUT = 'logout',\n CONFIRM = 'confirm',\n}\n\nexport type AuthMethod = 'connect' | 'readOnly' | 'extension' | 'local' | 'otp';\n\nexport interface Info {\n // must be present\n pubkey: string;\n\n // new nip46\n signerPubkey?: string;\n\n // connect or local methods\n sk?: string;\n\n // connect method only\n relays?: string[];\n\n // connect/readOnly\n nip05?: string;\n domain?: string;\n\n // connect w/ bunkerUrl\n bunkerUrl?: string;\n\n // from kind:0 profile\n picture?: string;\n name?: string;\n\n // nip46 bunker URL secret\n token?: string;\n\n // session type\n authMethod: AuthMethod;\n\n // what otp auth reply returned,\n // may be empty if cookies are used, or may contain session\n // token to be used for future api calls\n otpData?: string;\n\n // for iframe comms\n iframeUrl?: string;\n}\n\nexport type RecentType = Pick<Info, 'nip05' | 'picture' | 'pubkey' | 'name' | 'bunkerUrl' | 'authMethod' | 'domain' | 'signerPubkey'>;\n\nexport type NlTheme = 'default' | 'ocean' | 'lemonade' | 'purple' | 'crab';\n\nexport interface ConnectionString {\n name: string;\n img: string;\n link: string;\n relays: string[];\n domain?: string;\n canImport?: boolean;\n iframeUrl?: string;\n}\n\nexport type BannerNotifyMode = '' | 'timeout' | 'authUrl' | 'iframeAuthUrl' | 'rebind';\n\nexport interface BannerNotify {\n mode: BannerNotifyMode;\n url?: string;\n}\n"],"version":3}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
var CURRENT_MODULE;
|
|
2
|
+
(function (CURRENT_MODULE) {
|
|
3
|
+
CURRENT_MODULE["WELCOME"] = "welcome";
|
|
4
|
+
CURRENT_MODULE["WELCOME_LOGIN"] = "welcome-login";
|
|
5
|
+
CURRENT_MODULE["WELCOME_SIGNUP"] = "welcome-signup";
|
|
6
|
+
CURRENT_MODULE["INFO"] = "info";
|
|
7
|
+
CURRENT_MODULE["LOGIN_BUNKER_URL"] = "login-bunker-url";
|
|
8
|
+
CURRENT_MODULE["LOGIN_READ_ONLY"] = "login-read-only";
|
|
9
|
+
CURRENT_MODULE["CONFIRM_LOGOUT"] = "confirm-logout";
|
|
10
|
+
CURRENT_MODULE["IMPORT_FLOW"] = "import";
|
|
11
|
+
CURRENT_MODULE["IMPORT_OTP"] = "import-otp";
|
|
12
|
+
CURRENT_MODULE["LOGIN"] = "login";
|
|
13
|
+
CURRENT_MODULE["SIGNUP"] = "signup";
|
|
14
|
+
CURRENT_MODULE["LOCAL_SIGNUP"] = "local-signup";
|
|
15
|
+
CURRENT_MODULE["EXTENSION"] = "extension";
|
|
16
|
+
CURRENT_MODULE["LOADING"] = "loading";
|
|
17
|
+
CURRENT_MODULE["PREVIOUSLY_LOGGED"] = "switch-account";
|
|
18
|
+
CURRENT_MODULE["LOGIN_OTP"] = "otp";
|
|
19
|
+
CURRENT_MODULE["CONNECT"] = "connect";
|
|
20
|
+
CURRENT_MODULE["CONNECTION_STRING"] = "connection-string";
|
|
21
|
+
CURRENT_MODULE["IFRAME"] = "iframe";
|
|
22
|
+
})(CURRENT_MODULE || (CURRENT_MODULE = {}));
|
|
23
|
+
var METHOD_MODULE;
|
|
24
|
+
(function (METHOD_MODULE) {
|
|
25
|
+
METHOD_MODULE["LOGIN"] = "login";
|
|
26
|
+
METHOD_MODULE["SIGNUP"] = "signup";
|
|
27
|
+
METHOD_MODULE["LOGOUT"] = "logout";
|
|
28
|
+
METHOD_MODULE["CONFIRM"] = "confirm";
|
|
29
|
+
})(METHOD_MODULE || (METHOD_MODULE = {}));
|
|
30
|
+
|
|
31
|
+
export { CURRENT_MODULE as C, METHOD_MODULE as M };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=index2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"index2.js","mappings":"IAAY;AAAZ,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,iDAA+B,CAAA;IAC/B,mDAAiC,CAAA;IACjC,+BAAa,CAAA;IACb,uDAAqC,CAAA;IACrC,qDAAmC,CAAA;IACnC,mDAAiC,CAAA;IACjC,wCAAsB,CAAA;IACtB,2CAAyB,CAAA;IACzB,iCAAe,CAAA;IACf,mCAAiB,CAAA;IACjB,+CAA6B,CAAA;IAC7B,yCAAuB,CAAA;IACvB,qCAAmB,CAAA;IACnB,sDAAoC,CAAA;IACpC,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,yDAAuC,CAAA;IACvC,mCAAiB,CAAA;AACnB,CAAC,EApBW,cAAc,KAAd,cAAc,QAoBzB;IAEW;AAAZ,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;AACrB,CAAC,EALW,aAAa,KAAb,aAAa;;;;","names":[],"sources":["src/types/index.ts"],"sourcesContent":["export enum CURRENT_MODULE {\n WELCOME = 'welcome',\n WELCOME_LOGIN = 'welcome-login',\n WELCOME_SIGNUP = 'welcome-signup',\n INFO = 'info',\n LOGIN_BUNKER_URL = 'login-bunker-url',\n LOGIN_READ_ONLY = 'login-read-only',\n CONFIRM_LOGOUT = 'confirm-logout',\n IMPORT_FLOW = 'import',\n IMPORT_OTP = 'import-otp',\n LOGIN = 'login',\n SIGNUP = 'signup',\n LOCAL_SIGNUP = 'local-signup',\n EXTENSION = 'extension',\n LOADING = 'loading',\n PREVIOUSLY_LOGGED = 'switch-account',\n LOGIN_OTP = 'otp',\n CONNECT = 'connect',\n CONNECTION_STRING = 'connection-string',\n IFRAME = 'iframe',\n}\n\nexport enum METHOD_MODULE {\n LOGIN = 'login',\n SIGNUP = 'signup',\n LOGOUT = 'logout',\n CONFIRM = 'confirm',\n}\n\nexport type AuthMethod = 'connect' | 'readOnly' | 'extension' | 'local' | 'otp';\n\nexport interface Info {\n // must be present\n pubkey: string;\n\n // new nip46\n signerPubkey?: string;\n\n // connect or local methods\n sk?: string;\n\n // connect method only\n relays?: string[];\n\n // connect/readOnly\n nip05?: string;\n domain?: string;\n\n // connect w/ bunkerUrl\n bunkerUrl?: string;\n\n // from kind:0 profile\n picture?: string;\n name?: string;\n\n // nip46 bunker URL secret\n token?: string;\n\n // session type\n authMethod: AuthMethod;\n\n // what otp auth reply returned,\n // may be empty if cookies are used, or may contain session\n // token to be used for future api calls\n otpData?: string;\n\n // for iframe comms\n iframeUrl?: string;\n}\n\nexport type RecentType = Pick<Info, 'nip05' | 'picture' | 'pubkey' | 'name' | 'bunkerUrl' | 'authMethod' | 'domain' | 'signerPubkey'>;\n\nexport type NlTheme = 'default' | 'ocean' | 'lemonade' | 'purple' | 'crab';\n\nexport interface ConnectionString {\n name: string;\n img: string;\n link: string;\n relays: string[];\n domain?: string;\n canImport?: boolean;\n iframeUrl?: string;\n}\n\nexport type BannerNotifyMode = '' | 'timeout' | 'authUrl' | 'iframeAuthUrl' | 'rebind';\n\nexport interface BannerNotify {\n mode: BannerNotifyMode;\n url?: string;\n}\n"],"version":3}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { getRenderingRef, forceUpdate } from '@stencil/core/internal/client';
|
|
2
|
+
import { C as CURRENT_MODULE } from './index2.js';
|
|
3
|
+
|
|
4
|
+
const appendToMap = (map, propName, value) => {
|
|
5
|
+
const items = map.get(propName);
|
|
6
|
+
if (!items) {
|
|
7
|
+
map.set(propName, [value]);
|
|
8
|
+
}
|
|
9
|
+
else if (!items.includes(value)) {
|
|
10
|
+
items.push(value);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
const debounce = (fn, ms) => {
|
|
14
|
+
let timeoutId;
|
|
15
|
+
return (...args) => {
|
|
16
|
+
if (timeoutId) {
|
|
17
|
+
clearTimeout(timeoutId);
|
|
18
|
+
}
|
|
19
|
+
timeoutId = setTimeout(() => {
|
|
20
|
+
timeoutId = 0;
|
|
21
|
+
fn(...args);
|
|
22
|
+
}, ms);
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Check if a possible element isConnected.
|
|
28
|
+
* The property might not be there, so we check for it.
|
|
29
|
+
*
|
|
30
|
+
* We want it to return true if isConnected is not a property,
|
|
31
|
+
* otherwise we would remove these elements and would not update.
|
|
32
|
+
*
|
|
33
|
+
* Better leak in Edge than to be useless.
|
|
34
|
+
*/
|
|
35
|
+
const isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;
|
|
36
|
+
const cleanupElements = debounce((map) => {
|
|
37
|
+
for (let key of map.keys()) {
|
|
38
|
+
map.set(key, map.get(key).filter(isConnected));
|
|
39
|
+
}
|
|
40
|
+
}, 2000);
|
|
41
|
+
const stencilSubscription = () => {
|
|
42
|
+
if (typeof getRenderingRef !== 'function') {
|
|
43
|
+
// If we are not in a stencil project, we do nothing.
|
|
44
|
+
// This function is not really exported by @stencil/core.
|
|
45
|
+
return {};
|
|
46
|
+
}
|
|
47
|
+
const elmsToUpdate = new Map();
|
|
48
|
+
return {
|
|
49
|
+
dispose: () => elmsToUpdate.clear(),
|
|
50
|
+
get: (propName) => {
|
|
51
|
+
const elm = getRenderingRef();
|
|
52
|
+
if (elm) {
|
|
53
|
+
appendToMap(elmsToUpdate, propName, elm);
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
set: (propName) => {
|
|
57
|
+
const elements = elmsToUpdate.get(propName);
|
|
58
|
+
if (elements) {
|
|
59
|
+
elmsToUpdate.set(propName, elements.filter(forceUpdate));
|
|
60
|
+
}
|
|
61
|
+
cleanupElements(elmsToUpdate);
|
|
62
|
+
},
|
|
63
|
+
reset: () => {
|
|
64
|
+
elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));
|
|
65
|
+
cleanupElements(elmsToUpdate);
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
const unwrap = (val) => (typeof val === 'function' ? val() : val);
|
|
71
|
+
const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {
|
|
72
|
+
const unwrappedState = unwrap(defaultState);
|
|
73
|
+
let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));
|
|
74
|
+
const handlers = {
|
|
75
|
+
dispose: [],
|
|
76
|
+
get: [],
|
|
77
|
+
set: [],
|
|
78
|
+
reset: [],
|
|
79
|
+
};
|
|
80
|
+
const reset = () => {
|
|
81
|
+
var _a;
|
|
82
|
+
// When resetting the state, the default state may be a function - unwrap it to invoke it.
|
|
83
|
+
// otherwise, the state won't be properly reset
|
|
84
|
+
states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));
|
|
85
|
+
handlers.reset.forEach((cb) => cb());
|
|
86
|
+
};
|
|
87
|
+
const dispose = () => {
|
|
88
|
+
// Call first dispose as resetting the state would
|
|
89
|
+
// cause less updates ;)
|
|
90
|
+
handlers.dispose.forEach((cb) => cb());
|
|
91
|
+
reset();
|
|
92
|
+
};
|
|
93
|
+
const get = (propName) => {
|
|
94
|
+
handlers.get.forEach((cb) => cb(propName));
|
|
95
|
+
return states.get(propName);
|
|
96
|
+
};
|
|
97
|
+
const set = (propName, value) => {
|
|
98
|
+
const oldValue = states.get(propName);
|
|
99
|
+
if (shouldUpdate(value, oldValue, propName)) {
|
|
100
|
+
states.set(propName, value);
|
|
101
|
+
handlers.set.forEach((cb) => cb(propName, value, oldValue));
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
const state = (typeof Proxy === 'undefined'
|
|
105
|
+
? {}
|
|
106
|
+
: new Proxy(unwrappedState, {
|
|
107
|
+
get(_, propName) {
|
|
108
|
+
return get(propName);
|
|
109
|
+
},
|
|
110
|
+
ownKeys(_) {
|
|
111
|
+
return Array.from(states.keys());
|
|
112
|
+
},
|
|
113
|
+
getOwnPropertyDescriptor() {
|
|
114
|
+
return {
|
|
115
|
+
enumerable: true,
|
|
116
|
+
configurable: true,
|
|
117
|
+
};
|
|
118
|
+
},
|
|
119
|
+
has(_, propName) {
|
|
120
|
+
return states.has(propName);
|
|
121
|
+
},
|
|
122
|
+
set(_, propName, value) {
|
|
123
|
+
set(propName, value);
|
|
124
|
+
return true;
|
|
125
|
+
},
|
|
126
|
+
}));
|
|
127
|
+
const on = (eventName, callback) => {
|
|
128
|
+
handlers[eventName].push(callback);
|
|
129
|
+
return () => {
|
|
130
|
+
removeFromArray(handlers[eventName], callback);
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
const onChange = (propName, cb) => {
|
|
134
|
+
const unSet = on('set', (key, newValue) => {
|
|
135
|
+
if (key === propName) {
|
|
136
|
+
cb(newValue);
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
// We need to unwrap the defaultState because it might be a function.
|
|
140
|
+
// Otherwise we might not be sending the right reset value.
|
|
141
|
+
const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));
|
|
142
|
+
return () => {
|
|
143
|
+
unSet();
|
|
144
|
+
unReset();
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
const use = (...subscriptions) => {
|
|
148
|
+
const unsubs = subscriptions.reduce((unsubs, subscription) => {
|
|
149
|
+
if (subscription.set) {
|
|
150
|
+
unsubs.push(on('set', subscription.set));
|
|
151
|
+
}
|
|
152
|
+
if (subscription.get) {
|
|
153
|
+
unsubs.push(on('get', subscription.get));
|
|
154
|
+
}
|
|
155
|
+
if (subscription.reset) {
|
|
156
|
+
unsubs.push(on('reset', subscription.reset));
|
|
157
|
+
}
|
|
158
|
+
if (subscription.dispose) {
|
|
159
|
+
unsubs.push(on('dispose', subscription.dispose));
|
|
160
|
+
}
|
|
161
|
+
return unsubs;
|
|
162
|
+
}, []);
|
|
163
|
+
return () => unsubs.forEach((unsub) => unsub());
|
|
164
|
+
};
|
|
165
|
+
const forceUpdate = (key) => {
|
|
166
|
+
const oldValue = states.get(key);
|
|
167
|
+
handlers.set.forEach((cb) => cb(key, oldValue, oldValue));
|
|
168
|
+
};
|
|
169
|
+
return {
|
|
170
|
+
state,
|
|
171
|
+
get,
|
|
172
|
+
set,
|
|
173
|
+
on,
|
|
174
|
+
onChange,
|
|
175
|
+
use,
|
|
176
|
+
dispose,
|
|
177
|
+
reset,
|
|
178
|
+
forceUpdate,
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
const removeFromArray = (array, item) => {
|
|
182
|
+
const index = array.indexOf(item);
|
|
183
|
+
if (index >= 0) {
|
|
184
|
+
array[index] = array[array.length - 1];
|
|
185
|
+
array.length--;
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
const createStore = (defaultState, shouldUpdate) => {
|
|
190
|
+
const map = createObservableMap(defaultState, shouldUpdate);
|
|
191
|
+
map.use(stencilSubscription());
|
|
192
|
+
return map;
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
const { state, onChange, reset } = createStore({
|
|
196
|
+
screen: CURRENT_MODULE.WELCOME,
|
|
197
|
+
prevScreen: CURRENT_MODULE.WELCOME,
|
|
198
|
+
path: [CURRENT_MODULE.WELCOME],
|
|
199
|
+
error: '',
|
|
200
|
+
isLoading: false,
|
|
201
|
+
isLoadingExtension: false,
|
|
202
|
+
isOTP: false,
|
|
203
|
+
authUrl: '',
|
|
204
|
+
iframeUrl: '',
|
|
205
|
+
njumpIframe: '',
|
|
206
|
+
// State NlSignin
|
|
207
|
+
nlSignin: {
|
|
208
|
+
loginName: '',
|
|
209
|
+
},
|
|
210
|
+
// State NlSignup
|
|
211
|
+
nlSignup: {
|
|
212
|
+
signupName: '',
|
|
213
|
+
domain: '',
|
|
214
|
+
servers: [
|
|
215
|
+
{ name: '@nsec.app', value: 'nsec.app' },
|
|
216
|
+
{ name: '@highlighter.com', value: 'highlighter.com' },
|
|
217
|
+
],
|
|
218
|
+
},
|
|
219
|
+
// State NlSigninBunkerUrl
|
|
220
|
+
nlSigninBunkerUrl: {
|
|
221
|
+
loginName: '',
|
|
222
|
+
},
|
|
223
|
+
// State NlSigninReadOnly
|
|
224
|
+
nlSigninReadOnly: {
|
|
225
|
+
loginName: '',
|
|
226
|
+
},
|
|
227
|
+
// State NlSigninOTP
|
|
228
|
+
nlSigninOTP: {
|
|
229
|
+
loginName: '',
|
|
230
|
+
code: '',
|
|
231
|
+
},
|
|
232
|
+
nlImport: null,
|
|
233
|
+
});
|
|
234
|
+
// control show screens & manage history (like as router)
|
|
235
|
+
// ??? edit to better solution
|
|
236
|
+
onChange('screen', () => {
|
|
237
|
+
state.error = '';
|
|
238
|
+
state.nlSignin.loginName = '';
|
|
239
|
+
state.nlSignup.signupName = '';
|
|
240
|
+
state.nlSignup.domain = '';
|
|
241
|
+
// if (value === CURRENT_MODULE.LOGIN || value === CURRENT_MODULE.SIGNUP || value === CURRENT_MODULE.LOGIN_BUNKER_URL || value === CURRENT_MODULE.LOGIN_READ_ONLY) {
|
|
242
|
+
// state.prevScreen = CURRENT_MODULE.WELCOME;
|
|
243
|
+
// }
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
export { state as s };
|
|
247
|
+
|
|
248
|
+
//# sourceMappingURL=index3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"index3.js","mappings":"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","names":[],"sources":["../../node_modules/@stencil/store/dist/index.mjs","src/store/index.ts"],"sourcesContent":["import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst unwrap = (val) => (typeof val === 'function' ? val() : val);\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n const unwrappedState = unwrap(defaultState);\n let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n var _a;\n // When resetting the state, the default state may be a function - unwrap it to invoke it.\n // otherwise, the state won't be properly reset\n states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(unwrappedState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n // We need to unwrap the defaultState because it might be a function.\n // Otherwise we might not be sending the right reset value.\n const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","import { createStore } from '@stencil/store';\nimport { CURRENT_MODULE, ConnectionString } from '@/types';\n\nconst { state, onChange, reset } = createStore({\n screen: CURRENT_MODULE.WELCOME,\n prevScreen: CURRENT_MODULE.WELCOME,\n path: [CURRENT_MODULE.WELCOME],\n error: '',\n isLoading: false,\n isLoadingExtension: false,\n isOTP: false,\n authUrl: '',\n iframeUrl: '',\n njumpIframe: '',\n\n // State NlSignin\n nlSignin: {\n loginName: '',\n },\n\n // State NlSignup\n nlSignup: {\n signupName: '',\n domain: '',\n servers: [\n { name: '@nsec.app', value: 'nsec.app' },\n { name: '@highlighter.com', value: 'highlighter.com' },\n ],\n },\n\n // State NlSigninBunkerUrl\n nlSigninBunkerUrl: {\n loginName: '',\n },\n\n // State NlSigninReadOnly\n nlSigninReadOnly: {\n loginName: '',\n },\n\n // State NlSigninOTP\n nlSigninOTP: {\n loginName: '',\n code: '',\n },\n\n nlImport: null as (ConnectionString | null),\n});\n\n// control show screens & manage history (like as router)\n// ??? edit to better solution\nonChange('screen', () => {\n state.error = '';\n state.nlSignin.loginName = '';\n state.nlSignup.signupName = '';\n state.nlSignup.domain = '';\n\n // if (value === CURRENT_MODULE.LOGIN || value === CURRENT_MODULE.SIGNUP || value === CURRENT_MODULE.LOGIN_BUNKER_URL || value === CURRENT_MODULE.LOGIN_READ_ONLY) {\n // state.prevScreen = CURRENT_MODULE.WELCOME;\n // }\n});\n\n// on('set', (_, value, oldValue) => {\n// if (value === CURRENT_MODULE.INFO) {\n// state.prevScreen = oldValue;\n// }\n// });\n\nexport { state, reset };\n"],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface NlAuth extends Components.NlAuth, HTMLElement {}
|
|
4
|
+
export const NlAuth: {
|
|
5
|
+
prototype: NlAuth;
|
|
6
|
+
new (): NlAuth;
|
|
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-auth.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|