@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.
Files changed (177) hide show
  1. package/dist/components/button-base.d.ts +11 -0
  2. package/dist/components/button-base.js +8 -0
  3. package/dist/components/button-base.js.map +1 -0
  4. package/dist/components/button-base2.js +52 -0
  5. package/dist/components/button-base2.js.map +1 -0
  6. package/dist/components/css.js +1 -0
  7. package/dist/components/index.d.ts +33 -0
  8. package/dist/components/index.js +39 -0
  9. package/dist/components/index.js.map +1 -0
  10. package/dist/components/index2.js +33 -0
  11. package/dist/components/index2.js.map +1 -0
  12. package/dist/components/index3.js +248 -0
  13. package/dist/components/index3.js.map +1 -0
  14. package/dist/components/nl-auth.d.ts +11 -0
  15. package/dist/components/nl-auth.js +8 -0
  16. package/dist/components/nl-auth.js.map +1 -0
  17. package/dist/components/nl-auth2.js +352 -0
  18. package/dist/components/nl-auth2.js.map +1 -0
  19. package/dist/components/nl-banner.d.ts +11 -0
  20. package/dist/components/nl-banner.js +8 -0
  21. package/dist/components/nl-banner.js.map +1 -0
  22. package/dist/components/nl-banner2.js +195 -0
  23. package/dist/components/nl-banner2.js.map +1 -0
  24. package/dist/components/nl-button.d.ts +11 -0
  25. package/dist/components/nl-button.js +8 -0
  26. package/dist/components/nl-button.js.map +1 -0
  27. package/dist/components/nl-button2.js +45 -0
  28. package/dist/components/nl-button2.js.map +1 -0
  29. package/dist/components/nl-change-account.d.ts +11 -0
  30. package/dist/components/nl-change-account.js +8 -0
  31. package/dist/components/nl-change-account.js.map +1 -0
  32. package/dist/components/nl-change-account2.js +113 -0
  33. package/dist/components/nl-change-account2.js.map +1 -0
  34. package/dist/components/nl-confirm-logout.d.ts +11 -0
  35. package/dist/components/nl-confirm-logout.js +8 -0
  36. package/dist/components/nl-confirm-logout.js.map +1 -0
  37. package/dist/components/nl-confirm-logout2.js +61 -0
  38. package/dist/components/nl-confirm-logout2.js.map +1 -0
  39. package/dist/components/nl-connect.d.ts +11 -0
  40. package/dist/components/nl-connect.js +8 -0
  41. package/dist/components/nl-connect.js.map +1 -0
  42. package/dist/components/nl-connect2.js +86 -0
  43. package/dist/components/nl-connect2.js.map +1 -0
  44. package/dist/components/nl-dialog.d.ts +11 -0
  45. package/dist/components/nl-dialog.js +8 -0
  46. package/dist/components/nl-dialog.js.map +1 -0
  47. package/dist/components/nl-dialog2.js +44 -0
  48. package/dist/components/nl-dialog2.js.map +1 -0
  49. package/dist/components/nl-iframe.d.ts +11 -0
  50. package/dist/components/nl-iframe.js +8 -0
  51. package/dist/components/nl-iframe.js.map +1 -0
  52. package/dist/components/nl-iframe2.js +51 -0
  53. package/dist/components/nl-iframe2.js.map +1 -0
  54. package/dist/components/nl-import-flow.d.ts +11 -0
  55. package/dist/components/nl-import-flow.js +8 -0
  56. package/dist/components/nl-import-flow.js.map +1 -0
  57. package/dist/components/nl-import-flow2.js +91 -0
  58. package/dist/components/nl-import-flow2.js.map +1 -0
  59. package/dist/components/nl-info-extension.d.ts +11 -0
  60. package/dist/components/nl-info-extension.js +8 -0
  61. package/dist/components/nl-info-extension.js.map +1 -0
  62. package/dist/components/nl-info-extension2.js +36 -0
  63. package/dist/components/nl-info-extension2.js.map +1 -0
  64. package/dist/components/nl-info.d.ts +11 -0
  65. package/dist/components/nl-info.js +8 -0
  66. package/dist/components/nl-info.js.map +1 -0
  67. package/dist/components/nl-info2.js +98 -0
  68. package/dist/components/nl-info2.js.map +1 -0
  69. package/dist/components/nl-loading.d.ts +11 -0
  70. package/dist/components/nl-loading.js +8 -0
  71. package/dist/components/nl-loading.js.map +1 -0
  72. package/dist/components/nl-loading2.js +87 -0
  73. package/dist/components/nl-loading2.js.map +1 -0
  74. package/dist/components/nl-local-signup.d.ts +11 -0
  75. package/dist/components/nl-local-signup.js +8 -0
  76. package/dist/components/nl-local-signup.js.map +1 -0
  77. package/dist/components/nl-local-signup2.js +69 -0
  78. package/dist/components/nl-local-signup2.js.map +1 -0
  79. package/dist/components/nl-login-status.d.ts +11 -0
  80. package/dist/components/nl-login-status.js +8 -0
  81. package/dist/components/nl-login-status.js.map +1 -0
  82. package/dist/components/nl-otp-migrate.d.ts +11 -0
  83. package/dist/components/nl-otp-migrate.js +8 -0
  84. package/dist/components/nl-otp-migrate.js.map +1 -0
  85. package/dist/components/nl-otp-migrate2.js +67 -0
  86. package/dist/components/nl-otp-migrate2.js.map +1 -0
  87. package/dist/components/nl-previously-logged.d.ts +11 -0
  88. package/dist/components/nl-previously-logged.js +8 -0
  89. package/dist/components/nl-previously-logged.js.map +1 -0
  90. package/dist/components/nl-previously-logged2.js +98 -0
  91. package/dist/components/nl-previously-logged2.js.map +1 -0
  92. package/dist/components/nl-select.d.ts +11 -0
  93. package/dist/components/nl-select.js +8 -0
  94. package/dist/components/nl-select.js.map +1 -0
  95. package/dist/components/nl-select2.js +97 -0
  96. package/dist/components/nl-select2.js.map +1 -0
  97. package/dist/components/nl-signin-bunker-url.d.ts +11 -0
  98. package/dist/components/nl-signin-bunker-url.js +8 -0
  99. package/dist/components/nl-signin-bunker-url.js.map +1 -0
  100. package/dist/components/nl-signin-bunker-url2.js +59 -0
  101. package/dist/components/nl-signin-bunker-url2.js.map +1 -0
  102. package/dist/components/nl-signin-connection-string.d.ts +11 -0
  103. package/dist/components/nl-signin-connection-string.js +8 -0
  104. package/dist/components/nl-signin-connection-string.js.map +1 -0
  105. package/dist/components/nl-signin-connection-string2.js +2935 -0
  106. package/dist/components/nl-signin-connection-string2.js.map +1 -0
  107. package/dist/components/nl-signin-otp.d.ts +11 -0
  108. package/dist/components/nl-signin-otp.js +8 -0
  109. package/dist/components/nl-signin-otp.js.map +1 -0
  110. package/dist/components/nl-signin-otp2.js +72 -0
  111. package/dist/components/nl-signin-otp2.js.map +1 -0
  112. package/dist/components/nl-signin-read-only.d.ts +11 -0
  113. package/dist/components/nl-signin-read-only.js +8 -0
  114. package/dist/components/nl-signin-read-only.js.map +1 -0
  115. package/dist/components/nl-signin-read-only2.js +59 -0
  116. package/dist/components/nl-signin-read-only2.js.map +1 -0
  117. package/dist/components/nl-signin.d.ts +11 -0
  118. package/dist/components/nl-signin.js +8 -0
  119. package/dist/components/nl-signin.js.map +1 -0
  120. package/dist/components/nl-signin2.js +59 -0
  121. package/dist/components/nl-signin2.js.map +1 -0
  122. package/dist/components/nl-signup.d.ts +11 -0
  123. package/dist/components/nl-signup.js +8 -0
  124. package/dist/components/nl-signup.js.map +1 -0
  125. package/dist/components/nl-signup2.js +89 -0
  126. package/dist/components/nl-signup2.js.map +1 -0
  127. package/dist/components/nl-welcome-signin.d.ts +11 -0
  128. package/dist/components/nl-welcome-signin.js +8 -0
  129. package/dist/components/nl-welcome-signin.js.map +1 -0
  130. package/dist/components/nl-welcome-signin2.js +64 -0
  131. package/dist/components/nl-welcome-signin2.js.map +1 -0
  132. package/dist/components/nl-welcome-signup.d.ts +11 -0
  133. package/dist/components/nl-welcome-signup.js +8 -0
  134. package/dist/components/nl-welcome-signup.js.map +1 -0
  135. package/dist/components/nl-welcome-signup2.js +51 -0
  136. package/dist/components/nl-welcome-signup2.js.map +1 -0
  137. package/dist/components/nl-welcome.d.ts +11 -0
  138. package/dist/components/nl-welcome.js +8 -0
  139. package/dist/components/nl-welcome.js.map +1 -0
  140. package/dist/components/nl-welcome2.js +51 -0
  141. package/dist/components/nl-welcome2.js.map +1 -0
  142. package/dist/components/ns-login-status.js +58 -0
  143. package/dist/components/ns-login-status.js.map +1 -0
  144. package/dist/types/components/button-base/button-base.d.ts +11 -0
  145. package/dist/types/components/nl-auth/nl-auth.d.ts +43 -0
  146. package/dist/types/components/nl-banner/nl-banner.d.ts +34 -0
  147. package/dist/types/components/nl-button/nl-button.d.ts +9 -0
  148. package/dist/types/components/nl-change-account/nl-change-account.d.ts +28 -0
  149. package/dist/types/components/nl-confirm-logout/nl-confirm-logout.d.ts +12 -0
  150. package/dist/types/components/nl-connect/nl-connect.d.ts +18 -0
  151. package/dist/types/components/nl-dialog/nl-dialog.d.ts +6 -0
  152. package/dist/types/components/nl-iframe/nl-iframe.d.ts +9 -0
  153. package/dist/types/components/nl-import-flow/nl-import-flow.d.ts +18 -0
  154. package/dist/types/components/nl-info/nl-info.d.ts +12 -0
  155. package/dist/types/components/nl-info-extension/nl-info-extension.d.ts +3 -0
  156. package/dist/types/components/nl-loading/nl-loading.d.ts +9 -0
  157. package/dist/types/components/nl-local-signup/nl-local-signup.d.ts +14 -0
  158. package/dist/types/components/nl-login-status/ns-login-status.d.ts +5 -0
  159. package/dist/types/components/nl-otp-migrate/nl-otp-migrate.d.ts +12 -0
  160. package/dist/types/components/nl-previously-logged/nl-previously-logged.d.ts +19 -0
  161. package/dist/types/components/nl-select/nl-select.d.ts +28 -0
  162. package/dist/types/components/nl-signin/nl-signin.d.ts +11 -0
  163. package/dist/types/components/nl-signin-bunker-url/nl-signin-bunker-url.d.ts +11 -0
  164. package/dist/types/components/nl-signin-connection-string/nl-signin-connection-string.d.ts +13 -0
  165. package/dist/types/components/nl-signin-otp/nl-signin-otp.d.ts +14 -0
  166. package/dist/types/components/nl-signin-read-only/nl-signin-read-only.d.ts +11 -0
  167. package/dist/types/components/nl-signup/nl-signup.d.ts +20 -0
  168. package/dist/types/components/nl-welcome/nl-welcome.d.ts +6 -0
  169. package/dist/types/components/nl-welcome-signin/nl-welcome-signin.d.ts +13 -0
  170. package/dist/types/components/nl-welcome-signup/nl-welcome-signup.d.ts +6 -0
  171. package/dist/types/components.d.ts +925 -0
  172. package/dist/types/index.d.ts +5 -0
  173. package/dist/types/stencil-public-runtime.d.ts +1674 -0
  174. package/dist/types/store/index.d.ts +36 -0
  175. package/dist/types/types/button.d.ts +6 -0
  176. package/dist/types/types/index.d.ts +59 -0
  177. 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,8 @@
1
+ import { B as ButtonBase$1, d as defineCustomElement$1 } from './button-base2.js';
2
+
3
+ const ButtonBase = ButtonBase$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { ButtonBase, defineCustomElement };
7
+
8
+ //# sourceMappingURL=button-base.js.map
@@ -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,8 @@
1
+ import { N as NlAuth$1, d as defineCustomElement$1 } from './nl-auth2.js';
2
+
3
+ const NlAuth = NlAuth$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { NlAuth, defineCustomElement };
7
+
8
+ //# sourceMappingURL=nl-auth.js.map
@@ -0,0 +1 @@
1
+ {"file":"nl-auth.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}