diff --git a/.eslintignore b/.eslintignore
index a3a091d..9670f3f 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -11,4 +11,5 @@ dist/webpack-stats.json
tests/
coverage/
package/
-CHANGELOG.md
\ No newline at end of file
+dist/
+CHANGELOG.md
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index 746aba8..0f46226 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -1,45 +1,34 @@
module.exports = {
- parser: '@typescript-eslint/parser', // add the TypeScript parser
- plugins: [
- 'svelte3',
- '@typescript-eslint' // add the TypeScript plugin
- ],
- env: {
- es6: true,
- browser: true
- },
- overrides: [ // this stays the same
- {
- files: ['*.svelte'],
- processor: 'svelte3/svelte3'
- },{
- files: ['**/__tests__/*.{j,t}s?(x)', '**/tests/unit/**/*.spec.{j,t}s?(x)'],
- env: {
- jest: true,
- },
- },
- ],
- rules: {
- "@typescript-eslint/no-floating-promises": "warn"
-
- },
+ root: true,
+ parser: '@typescript-eslint/parser',
+ extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:@typescript-eslint/recommended-requiring-type-checking', 'prettier'],
+ plugins: ['svelte3', '@typescript-eslint'],
+ overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' },{
+ files: ['**/__tests__/*.{j,t}s?(x)', '**/tests/unit/**/*.spec.{j,t}s?(x)'],
+ env: {
+ jest: true,
+ },
+ }],
settings: {
- 'svelte3/typescript': true, // load TypeScript as peer dependency
+ 'svelte3/typescript': () => require('typescript'),
// ignore style tags in Svelte because of Tailwind CSS
// See https://github.com/sveltejs/eslint-plugin-svelte3/issues/70
'svelte3/ignore-styles': () => true
},
- parserOptions: { // add these parser options
+ parserOptions: {
+ sourceType: 'module',
ecmaVersion: 2020,
- sourceType: 'module',
- tsconfigRootDir: __dirname,
- project: ['./tsconfig.json'],
- extraFileExtensions: ['.svelte'],
- },
- extends: [ // then, enable whichever type-aware rules you want to use
- 'eslint:recommended',
- 'plugin:@typescript-eslint/recommended',
- 'plugin:@typescript-eslint/recommended-requiring-type-checking'
- ],
- ignorePatterns: ['node_modules','coverage','src/__test__',"/jest.config.ts", "CHANGELOG.md"]
-};
\ No newline at end of file
+ tsconfigRootDir: __dirname,
+ project: ['./tsconfig.json'],
+ extraFileExtensions: ['.svelte'],
+ },
+ rules: {
+ "@typescript-eslint/no-floating-promises": "warn"
+ },
+ env: {
+ browser: true,
+ es2017: true,
+ node: true
+ },
+ ignorePatterns: ['CHANGELOG.md', 'dist','*.cjs','.svelte-kit','package/','node_modules','coverage','src/__test__',"/jest.config.ts"]
+};
diff --git a/.gitignore b/.gitignore
index 089592c..64bf61d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,4 +22,5 @@ dist-ssr
*.njsproj
*.sln
*.sw?
-package
+package/
+dist/
diff --git a/.svelte-kit/ambient.d.ts b/.svelte-kit/ambient.d.ts
new file mode 100644
index 0000000..0b8bb45
--- /dev/null
+++ b/.svelte-kit/ambient.d.ts
@@ -0,0 +1,220 @@
+
+// this file is generated — do not edit it
+
+
+///
+
+/**
+ * Environment variables [loaded by Vite](https://vitejs.dev/guide/env-and-mode.html#env-files) from `.env` files and `process.env`. Like [`$env/dynamic/private`](https://kit.svelte.dev/docs/modules#$env-dynamic-private), this module cannot be imported into public-facing code. This module only includes variables that _do not_ begin with [`config.kit.env.publicPrefix`](https://kit.svelte.dev/docs/configuration#env).
+ *
+ * _Unlike_ [`$env/dynamic/private`](https://kit.svelte.dev/docs/modules#$env-dynamic-private), the values exported from this module are statically injected into your bundle at build time, enabling optimisations like dead code elimination.
+ *
+ * ```ts
+ * import { API_KEY } from '$env/static/private';
+ * ```
+ *
+ * Note that all environment variables referenced in your code should be declared (for example in an `.env` file), even if they don't have a value until the app is deployed:
+ *
+ * ```
+ * MY_FEATURE_FLAG=""
+ * ```
+ *
+ * You can override `.env` values from the command line like so:
+ *
+ * ```bash
+ * MY_FEATURE_FLAG="enabled" npm run dev
+ * ```
+ */
+declare module '$env/static/private' {
+ export const NVM_INC: string;
+ export const MANPATH: string;
+ export const TERM_PROGRAM: string;
+ export const NODE: string;
+ export const INIT_CWD: string;
+ export const ANDROID_HOME: string;
+ export const NVM_CD_FLAGS: string;
+ export const TERM: string;
+ export const SHELL: string;
+ export const CLICOLOR: string;
+ export const npm_config_metrics_registry: string;
+ export const HOMEBREW_REPOSITORY: string;
+ export const TMPDIR: string;
+ export const npm_config_global_prefix: string;
+ export const TERM_PROGRAM_VERSION: string;
+ export const ZDOTDIR: string;
+ export const AWS_SESSION_TOKEN: string;
+ export const ORIGINAL_XDG_CURRENT_DESKTOP: string;
+ export const MallocNanoZone: string;
+ export const npm_package_config_commitizen_path: string;
+ export const COLOR: string;
+ export const npm_config_noproxy: string;
+ export const npm_config_local_prefix: string;
+ export const NVM_DIR: string;
+ export const USER: string;
+ export const COMMAND_MODE: string;
+ export const npm_config_globalconfig: string;
+ export const SSH_AUTH_SOCK: string;
+ export const __CF_USER_TEXT_ENCODING: string;
+ export const npm_execpath: string;
+ export const DENO_INSTALL: string;
+ export const LSCOLORS: string;
+ export const NPM_TOKEN: string;
+ export const PATH: string;
+ export const npm_package_json: string;
+ export const _: string;
+ export const npm_config_userconfig: string;
+ export const npm_config_init_module: string;
+ export const USER_ZDOTDIR: string;
+ export const __CFBundleIdentifier: string;
+ export const npm_command: string;
+ export const PWD: string;
+ export const npm_lifecycle_event: string;
+ export const EDITOR: string;
+ export const AWS_SECRET_ACCESS_KEY: string;
+ export const npm_package_name: string;
+ export const LANG: string;
+ export const VSCODE_GIT_ASKPASS_EXTRA_ARGS: string;
+ export const XPC_FLAGS: string;
+ export const npm_config_node_gyp: string;
+ export const npm_package_version: string;
+ export const XPC_SERVICE_NAME: string;
+ export const VSCODE_INJECTION: string;
+ export const AWS_ACCESS_KEY_ID: string;
+ export const SHLVL: string;
+ export const HOME: string;
+ export const VSCODE_GIT_ASKPASS_MAIN: string;
+ export const HOMEBREW_PREFIX: string;
+ export const npm_config_cache: string;
+ export const LOGNAME: string;
+ export const npm_lifecycle_script: string;
+ export const VSCODE_GIT_IPC_HANDLE: string;
+ export const GITHUB_TOKEN: string;
+ export const NVM_BIN: string;
+ export const npm_config_user_agent: string;
+ export const VSCODE_GIT_ASKPASS_NODE: string;
+ export const GIT_ASKPASS: string;
+ export const INFOPATH: string;
+ export const HOMEBREW_CELLAR: string;
+ export const npm_node_execpath: string;
+ export const npm_config_prefix: string;
+ export const COLORTERM: string;
+}
+
+/**
+ * Similar to [`$env/static/private`](https://kit.svelte.dev/docs/modules#$env-static-private), except that it only includes environment variables that begin with [`config.kit.env.publicPrefix`](https://kit.svelte.dev/docs/configuration#env) (which defaults to `PUBLIC_`), and can therefore safely be exposed to client-side code.
+ *
+ * Values are replaced statically at build time.
+ *
+ * ```ts
+ * import { PUBLIC_BASE_URL } from '$env/static/public';
+ * ```
+ */
+declare module '$env/static/public' {
+
+}
+
+/**
+ * This module provides access to runtime environment variables, as defined by the platform you're running on. For example if you're using [`adapter-node`](https://github.com/sveltejs/kit/tree/master/packages/adapter-node) (or running [`vite preview`](https://kit.svelte.dev/docs/cli)), this is equivalent to `process.env`. This module only includes variables that _do not_ begin with [`config.kit.env.publicPrefix`](https://kit.svelte.dev/docs/configuration#env).
+ *
+ * This module cannot be imported into public-facing code.
+ *
+ * ```ts
+ * import { env } from '$env/dynamic/private';
+ * console.log(env.DEPLOYMENT_SPECIFIC_VARIABLE);
+ * ```
+ *
+ * > In `dev`, `$env/dynamic` always includes environment variables from `.env`. In `prod`, this behavior will depend on your adapter.
+ */
+declare module '$env/dynamic/private' {
+ export const env: {
+ NVM_INC: string;
+ MANPATH: string;
+ TERM_PROGRAM: string;
+ NODE: string;
+ INIT_CWD: string;
+ ANDROID_HOME: string;
+ NVM_CD_FLAGS: string;
+ TERM: string;
+ SHELL: string;
+ CLICOLOR: string;
+ npm_config_metrics_registry: string;
+ HOMEBREW_REPOSITORY: string;
+ TMPDIR: string;
+ npm_config_global_prefix: string;
+ TERM_PROGRAM_VERSION: string;
+ ZDOTDIR: string;
+ AWS_SESSION_TOKEN: string;
+ ORIGINAL_XDG_CURRENT_DESKTOP: string;
+ MallocNanoZone: string;
+ npm_package_config_commitizen_path: string;
+ COLOR: string;
+ npm_config_noproxy: string;
+ npm_config_local_prefix: string;
+ NVM_DIR: string;
+ USER: string;
+ COMMAND_MODE: string;
+ npm_config_globalconfig: string;
+ SSH_AUTH_SOCK: string;
+ __CF_USER_TEXT_ENCODING: string;
+ npm_execpath: string;
+ DENO_INSTALL: string;
+ LSCOLORS: string;
+ NPM_TOKEN: string;
+ PATH: string;
+ npm_package_json: string;
+ _: string;
+ npm_config_userconfig: string;
+ npm_config_init_module: string;
+ USER_ZDOTDIR: string;
+ __CFBundleIdentifier: string;
+ npm_command: string;
+ PWD: string;
+ npm_lifecycle_event: string;
+ EDITOR: string;
+ AWS_SECRET_ACCESS_KEY: string;
+ npm_package_name: string;
+ LANG: string;
+ VSCODE_GIT_ASKPASS_EXTRA_ARGS: string;
+ XPC_FLAGS: string;
+ npm_config_node_gyp: string;
+ npm_package_version: string;
+ XPC_SERVICE_NAME: string;
+ VSCODE_INJECTION: string;
+ AWS_ACCESS_KEY_ID: string;
+ SHLVL: string;
+ HOME: string;
+ VSCODE_GIT_ASKPASS_MAIN: string;
+ HOMEBREW_PREFIX: string;
+ npm_config_cache: string;
+ LOGNAME: string;
+ npm_lifecycle_script: string;
+ VSCODE_GIT_IPC_HANDLE: string;
+ GITHUB_TOKEN: string;
+ NVM_BIN: string;
+ npm_config_user_agent: string;
+ VSCODE_GIT_ASKPASS_NODE: string;
+ GIT_ASKPASS: string;
+ INFOPATH: string;
+ HOMEBREW_CELLAR: string;
+ npm_node_execpath: string;
+ npm_config_prefix: string;
+ COLORTERM: string;
+ [key: string]: string | undefined;
+ }
+}
+
+/**
+ * Similar to [`$env/dynamic/private`](https://kit.svelte.dev/docs/modules#$env-dynamic-private), but only includes variables that begin with [`config.kit.env.publicPrefix`](https://kit.svelte.dev/docs/configuration#env) (which defaults to `PUBLIC_`), and can therefore safely be exposed to client-side code.
+ *
+ * Note that public dynamic environment variables must all be sent from the server to the client, causing larger network requests — when possible, use `$env/static/public` instead.
+ *
+ * ```ts
+ * import { env } from '$env/dynamic/public';
+ * console.log(env.PUBLIC_DEPLOYMENT_SPECIFIC_VARIABLE);
+ * ```
+ */
+declare module '$env/dynamic/public' {
+ export const env: {
+ [key: string]: string | undefined;
+ }
+}
diff --git a/.svelte-kit/build/hooks.js b/.svelte-kit/build/hooks.js
new file mode 100644
index 0000000..e69de29
diff --git a/.svelte-kit/build/index.js b/.svelte-kit/build/index.js
new file mode 100644
index 0000000..30c57c9
--- /dev/null
+++ b/.svelte-kit/build/index.js
@@ -0,0 +1,102 @@
+
+import root from '__GENERATED__/root.svelte';
+import { respond } from '../../node_modules/@sveltejs/kit/src/runtime/server/index.js';
+import { set_paths, assets, base } from '../../node_modules/@sveltejs/kit/src/runtime/paths.js';
+import { set_prerendering } from '../../node_modules/@sveltejs/kit/src/runtime/env.js';
+import { set_private_env } from '../../node_modules/@sveltejs/kit/src/runtime/env-private.js';
+import { set_public_env } from '../../node_modules/@sveltejs/kit/src/runtime/env-public.js';
+
+const app_template = ({ head, body, assets, nonce }) => "\n\n\t
\n\t\t\n\t\t\n\t\t\n\t\t" + head + "\n\t\n\t\n\t\t" + body + "
\n\t\n\n";
+
+const error_template = ({ status, message }) => "\n\n\t\n\t\t\n\t\t" + message + "\n\n\t\t\n\t\n\t\n\t\t\n\t\t\t
" + status + "\n\t\t\t
\n\t\t\t\t
" + message + "
\n\t\t\t\n\t\t
\n\t\n\n";
+
+let read = null;
+
+set_paths({"base":"","assets":""});
+
+let default_protocol = 'https';
+
+// allow paths to be globally overridden
+// in svelte-kit preview and in prerendering
+export function override(settings) {
+ default_protocol = settings.protocol || default_protocol;
+ set_paths(settings.paths);
+ set_prerendering(settings.prerendering);
+ read = settings.read;
+}
+
+export class Server {
+ constructor(manifest) {
+ this.options = {
+ csp: {"mode":"auto","directives":{"upgrade-insecure-requests":false,"block-all-mixed-content":false},"reportOnly":{"upgrade-insecure-requests":false,"block-all-mixed-content":false}},
+ csrf: {
+ check_origin: true,
+ },
+ dev: false,
+ handle_error: (error, event) => {
+ return this.options.hooks.handleError({
+ error,
+ event,
+
+ // TODO remove for 1.0
+ // @ts-expect-error
+ get request() {
+ throw new Error('request in handleError has been replaced with event. See https://github.com/sveltejs/kit/pull/3384 for details');
+ }
+ }) ?? { message: event.routeId != null ? 'Internal Error' : 'Not Found' };
+ },
+ hooks: null,
+ manifest,
+ paths: { base, assets },
+ public_env: {},
+ read,
+ root,
+ service_worker: false,
+ app_template,
+ app_template_contains_nonce: false,
+ error_template,
+ trailing_slash: "never"
+ };
+ }
+
+ /**
+ * Take care: Some adapters may have to call `Server.init` per-request to set env vars,
+ * so anything that shouldn't be rerun should be wrapped in an `if` block to make sure it hasn't
+ * been done already.
+ */
+ async init({ env }) {
+ const entries = Object.entries(env);
+
+ const prv = Object.fromEntries(entries.filter(([k]) => !k.startsWith('PUBLIC_')));
+
+ const pub = Object.fromEntries(entries.filter(([k]) => k.startsWith('PUBLIC_')));
+
+ set_private_env(prv);
+ set_public_env(pub);
+
+ this.options.public_env = pub;
+
+ if (!this.options.hooks) {
+ const module = await import("./hooks.js");
+
+ // TODO remove this for 1.0
+ if (module.externalFetch) {
+ throw new Error('externalFetch has been removed — use handleFetch instead. See https://github.com/sveltejs/kit/pull/6565 for details');
+ }
+
+ this.options.hooks = {
+ handle: module.handle || (({ event, resolve }) => resolve(event)),
+ handleError: module.handleError || (({ error }) => console.error(error.stack)),
+ handleFetch: module.handleFetch || (({ request, fetch }) => fetch(request))
+ };
+ }
+ }
+
+ async respond(request, options = {}) {
+ if (!(request instanceof Request)) {
+ throw new Error('The first argument to server.respond must be a Request object. See https://github.com/sveltejs/kit/pull/3384 for details');
+ }
+
+ return respond(request, this.options, options);
+ }
+}
diff --git a/.svelte-kit/generated/client-manifest.js b/.svelte-kit/generated/client-manifest.js
new file mode 100644
index 0000000..1552b59
--- /dev/null
+++ b/.svelte-kit/generated/client-manifest.js
@@ -0,0 +1,19 @@
+export { matchers } from './client-matchers.js';
+
+ export const nodes = [() => import('./nodes/0'),
+ () => import('./nodes/1'),
+ () => import('./nodes/2'),
+ () => import('./nodes/3'),
+ () => import('./nodes/4')];
+
+ export const server_loads = [];
+
+ export const dictionary = {
+ "": [2],
+ "about": [3],
+ "examples": [4]
+};
+
+ export const hooks = {
+ handleError: (({ error }) => { console.error(error) }),
+ };
\ No newline at end of file
diff --git a/.svelte-kit/generated/client-matchers.js b/.svelte-kit/generated/client-matchers.js
new file mode 100644
index 0000000..f6bd30a
--- /dev/null
+++ b/.svelte-kit/generated/client-matchers.js
@@ -0,0 +1 @@
+export const matchers = {};
\ No newline at end of file
diff --git a/.svelte-kit/generated/nodes/0.js b/.svelte-kit/generated/nodes/0.js
new file mode 100644
index 0000000..9276405
--- /dev/null
+++ b/.svelte-kit/generated/nodes/0.js
@@ -0,0 +1 @@
+export { default as component } from "../../../node_modules/@sveltejs/kit/src/runtime/components/layout.svelte";
\ No newline at end of file
diff --git a/.svelte-kit/generated/nodes/1.js b/.svelte-kit/generated/nodes/1.js
new file mode 100644
index 0000000..e5f1f95
--- /dev/null
+++ b/.svelte-kit/generated/nodes/1.js
@@ -0,0 +1 @@
+export { default as component } from "../../../node_modules/@sveltejs/kit/src/runtime/components/error.svelte";
\ No newline at end of file
diff --git a/.svelte-kit/generated/nodes/2.js b/.svelte-kit/generated/nodes/2.js
new file mode 100644
index 0000000..efaa62f
--- /dev/null
+++ b/.svelte-kit/generated/nodes/2.js
@@ -0,0 +1 @@
+export { default as component } from "../../../src/routes/+page.svelte";
\ No newline at end of file
diff --git a/.svelte-kit/generated/nodes/3.js b/.svelte-kit/generated/nodes/3.js
new file mode 100644
index 0000000..649e149
--- /dev/null
+++ b/.svelte-kit/generated/nodes/3.js
@@ -0,0 +1 @@
+export { default as component } from "../../../src/routes/about/+page.svelte";
\ No newline at end of file
diff --git a/.svelte-kit/generated/nodes/4.js b/.svelte-kit/generated/nodes/4.js
new file mode 100644
index 0000000..ddc519c
--- /dev/null
+++ b/.svelte-kit/generated/nodes/4.js
@@ -0,0 +1 @@
+export { default as component } from "../../../src/routes/examples/+page.svelte";
\ No newline at end of file
diff --git a/.svelte-kit/generated/prerendered.json b/.svelte-kit/generated/prerendered.json
new file mode 100644
index 0000000..1d93449
--- /dev/null
+++ b/.svelte-kit/generated/prerendered.json
@@ -0,0 +1 @@
+{"prerendered":{"pages":[],"assets":[],"redirects":[],"paths":[]},"prerender_map":[["",false],["about",false]]}
\ No newline at end of file
diff --git a/.svelte-kit/generated/root.svelte b/.svelte-kit/generated/root.svelte
new file mode 100644
index 0000000..789457f
--- /dev/null
+++ b/.svelte-kit/generated/root.svelte
@@ -0,0 +1,53 @@
+
+
+
+{#if components[1]}
+
+
+
+{:else}
+
+{/if}
+
+{#if mounted}
+
+ {#if navigated}
+ {title}
+ {/if}
+
+{/if}
\ No newline at end of file
diff --git a/.svelte-kit/output/client/_app/immutable/assets/_page-95bb6e63.css b/.svelte-kit/output/client/_app/immutable/assets/_page-95bb6e63.css
new file mode 100644
index 0000000..85549d6
--- /dev/null
+++ b/.svelte-kit/output/client/_app/immutable/assets/_page-95bb6e63.css
@@ -0,0 +1 @@
+.textcontainer .inputclass{height:24px;text-align:center;width:24px}.textcontainer input[type=number]::-webkit-inner-spin-button,.textcontainer input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.otp-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center}.otp-wrapper .separator{margin:0 8px}.otp-wrapper .otp-row{align-items:center;display:flex;flex-direction:row;justify-content:center}.customTextInputClass{background-color:#fff}.customSeparatorClass{background-color:#000}.customRowClass{border:1px solid red}.customWrapperClass{border:0}.customInputClass{height:24px;width:24px}.button-otp{margin:32px 0}@media (prefers-color-scheme:dark){.button-otp{background:#333;color:#fff}}.button-otp{border-radius:16px;font-weight:700;padding:16px}code[class*=language-],pre[class*=language-]{word-wrap:normal;background:none;color:#000;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;-webkit-hyphens:none;hyphens:none;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;text-shadow:0 1px #fff;white-space:pre;word-break:normal;word-spacing:normal}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{background:#b3d4fc;text-shadow:none}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{background:#b3d4fc;text-shadow:none}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{background:hsla(0,0%,100%,.5);color:#9a6e3a}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.title{font-size:24px;font-weight:700}.container{align-items:center;background-color:#f6f7f6;border-radius:10px;display:flex;flex-direction:column;justify-content:space-between;margin-top:20px;padding:25px}.container .codesnippet{border:1px solid #222;border-radius:5px;margin-bottom:16px;width:80%}.container .codesnippet .language-html{align-items:center;display:flex;justify-content:center}.container .prism-multi{align-items:center;display:flex;flex-direction:row;justify-content:space-around}.container label{display:block;font-size:18px;font-weight:700;margin-top:16px}@media (prefers-color-scheme:dark){.container .textEmitted{color:#000}}
diff --git a/.svelte-kit/output/client/_app/immutable/chunks/0-1617b617.js b/.svelte-kit/output/client/_app/immutable/chunks/0-1617b617.js
new file mode 100644
index 0000000..913ba03
--- /dev/null
+++ b/.svelte-kit/output/client/_app/immutable/chunks/0-1617b617.js
@@ -0,0 +1 @@
+import{default as t}from"../components/layout.svelte-deb581e7.js";export{t as component};
diff --git a/.svelte-kit/output/client/_app/immutable/chunks/1-c21b9877.js b/.svelte-kit/output/client/_app/immutable/chunks/1-c21b9877.js
new file mode 100644
index 0000000..4c0deaf
--- /dev/null
+++ b/.svelte-kit/output/client/_app/immutable/chunks/1-c21b9877.js
@@ -0,0 +1 @@
+import{default as t}from"../components/error.svelte-d5894b78.js";export{t as component};
diff --git a/.svelte-kit/output/client/_app/immutable/chunks/2-63a65db5.js b/.svelte-kit/output/client/_app/immutable/chunks/2-63a65db5.js
new file mode 100644
index 0000000..c4599c4
--- /dev/null
+++ b/.svelte-kit/output/client/_app/immutable/chunks/2-63a65db5.js
@@ -0,0 +1 @@
+import{default as t}from"../components/pages/_page.svelte-672ad880.js";export{t as component};
diff --git a/.svelte-kit/output/client/_app/immutable/chunks/3-835f3c0f.js b/.svelte-kit/output/client/_app/immutable/chunks/3-835f3c0f.js
new file mode 100644
index 0000000..e79fc7c
--- /dev/null
+++ b/.svelte-kit/output/client/_app/immutable/chunks/3-835f3c0f.js
@@ -0,0 +1 @@
+import{default as t}from"../components/pages/about/_page.svelte-1fa8bff8.js";export{t as component};
diff --git a/.svelte-kit/output/client/_app/immutable/chunks/index-7f6b22fc.js b/.svelte-kit/output/client/_app/immutable/chunks/index-7f6b22fc.js
new file mode 100644
index 0000000..9c27812
--- /dev/null
+++ b/.svelte-kit/output/client/_app/immutable/chunks/index-7f6b22fc.js
@@ -0,0 +1 @@
+function A(){}function J(t,n){for(const e in n)t[e]=n[e];return t}function P(t){return t()}function k(){return Object.create(null)}function p(t){t.forEach(P)}function K(t){return typeof t=="function"}function dt(t,n){return t!=t?n==n:t!==n||t&&typeof t=="object"||typeof t=="function"}function Q(t){return Object.keys(t).length===0}function R(t,...n){if(t==null)return A;const e=t.subscribe(...n);return e.unsubscribe?()=>e.unsubscribe():e}function _t(t,n,e){t.$$.on_destroy.push(R(n,e))}function ht(t,n,e,i){if(t){const r=D(t,n,e,i);return t[0](r)}}function D(t,n,e,i){return t[1]&&i?J(e.ctx.slice(),t[1](i(n))):e.ctx}function mt(t,n,e,i){if(t[2]&&i){const r=t[2](i(e));if(n.dirty===void 0)return r;if(typeof r=="object"){const u=[],s=Math.max(n.dirty.length,r.length);for(let o=0;o32){const n=[],e=t.ctx.length/32;for(let i=0;i>1);e(r)<=i?t=r+1:n=r}return t}function X(t){if(t.hydrate_init)return;t.hydrate_init=!0;let n=t.childNodes;if(t.nodeName==="HEAD"){const c=[];for(let l=0;l0&&n[e[r]].claim_order<=l?r+1:V(1,r,g=>n[e[g]].claim_order,l))-1;i[c]=e[f]+1;const a=f+1;e[a]=c,r=Math.max(a,r)}const u=[],s=[];let o=n.length-1;for(let c=e[r]+1;c!=0;c=i[c-1]){for(u.push(n[c-1]);o>=c;o--)s.push(n[o]);o--}for(;o>=0;o--)s.push(n[o]);u.reverse(),s.sort((c,l)=>c.claim_order-l.claim_order);for(let c=0,l=0;c=u[l].claim_order;)l++;const f=lt.removeEventListener(n,e,i)}function wt(t,n,e){e==null?t.removeAttribute(n):t.getAttribute(n)!==e&&t.setAttribute(n,e)}function et(t){return Array.from(t.childNodes)}function G(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function q(t,n,e,i,r=!1){G(t);const u=(()=>{for(let s=t.claim_info.last_index;s=0;s--){const o=t[s];if(n(o)){const c=e(o);return c===void 0?t.splice(s,1):t[s]=c,r?c===void 0&&t.claim_info.last_index--:t.claim_info.last_index=s,o}}return i()})();return u.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,u}function it(t,n,e,i){return q(t,r=>r.nodeName===n,r=>{const u=[];for(let s=0;sr.removeAttribute(s))},()=>i(n))}function Et(t,n,e){return it(t,n,e,O)}function rt(t,n){return q(t,e=>e.nodeType===3,e=>{const i=""+n;if(e.data.startsWith(i)){if(e.data.length!==i.length)return e.splitText(i.length)}else e.data=i},()=>S(n),!0)}function Nt(t){return rt(t," ")}function H(t,n,e){for(let i=e;i{const r=t.$$.callbacks[n];if(r){const u=st(n,e,{cancelable:i});return r.slice().forEach(s=>{s.call(t,u)}),!u.defaultPrevented}return!0}}const _=[],B=[],x=[],E=[],z=Promise.resolve();let N=!1;function F(){N||(N=!0,z.then(I))}function kt(){return F(),z}function T(t){x.push(t)}function Ht(t){E.push(t)}const w=new Set;let y=0;function I(){const t=m;do{for(;y<_.length;){const n=_[y];y++,h(n),lt(n.$$)}for(h(null),_.length=0,y=0;B.length;)B.pop()();for(let n=0;n{b.delete(t),i&&(e&&t.d(1),i())}),t.o(n)}else i&&i()}function Dt(t,n,e){const i=t.$$.props[n];i!==void 0&&(t.$$.bound[i]=e,e(t.$$.ctx[i]))}function Ot(t){t&&t.c()}function Gt(t,n){t&&t.l(n)}function ut(t,n,e,i){const{fragment:r,on_mount:u,on_destroy:s,after_update:o}=t.$$;r&&r.m(n,e),i||T(()=>{const c=u.map(P).filter(K);s?s.push(...c):p(c),t.$$.on_mount=[]}),o.forEach(T)}function at(t,n){const e=t.$$;e.fragment!==null&&(p(e.on_destroy),e.fragment&&e.fragment.d(n),e.on_destroy=e.fragment=null,e.ctx=[])}function ft(t,n){t.$$.dirty[0]===-1&&(_.push(t),F(),t.$$.dirty.fill(0)),t.$$.dirty[n/31|0]|=1<{const j=M.length?M[0]:g;return l.ctx&&r(l.ctx[a],l.ctx[a]=j)&&(!l.skip_bound&&l.bound[a]&&l.bound[a](j),f&&ft(t,a)),g}):[],l.update(),f=!0,p(l.before_update),l.fragment=i?i(l.ctx):!1,n.target){if(n.hydrate){W();const a=et(n.target);l.fragment&&l.fragment.l(a),a.forEach($)}else l.fragment&&l.fragment.c();n.intro&&ot(t.$$.fragment),ut(t,n.target,n.anchor,n.customElement),U(),I()}h(c)}class zt{$destroy(){at(this,1),this.$destroy=A}$on(n,e){const i=this.$$.callbacks[n]||(this.$$.callbacks[n]=[]);return i.push(e),()=>{const r=i.indexOf(e);r!==-1&&i.splice(r,1)}}$set(n){this.$$set&&!Q(n)&&(this.$$.skip_bound=!0,this.$$set(n),this.$$.skip_bound=!1)}}export{A,ht as B,pt as C,gt as D,mt as E,Y as F,_t as G,J as H,yt as I,B as J,L as K,Tt as L,vt as M,xt as N,jt as O,Dt as P,Ht as Q,zt as S,bt as a,tt as b,Nt as c,Bt as d,$t as e,ot as f,Lt as g,$ as h,qt as i,Mt as j,O as k,Et as l,et as m,wt as n,Ct as o,St as p,S as q,rt as r,dt as s,Pt as t,At as u,Ot as v,Gt as w,ut as x,at as y,kt as z};
diff --git a/.svelte-kit/output/client/_app/immutable/chunks/singletons-55cfcc32.js b/.svelte-kit/output/client/_app/immutable/chunks/singletons-55cfcc32.js
new file mode 100644
index 0000000..d6b7167
--- /dev/null
+++ b/.svelte-kit/output/client/_app/immutable/chunks/singletons-55cfcc32.js
@@ -0,0 +1 @@
+import{A as l,s as m}from"./index-7f6b22fc.js";const f=[];function d(t,n=l){let e;const o=new Set;function r(i){if(m(t,i)&&(t=i,e)){const c=!f.length;for(const a of o)a[1](),f.push(a,t);if(c){for(let a=0;a{o.delete(a),o.size===0&&(e(),e=null)}}return{set:r,update:u,subscribe:s}}let p="",g="";function U(t){p=t.base,g=t.assets||p}function w(t){let n=t.baseURI;if(!n){const e=t.getElementsByTagName("base");n=e.length?e[0].href:t.URL}return n}function y(){return{x:pageXOffset,y:pageYOffset}}function R(t){let n,e=null,o=null,r=null;for(const s of t.composedPath())s instanceof Element&&(!n&&s.nodeName.toUpperCase()==="A"&&(n=s),e===null&&(e=b(s,"data-sveltekit-noscroll")),o===null&&(o=b(s,"data-sveltekit-prefetch")),r===null&&(r=b(s,"data-sveltekit-reload")));const u=n&&new URL(n instanceof SVGAElement?n.href.baseVal:n.href,document.baseURI);return{a:n,url:u,options:{noscroll:e,prefetch:o,reload:r}}}function b(t,n){const e=t.getAttribute(n);return e===null?e:e===""?!0:(e==="off",!1)}function h(t){const n=d(t);let e=!0;function o(){e=!0,n.update(s=>s)}function r(s){e=!1,n.set(s)}function u(s){let i;return n.subscribe(c=>{(i===void 0||e&&c!==i)&&s(i=c)})}return{notify:o,set:r,subscribe:u}}function _(){const{set:t,subscribe:n}=d(!1);let e;async function o(){clearTimeout(e);const r=await fetch(`${g}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(r.ok){const{version:u}=await r.json(),s=u!=="1664081247457";return s&&(t(!0),clearTimeout(e)),s}else throw new Error(`Version check failed: ${r.status}`)}return{subscribe:n,check:o}}function A(t){t.client}const E={url:h({}),page:h({}),navigating:d(null),updated:_()};export{y as a,U as b,R as f,w as g,A as i,E as s};
diff --git a/.svelte-kit/output/client/_app/immutable/components/error.svelte-d5894b78.js b/.svelte-kit/output/client/_app/immutable/components/error.svelte-d5894b78.js
new file mode 100644
index 0000000..d363387
--- /dev/null
+++ b/.svelte-kit/output/client/_app/immutable/components/error.svelte-d5894b78.js
@@ -0,0 +1 @@
+import{S as A,i as C,s as F,k as v,q as k,a as h,e as q,l as g,m as E,r as $,h as p,c as R,b as u,F as P,u as S,A as w,G}from"../chunks/index-7f6b22fc.js";import{s as H}from"../chunks/singletons-55cfcc32.js";const O=()=>{const t=H,s={page:{subscribe:t.page.subscribe},navigating:{subscribe:t.navigating.subscribe},updated:t.updated};return Object.defineProperties(s,{preloading:{get(){return console.error("stores.preloading is deprecated; use stores.navigating instead"),{subscribe:t.navigating.subscribe}},enumerable:!1},session:{get(){return B(),{}},enumerable:!1}}),s},z={subscribe(t){return O().page.subscribe(t)}};function B(){throw new Error("stores.session is no longer available. See https://github.com/sveltejs/kit/discussions/5883")}function N(t){let s,i=t[0].error.frame+"",o;return{c(){s=v("pre"),o=k(i)},l(r){s=g(r,"PRE",{});var a=E(s);o=$(a,i),a.forEach(p)},m(r,a){u(r,s,a),P(s,o)},p(r,a){a&1&&i!==(i=r[0].error.frame+"")&&S(o,i)},d(r){r&&p(s)}}}function y(t){let s,i=t[0].error.stack+"",o;return{c(){s=v("pre"),o=k(i)},l(r){s=g(r,"PRE",{});var a=E(s);o=$(a,i),a.forEach(p)},m(r,a){u(r,s,a),P(s,o)},p(r,a){a&1&&i!==(i=r[0].error.stack+"")&&S(o,i)},d(r){r&&p(s)}}}function D(t){let s,i=t[0].status+"",o,r,a,b=t[0].error.message+"",_,d,c,m,l=t[0].error.frame&&N(t),n=t[0].error.stack&&y(t);return{c(){s=v("h1"),o=k(i),r=h(),a=v("pre"),_=k(b),d=h(),l&&l.c(),c=h(),n&&n.c(),m=q()},l(e){s=g(e,"H1",{});var f=E(s);o=$(f,i),f.forEach(p),r=R(e),a=g(e,"PRE",{});var j=E(a);_=$(j,b),j.forEach(p),d=R(e),l&&l.l(e),c=R(e),n&&n.l(e),m=q()},m(e,f){u(e,s,f),P(s,o),u(e,r,f),u(e,a,f),P(a,_),u(e,d,f),l&&l.m(e,f),u(e,c,f),n&&n.m(e,f),u(e,m,f)},p(e,[f]){f&1&&i!==(i=e[0].status+"")&&S(o,i),f&1&&b!==(b=e[0].error.message+"")&&S(_,b),e[0].error.frame?l?l.p(e,f):(l=N(e),l.c(),l.m(c.parentNode,c)):l&&(l.d(1),l=null),e[0].error.stack?n?n.p(e,f):(n=y(e),n.c(),n.m(m.parentNode,m)):n&&(n.d(1),n=null)},i:w,o:w,d(e){e&&p(s),e&&p(r),e&&p(a),e&&p(d),l&&l.d(e),e&&p(c),n&&n.d(e),e&&p(m)}}}function I(t,s,i){let o;return G(t,z,r=>i(0,o=r)),[o]}class L extends A{constructor(s){super(),C(this,s,I,D,F,{})}}export{L as default};
diff --git a/.svelte-kit/output/client/_app/immutable/components/layout.svelte-deb581e7.js b/.svelte-kit/output/client/_app/immutable/components/layout.svelte-deb581e7.js
new file mode 100644
index 0000000..0868152
--- /dev/null
+++ b/.svelte-kit/output/client/_app/immutable/components/layout.svelte-deb581e7.js
@@ -0,0 +1 @@
+import{S as o,i,s as r,B as u,C as f,D as _,E as c,f as p,t as d}from"../chunks/index-7f6b22fc.js";function m(n){let s;const l=n[1].default,e=u(l,n,n[0],null);return{c(){e&&e.c()},l(t){e&&e.l(t)},m(t,a){e&&e.m(t,a),s=!0},p(t,[a]){e&&e.p&&(!s||a&1)&&f(e,l,t,t[0],s?c(l,t[0],a,null):_(t[0]),null)},i(t){s||(p(e,t),s=!0)},o(t){d(e,t),s=!1},d(t){e&&e.d(t)}}}function $(n,s,l){let{$$slots:e={},$$scope:t}=s;return n.$$set=a=>{"$$scope"in a&&l(0,t=a.$$scope)},[t,e]}class h extends o{constructor(s){super(),i(this,s,$,m,r,{})}}export{h as default};
diff --git a/.svelte-kit/output/client/_app/immutable/components/pages/_page.svelte-672ad880.js b/.svelte-kit/output/client/_app/immutable/components/pages/_page.svelte-672ad880.js
new file mode 100644
index 0000000..8013517
--- /dev/null
+++ b/.svelte-kit/output/client/_app/immutable/components/pages/_page.svelte-672ad880.js
@@ -0,0 +1,74 @@
+import{S as Y,i as K,s as Q,B as Te,k as C,a as L,l as S,m as V,h as A,c as M,p as Le,n as $,b as B,F as I,C as Me,D as je,E as We,f as D,t as T,H as Ie,I as ye,J as le,K as Ne,e as we,L as Re,q as J,r as X,u as ve,M as be,A as ae,g as ze,d as Be,N as He,O as Ge,v as j,w as W,x as N,y as R,z as Ue,P as Ce,Q as Se}from"../../chunks/index-7f6b22fc.js";typeof window<"u"&&(window.Prism&&console.warn("Prism has already been initiated. Please ensure that svelte-prism is imported first."),window.Prism=window.Prism||{},window.Prism.manual=!0);var Ee=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Ve={exports:{}};(function(f){var t=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};/**
+ * Prism: Lightweight, robust, elegant syntax highlighting
+ *
+ * @license MIT
+ * @author Lea Verou
+ * @namespace
+ * @public
+ */var e=function(n){var s=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,i=0,v={},a={manual:n.Prism&&n.Prism.manual,disableWorkerMessageHandler:n.Prism&&n.Prism.disableWorkerMessageHandler,util:{encode:function r(l){return l instanceof u?new u(l.type,r(l.content),l.alias):Array.isArray(l)?l.map(r):l.replace(/&/g,"&").replace(/"u")return null;if("currentScript"in document&&1<2)return document.currentScript;try{throw new Error}catch(h){var r=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(h.stack)||[])[1];if(r){var l=document.getElementsByTagName("script");for(var m in l)if(l[m].src==r)return l[m]}return null}},isActive:function(r,l,m){for(var h="no-"+l;r;){var g=r.classList;if(g.contains(l))return!0;if(g.contains(h))return!1;r=r.parentElement}return!!m}},languages:{plain:v,plaintext:v,text:v,txt:v,extend:function(r,l){var m=a.util.clone(a.languages[r]);for(var h in l)m[h]=l[h];return m},insertBefore:function(r,l,m,h){h=h||a.languages;var g=h[r],c={};for(var y in g)if(g.hasOwnProperty(y)){if(y==l)for(var E in m)m.hasOwnProperty(E)&&(c[E]=m[E]);m.hasOwnProperty(y)||(c[y]=g[y])}var O=h[r];return h[r]=c,a.languages.DFS(a.languages,function(P,z){z===O&&P!=r&&(this[P]=c)}),c},DFS:function r(l,m,h,g){g=g||{};var c=a.util.objId;for(var y in l)if(l.hasOwnProperty(y)){m.call(l,y,l[y],h||y);var E=l[y],O=a.util.type(E);O==="Object"&&!g[c(E)]?(g[c(E)]=!0,r(E,m,null,g)):O==="Array"&&!g[c(E)]&&(g[c(E)]=!0,r(E,m,y,g))}}},plugins:{},highlightAll:function(r,l){a.highlightAllUnder(document,r,l)},highlightAllUnder:function(r,l,m){var h={callback:m,container:r,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};a.hooks.run("before-highlightall",h),h.elements=Array.prototype.slice.apply(h.container.querySelectorAll(h.selector)),a.hooks.run("before-all-elements-highlight",h);for(var g=0,c;c=h.elements[g++];)a.highlightElement(c,l===!0,h.callback)},highlightElement:function(r,l,m){var h=a.util.getLanguage(r),g=a.languages[h];a.util.setLanguage(r,h);var c=r.parentElement;c&&c.nodeName.toLowerCase()==="pre"&&a.util.setLanguage(c,h);var y=r.textContent,E={element:r,language:h,grammar:g,code:y};function O(z){E.highlightedCode=z,a.hooks.run("before-insert",E),E.element.innerHTML=E.highlightedCode,a.hooks.run("after-highlight",E),a.hooks.run("complete",E),m&&m.call(E.element)}if(a.hooks.run("before-sanity-check",E),c=E.element.parentElement,c&&c.nodeName.toLowerCase()==="pre"&&!c.hasAttribute("tabindex")&&c.setAttribute("tabindex","0"),!E.code){a.hooks.run("complete",E),m&&m.call(E.element);return}if(a.hooks.run("before-highlight",E),!E.grammar){O(a.util.encode(E.code));return}if(l&&n.Worker){var P=new Worker(a.filename);P.onmessage=function(z){O(z.data)},P.postMessage(JSON.stringify({language:E.language,code:E.code,immediateClose:!0}))}else O(a.highlight(E.code,E.grammar,E.language))},highlight:function(r,l,m){var h={code:r,grammar:l,language:m};if(a.hooks.run("before-tokenize",h),!h.grammar)throw new Error('The language "'+h.language+'" has no grammar.');return h.tokens=a.tokenize(h.code,h.grammar),a.hooks.run("after-tokenize",h),u.stringify(a.util.encode(h.tokens),h.language)},tokenize:function(r,l){var m=l.rest;if(m){for(var h in m)l[h]=m[h];delete l.rest}var g=new w;return o(g,g.head,r),F(r,g,l,g.head,0),_(g)},hooks:{all:{},add:function(r,l){var m=a.hooks.all;m[r]=m[r]||[],m[r].push(l)},run:function(r,l){var m=a.hooks.all[r];if(!(!m||!m.length))for(var h=0,g;g=m[h++];)g(l)}},Token:u};n.Prism=a;function u(r,l,m,h){this.type=r,this.content=l,this.alias=m,this.length=(h||"").length|0}u.stringify=function r(l,m){if(typeof l=="string")return l;if(Array.isArray(l)){var h="";return l.forEach(function(O){h+=r(O,m)}),h}var g={type:l.type,content:r(l.content,m),tag:"span",classes:["token",l.type],attributes:{},language:m},c=l.alias;c&&(Array.isArray(c)?Array.prototype.push.apply(g.classes,c):g.classes.push(c)),a.hooks.run("wrap",g);var y="";for(var E in g.attributes)y+=" "+E+'="'+(g.attributes[E]||"").replace(/"/g,""")+'"';return"<"+g.tag+' class="'+g.classes.join(" ")+'"'+y+">"+g.content+""+g.tag+">"};function p(r,l,m,h){r.lastIndex=l;var g=r.exec(m);if(g&&h&&g[1]){var c=g[1].length;g.index+=c,g[0]=g[0].slice(c)}return g}function F(r,l,m,h,g,c){for(var y in m)if(!(!m.hasOwnProperty(y)||!m[y])){var E=m[y];E=Array.isArray(E)?E:[E];for(var O=0;O=c.reach);te+=H.value.length,H=H.next){var ie=H.value;if(l.length>r.length)return;if(!(ie instanceof u)){var ce=1,ee;if(U){if(ee=p(Z,te,r,G),!ee||ee.index>=r.length)break;var fe=ee.index,Pe=ee.index+ee[0].length,re=te;for(re+=H.value.length;fe>=re;)H=H.next,re+=H.value.length;if(re-=H.value.length,te=re,H.value instanceof u)continue;for(var ue=H;ue!==l.tail&&(rec.reach&&(c.reach=me);var ge=H.prev;pe&&(ge=o(l,ge,pe),te+=pe.length),d(l,ge,ce);var De=new u(y,z?a.tokenize(de,z):de,q,de);if(H=o(l,ge,De),_e&&o(l,H,_e),ce>1){var he={cause:y+","+O,reach:me};F(r,l,m,H.prev,te,he),c&&he.reach>c.reach&&(c.reach=he.reach)}}}}}}function w(){var r={value:null,prev:null,next:null},l={value:null,prev:r,next:null};r.next=l,this.head=r,this.tail=l,this.length=0}function o(r,l,m){var h=l.next,g={value:m,prev:l,next:h};return l.next=g,h.prev=g,r.length++,g}function d(r,l,m){for(var h=l.next,g=0;g/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/?[\da-f]{1,8};/i]},e.languages.markup.tag.inside["attr-value"].inside.entity=e.languages.markup.entity,e.languages.markup.doctype.inside["internal-subset"].inside=e.languages.markup,e.hooks.add("wrap",function(n){n.type==="entity"&&(n.attributes.title=n.content.replace(/&/,"&"))}),Object.defineProperty(e.languages.markup.tag,"addInlined",{value:function(s,i){var v={};v["language-"+i]={pattern:/(^$)/i,lookbehind:!0,inside:e.languages[i]},v.cdata=/^$/i;var a={"included-cdata":{pattern://i,inside:v}};a["language-"+i]={pattern:/[\s\S]+/,inside:e.languages[i]};var u={};u[s]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,function(){return s}),"i"),lookbehind:!0,greedy:!0,inside:a},e.languages.insertBefore("markup","cdata",u)}}),Object.defineProperty(e.languages.markup.tag,"addAttribute",{value:function(n,s){e.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+n+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[s,"language-"+s],inside:e.languages[s]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),e.languages.html=e.languages.markup,e.languages.mathml=e.languages.markup,e.languages.svg=e.languages.markup,e.languages.xml=e.languages.extend("markup",{}),e.languages.ssml=e.languages.xml,e.languages.atom=e.languages.xml,e.languages.rss=e.languages.xml,function(n){var s=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;n.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+s.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+s.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+s.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+s.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:s,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},n.languages.css.atrule.inside.rest=n.languages.css;var i=n.languages.markup;i&&(i.tag.addInlined("style","css"),i.tag.addAttribute("style","css"))}(e),e.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},e.languages.javascript=e.languages.extend("clike",{"class-name":[e.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),e.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,e.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:e.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),e.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:e.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),e.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),e.languages.markup&&(e.languages.markup.tag.addInlined("script","javascript"),e.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),e.languages.js=e.languages.javascript,function(){if(typeof e>"u"||typeof document>"u")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var n="Loading\u2026",s=function(b,k){return"\u2716 Error "+b+" while fetching file: "+k},i="\u2716 Error: File does not exist or is empty",v={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},a="data-src-status",u="loading",p="loaded",F="failed",w="pre[data-src]:not(["+a+'="'+p+'"]):not(['+a+'="'+u+'"])';function o(b,k,x){var r=new XMLHttpRequest;r.open("GET",b,!0),r.onreadystatechange=function(){r.readyState==4&&(r.status<400&&r.responseText?k(r.responseText):r.status>=400?x(s(r.status,r.statusText)):x(i))},r.send(null)}function d(b){var k=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(b||"");if(k){var x=Number(k[1]),r=k[2],l=k[3];return r?l?[x,Number(l)]:[x,void 0]:[x,x]}}e.hooks.add("before-highlightall",function(b){b.selector+=", "+w}),e.hooks.add("before-sanity-check",function(b){var k=b.element;if(k.matches(w)){b.code="",k.setAttribute(a,u);var x=k.appendChild(document.createElement("CODE"));x.textContent=n;var r=k.getAttribute("data-src"),l=b.language;if(l==="none"){var m=(/\.(\w+)$/.exec(r)||[,"none"])[1];l=v[m]||m}e.util.setLanguage(x,l),e.util.setLanguage(k,l);var h=e.plugins.autoloader;h&&h.loadLanguages(l),o(r,function(g){k.setAttribute(a,p);var c=d(k.getAttribute("data-range"));if(c){var y=g.split(/\r\n?|\n/g),E=c[0],O=c[1]==null?y.length:c[1];E<0&&(E+=y.length),E=Math.max(0,Math.min(E-1,y.length)),O<0&&(O+=y.length),O=Math.max(0,Math.min(O,y.length)),g=y.slice(E,O).join(`
+`),k.hasAttribute("data-start")||k.setAttribute("data-start",String(E+1))}x.textContent=g,e.highlightElement(x)},function(g){k.setAttribute(a,F),x.textContent=g})}}),e.plugins.fileHighlight={highlight:function(k){for(var x=(k||document).querySelectorAll(w),r=0,l;l=x[r++];)e.highlightElement(l)}};var _=!1;e.fileHighlight=function(){_||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),_=!0),e.plugins.fileHighlight.highlight.apply(this,arguments)}}()})(Ve);const Oe=Ve.exports,Ae="(if|else if|await|then|catch|each|html|debug)";Prism.languages.svelte=Prism.languages.extend("markup",{each:{pattern:new RegExp("{[#/]each(?:(?:\\{(?:(?:\\{(?:[^{}])*\\})|(?:[^{}]))*\\})|(?:[^{}]))*}"),inside:{"language-javascript":[{pattern:/(as[\s\S]*)\([\s\S]*\)(?=\s*\})/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(as[\s]*)[\s\S]*(?=\s*)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(#each[\s]*)[\s\S]*(?=as)/,lookbehind:!0,inside:Prism.languages.javascript}],keyword:/[#/]each|as/,punctuation:/{|}/}},block:{pattern:new RegExp("{[#:/@]/s"+Ae+"(?:(?:\\{(?:(?:\\{(?:[^{}])*\\})|(?:[^{}]))*\\})|(?:[^{}]))*}"),inside:{punctuation:/^{|}$/,keyword:[new RegExp("[#:/@]"+Ae+"( )*"),/as/,/then/],"language-javascript":{pattern:/[\s\S]*/,inside:Prism.languages.javascript}}},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?:"[^"]*"|'[^']*'|{[\s\S]+?}(?=[\s/>])))|(?=[\s/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"language-javascript":{pattern:/\{(?:(?:\{(?:(?:\{(?:[^{}])*\})|(?:[^{}]))*\})|(?:[^{}]))*\}/,inside:Prism.languages.javascript},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}],"language-javascript":{pattern:/{[\s\S]+}/,inside:Prism.languages.javascript}}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},"language-javascript":{pattern:/\{(?:(?:\{(?:(?:\{(?:[^{}])*\})|(?:[^{}]))*\})|(?:[^{}]))*\}/,lookbehind:!0,inside:Prism.languages.javascript}});Prism.languages.svelte.tag.inside["attr-value"].inside.entity=Prism.languages.svelte.entity;Prism.hooks.add("wrap",f=>{f.type==="entity"&&(f.attributes.title=f.content.replace(/&/,"&"))});Object.defineProperty(Prism.languages.svelte.tag,"addInlined",{value:function(t,e){const n={};n["language-"+e]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[e]},n.cdata=/^$/i;const s={"included-cdata":{pattern://i,inside:n}};s["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};const i={};i[t]={pattern:RegExp(/(<__[\s\S]*?>)(?:\s*|[\s\S])*?(?=<\/__>)/.source.replace(/__/g,t),"i"),lookbehind:!0,greedy:!0,inside:s},Prism.languages.insertBefore("svelte","cdata",i)}});Prism.languages.svelte.tag.addInlined("style","css");Prism.languages.svelte.tag.addInlined("script","javascript");function qe(f){let t,e;return{c(){t=new Ne(!1),e=we(),this.h()},l(n){t=Re(n,!1),e=we(),this.h()},h(){t.a=e},m(n,s){t.m(f[2],n,s),B(n,e,s)},p(n,s){s&4&&t.p(n[2])},d(n){n&&A(e),n&&t.d()}}}function Ze(f){let t;return{c(){t=J(f[2])},l(e){t=X(e,f[2])},m(e,n){B(e,t,n)},p(e,n){n&4&&ve(t,e[2])},d(e){e&&A(t)}}}function Je(f){let t,e,n,s,i,v,a;const u=f[6].default,p=Te(u,f,f[5],null);function F(d,_){return d[0]==="none"?Ze:qe}let w=F(f),o=w(f);return{c(){t=C("code"),p&&p.c(),e=L(),n=C("pre"),s=C("code"),o.c(),this.h()},l(d){t=S(d,"CODE",{style:!0});var _=V(t);p&&p.l(_),_.forEach(A),e=M(d),n=S(d,"PRE",{class:!0,"command-line":!0,"data-output":!0});var b=V(n);s=S(b,"CODE",{class:!0});var k=V(s);o.l(k),k.forEach(A),b.forEach(A),this.h()},h(){Le(t,"display","none"),$(s,"class",i="language-"+f[0]),$(n,"class",v="language-"+f[0]),$(n,"command-line",""),$(n,"data-output","2-17")},m(d,_){B(d,t,_),p&&p.m(t,null),f[7](t),B(d,e,_),B(d,n,_),I(n,s),o.m(s,null),a=!0},p(d,[_]){p&&p.p&&(!a||_&32)&&Me(p,u,d,d[5],a?We(u,d[5],_,null):je(d[5]),null),w===(w=F(d))&&o?o.p(d,_):(o.d(1),o=w(d),o&&(o.c(),o.m(s,null))),(!a||_&1&&i!==(i="language-"+d[0]))&&$(s,"class",i),(!a||_&1&&v!==(v="language-"+d[0]))&&$(n,"class",v)},i(d){a||(D(p,d),a=!0)},o(d){T(p,d),a=!1},d(d){d&&A(t),p&&p.d(d),f[7](null),d&&A(e),d&&A(n),o.d()}}}const Fe=Oe;Oe.highlightElement;const Xe={transform:f=>f};function Ye(f,t,e){let{$$slots:n={},$$scope:s}=t,{language:i="javascript"}=t,{source:v=""}=t,{transform:a=o=>o}=t,u,p;function F(){const o=Fe.languages[i];let d=v||u.textContent;d=Xe.transform(d),d=a(d),e(2,p=i==="none"?d:Fe.highlight(d,o,i))}function w(o){le[o?"unshift":"push"](()=>{u=o,e(1,u)})}return f.$$set=o=>{e(9,t=Ie(Ie({},t),ye(o))),"language"in o&&e(0,i=o.language),"source"in o&&e(3,v=o.source),"transform"in o&&e(4,a=o.transform),"$$scope"in o&&e(5,s=o.$$scope)},f.$$.update=()=>{t&&(v||u)&&F()},t=ye(t),[i,u,p,v,a,s,n,w]}class ne extends Y{constructor(t){super(),K(this,t,Ye,Je,Q,{language:0,source:3,transform:4})}}function Ke(f){let t,e,n,s,i,v;return{c(){t=C("div"),e=C("input"),this.h()},l(a){t=S(a,"DIV",{class:!0});var u=V(t);e=S(u,"INPUT",{name:!0,type:!0,placeholder:!0,maxlength:!0,class:!0,"data-testid":!0,"data-input":!0}),u.forEach(A),this.h()},h(){$(e,"name","input"),$(e,"type",f[1]),$(e,"placeholder",f[2]),e.value=f[0],$(e,"maxlength",1),$(e,"class",n=`${f[4]} inputclass`),$(e,"data-testid",f[5]),$(e,"data-input","elem"),$(t,"class",s=`${f[3]} textcontainer`)},m(a,u){B(a,t,u),I(t,e),f[11](e),i||(v=be(e,"input",f[7]),i=!0)},p(a,[u]){u&2&&$(e,"type",a[1]),u&4&&$(e,"placeholder",a[2]),u&1&&e.value!==a[0]&&(e.value=a[0]),u&16&&n!==(n=`${a[4]} inputclass`)&&$(e,"class",n),u&32&&$(e,"data-testid",a[5]),u&8&&s!==(s=`${a[3]} textcontainer`)&&$(t,"class",s)},i:ae,o:ae,d(a){a&&A(t),f[11](null),i=!1,v()}}}function Qe(f,t,e){let{maskInput:n=!1}=t,{inputType:s=n?"password":"tel"}=t,{value:i=""}=t,{componentIndex:v}=t,{placeholder:a=""}=t,{customInputWrapperClass:u=""}=t,{customInputClass:p=""}=t,{handleChange:F}=t,{dataAttr:w=""}=t,o;function d(b){e(0,i=b.target.value),F&&F(v,b)}function _(b){le[b?"unshift":"push"](()=>{o=b,e(6,o)})}return f.$$set=b=>{"maskInput"in b&&e(8,n=b.maskInput),"inputType"in b&&e(1,s=b.inputType),"value"in b&&e(0,i=b.value),"componentIndex"in b&&e(9,v=b.componentIndex),"placeholder"in b&&e(2,a=b.placeholder),"customInputWrapperClass"in b&&e(3,u=b.customInputWrapperClass),"customInputClass"in b&&e(4,p=b.customInputClass),"handleChange"in b&&e(10,F=b.handleChange),"dataAttr"in b&&e(5,w=b.dataAttr)},[i,s,a,u,p,w,o,d,n,v,F,_]}class et extends Y{constructor(t){super(),K(this,t,Qe,Ke,Q,{maskInput:8,inputType:1,value:0,componentIndex:9,placeholder:2,customInputWrapperClass:3,customInputClass:4,handleChange:10,dataAttr:5})}}function $e(f,t,e){const n=f.slice();return n[20]=t[e],n[21]=t,n[22]=e,n}function ke(f){let t,e,n;return{c(){t=C("p"),e=J(f[0]),this.h()},l(s){t=S(s,"P",{class:!0});var i=V(t);e=X(i,f[0]),i.forEach(A),this.h()},h(){$(t,"class",n=`${f[2]} separator`)},m(s,i){B(s,t,i),I(t,e)},p(s,i){i&1&&ve(e,s[0]),i&4&&n!==(n=`${s[2]} separator`)&&$(t,"class",n)},d(s){s&&A(t)}}}function xe(f){let t,e,n=f[21],s=f[22],i,v,a,u;const p=()=>f[16](e,n,s),F=()=>f[16](null,n,s);let w={value:f[20].initialValue,componentIndex:f[20].componentIndex,handleChange:f[8],placeholder:f[20].placeholder,customInputClass:f[1],customInputWrapperClass:f[5],maskInput:f[6],dataAttr:`elem-${f[22]}`};e=new et({props:w}),p();let o=f[22]!==f[7].length-1&&ke(f);return{c(){t=C("div"),j(e.$$.fragment),i=L(),o&&o.c(),v=L(),this.h()},l(d){t=S(d,"DIV",{class:!0});var _=V(t);W(e.$$.fragment,_),i=M(_),o&&o.l(_),v=M(_),_.forEach(A),this.h()},h(){$(t,"class",a=`${f[3]} otp-row`)},m(d,_){B(d,t,_),N(e,t,null),I(t,i),o&&o.m(t,null),I(t,v),u=!0},p(d,_){(n!==d[21]||s!==d[22])&&(F(),n=d[21],s=d[22],p());const b={};_&128&&(b.value=d[20].initialValue),_&128&&(b.componentIndex=d[20].componentIndex),_&128&&(b.placeholder=d[20].placeholder),_&2&&(b.customInputClass=d[1]),_&32&&(b.customInputWrapperClass=d[5]),_&64&&(b.maskInput=d[6]),e.$set(b),d[22]!==d[7].length-1?o?o.p(d,_):(o=ke(d),o.c(),o.m(t,v)):o&&(o.d(1),o=null),(!u||_&8&&a!==(a=`${d[3]} otp-row`))&&$(t,"class",a)},i(d){u||(D(e.$$.fragment,d),u=!0)},o(d){T(e.$$.fragment,d),u=!1},d(d){d&&A(t),F(),R(e),o&&o.d()}}}function tt(f){let t,e,n,s=f[7],i=[];for(let a=0;aT(i[a],1,1,()=>{i[a]=null});return{c(){t=C("section");for(let a=0;a{const y=i[c]||"",E=v[c]||"";return{componentIndex:`otp${c}`,ref:null,initialValue:y,placeholder:E}})}function x(c,y={}){let E="",O=!0;r.forEach(z=>{var U,q;let G=`${(q=(U=z==null?void 0:z.ref)==null?void 0:U.$$)==null?void 0:q.ctx[0]}`;G||(O=!1),E+=G||" "});let P={completevalue:E,isInputComplete:O&&E.length===n};if(y&&(P={...P,...y}),c)l("notify",P);else return P}let r=k();const l=Ge(),m=()=>x(!1),h=(c,y)=>{var z,G,U,q,oe;const E=y.inputType==="deleteContentBackward",O=r.findIndex(Z=>Z.componentIndex===c);let P;if(E&&_){P=O===0?0:O-1;const Z=(z=r[P])==null?void 0:z.ref;(U=(G=Z==null?void 0:Z.$$)==null?void 0:G.ctx[6])==null||U.focus()}if(!E&&d){P=O{y[E].ref=c,e(7,r),e(10,i),e(14,b)})}return f.$$set=c=>{"numberOfInputs"in c&&e(9,n=c.numberOfInputs),"separator"in c&&e(0,s=c.separator),"initialValue"in c&&e(10,i=c.initialValue),"placeholder"in c&&e(11,v=c.placeholder),"customTextInputClass"in c&&e(1,a=c.customTextInputClass),"customSeparatorClass"in c&&e(2,u=c.customSeparatorClass),"customRowClass"in c&&e(3,p=c.customRowClass),"customWrapperClass"in c&&e(4,F=c.customWrapperClass),"customInputWrapperClass"in c&&e(5,w=c.customInputWrapperClass),"maskInput"in c&&e(6,o=c.maskInput),"autoFocusNextOnInput"in c&&e(12,d=c.autoFocusNextOnInput),"focusPreviousOnDelete"in c&&e(13,_=c.focusPreviousOnDelete),"emitEventOnPrefill"in c&&e(14,b=c.emitEventOnPrefill)},f.$$.update=()=>{if(f.$$.dirty&17408){async function c(){i!==void 0&&i.trim().length>0&&(e(7,r=k()),await Ue(),b&&x(!0,{onValueUpdateOrPrefill:!0}))}c()}},[s,a,u,p,F,w,o,r,h,n,i,v,d,_,b,m,g]}class se extends Y{constructor(t){super(),K(this,t,nt,tt,Q,{numberOfInputs:9,separator:0,initialValue:10,placeholder:11,customTextInputClass:1,customSeparatorClass:2,customRowClass:3,customWrapperClass:4,customInputWrapperClass:5,maskInput:6,autoFocusNextOnInput:12,focusPreviousOnDelete:13,emitEventOnPrefill:14,getValue:15})}get getValue(){return this.$$.ctx[15]}}function at(f){let t,e,n,s,i,v,a,u,p,F,w,o;return i=new ne({props:{language:"html",source:f[0]}}),u=new se({props:{numberOfInputs:6}}),{c(){t=C("main"),e=C("div"),n=C("div"),s=C("div"),j(i.$$.fragment),v=L(),a=C("div"),j(u.$$.fragment),p=L(),F=C("label"),w=J("Number Of Inputs"),this.h()},l(d){t=S(d,"MAIN",{});var _=V(t);e=S(_,"DIV",{});var b=V(e);n=S(b,"DIV",{class:!0});var k=V(n);s=S(k,"DIV",{class:!0});var x=V(s);W(i.$$.fragment,x),x.forEach(A),v=M(k),a=S(k,"DIV",{});var r=V(a);W(u.$$.fragment,r),r.forEach(A),p=M(k),F=S(k,"LABEL",{class:!0,for:!0});var l=V(F);w=X(l,"Number Of Inputs"),l.forEach(A),k.forEach(A),b.forEach(A),_.forEach(A),this.h()},h(){$(s,"class","codesnippet"),$(F,"class","textEmitted"),$(F,"for","number-of-inputs"),$(n,"class","container")},m(d,_){B(d,t,_),I(t,e),I(e,n),I(n,s),N(i,s,null),I(n,v),I(n,a),N(u,a,null),I(n,p),I(n,F),I(F,w),o=!0},p:ae,i(d){o||(D(i.$$.fragment,d),D(u.$$.fragment,d),o=!0)},o(d){T(i.$$.fragment,d),T(u.$$.fragment,d),o=!1},d(d){d&&A(t),R(i),R(u)}}}function rt(f){return[`
+ `]}class st extends Y{constructor(t){super(),K(this,t,rt,at,Q,{})}}function lt(f){let t,e,n,s,i,v,a,u,p,F,w,o,d,_,b,k,x,r,l,m,h;return s=new ne({props:{language:"html",source:f[0]}}),a=new se({props:{numberOfInputs:4,placeholder:"****"}}),_=new ne({props:{language:"html",source:f[1]}}),x=new se({props:{separator:"-",placeholder:"******",numberOfInputs:6}}),{c(){t=C("main"),e=C("div"),n=C("div"),j(s.$$.fragment),i=L(),v=C("div"),j(a.$$.fragment),u=L(),p=C("label"),F=J("Placeholder : *"),w=L(),o=C("div"),d=C("div"),j(_.$$.fragment),b=L(),k=C("div"),j(x.$$.fragment),r=L(),l=C("label"),m=J("Separator : -"),this.h()},l(g){t=S(g,"MAIN",{});var c=V(t);e=S(c,"DIV",{class:!0});var y=V(e);n=S(y,"DIV",{class:!0});var E=V(n);W(s.$$.fragment,E),E.forEach(A),i=M(y),v=S(y,"DIV",{});var O=V(v);W(a.$$.fragment,O),O.forEach(A),u=M(y),p=S(y,"LABEL",{class:!0,for:!0});var P=V(p);F=X(P,"Placeholder : *"),P.forEach(A),y.forEach(A),w=M(c),o=S(c,"DIV",{class:!0});var z=V(o);d=S(z,"DIV",{class:!0});var G=V(d);W(_.$$.fragment,G),G.forEach(A),b=M(z),k=S(z,"DIV",{});var U=V(k);W(x.$$.fragment,U),U.forEach(A),r=M(z),l=S(z,"LABEL",{class:!0,for:!0});var q=V(l);m=X(q,"Separator : -"),q.forEach(A),z.forEach(A),c.forEach(A),this.h()},h(){$(n,"class","codesnippet"),$(p,"class","textEmitted"),$(p,"for","name"),$(e,"class","container"),$(d,"class","codesnippet"),$(l,"class","textEmitted"),$(l,"for","name"),$(o,"class","container")},m(g,c){B(g,t,c),I(t,e),I(e,n),N(s,n,null),I(e,i),I(e,v),N(a,v,null),I(e,u),I(e,p),I(p,F),I(t,w),I(t,o),I(o,d),N(_,d,null),I(o,b),I(o,k),N(x,k,null),I(o,r),I(o,l),I(l,m),h=!0},p:ae,i(g){h||(D(s.$$.fragment,g),D(a.$$.fragment,g),D(_.$$.fragment,g),D(x.$$.fragment,g),h=!0)},o(g){T(s.$$.fragment,g),T(a.$$.fragment,g),T(_.$$.fragment,g),T(x.$$.fragment,g),h=!1},d(g){g&&A(t),R(s),R(a),R(_),R(x)}}}function it(f){return[`
+ `,`
+ `]}class ut extends Y{constructor(t){super(),K(this,t,it,lt,Q,{})}}function ot(f){let t,e,n,s,i,v,a,u,p,F;return s=new ne({props:{language:"html",source:f[0]}}),v=new se({props:{numberOfInputs:4,placeholder:"****",separator:"-",customWrapperClass:"customWrapperClass",customSeparatorClass:"customSeparatorClass",customRowClass:"customRowClass",customInputWrapperClass:"customInputWrapperClass",customTextInputClass:"customTextInputClass"}}),{c(){t=C("main"),e=C("div"),n=C("div"),j(s.$$.fragment),i=L(),j(v.$$.fragment),a=L(),u=C("label"),p=J("Css Classes"),this.h()},l(w){t=S(w,"MAIN",{});var o=V(t);e=S(o,"DIV",{class:!0});var d=V(e);n=S(d,"DIV",{class:!0});var _=V(n);W(s.$$.fragment,_),_.forEach(A),i=M(d),W(v.$$.fragment,d),a=M(d),u=S(d,"LABEL",{class:!0,for:!0});var b=V(u);p=X(b,"Css Classes"),b.forEach(A),d.forEach(A),o.forEach(A),this.h()},h(){$(n,"class","codesnippet prism-multi"),$(u,"class","textEmitted"),$(u,"for","name"),$(e,"class","container")},m(w,o){B(w,t,o),I(t,e),I(e,n),N(s,n,null),I(e,i),N(v,e,null),I(e,a),I(e,u),I(u,p),F=!0},p:ae,i(w){F||(D(s.$$.fragment,w),D(v.$$.fragment,w),F=!0)},o(w){T(s.$$.fragment,w),T(v.$$.fragment,w),F=!1},d(w){w&&A(t),R(s),R(v)}}}function ct(f){return[`
+ `]}class ft extends Y{constructor(t){super(),K(this,t,ct,ot,Q,{})}}function dt(f){let t,e,n,s,i,v,a,u,p,F,w;return s=new ne({props:{language:"html",source:f[0]}}),a=new se({props:{separator:"-",maskInput:!1,numberOfInputs:4,placeholder:"****",initialValue:"1234"}}),{c(){t=C("main"),e=C("div"),n=C("div"),j(s.$$.fragment),i=L(),v=C("div"),j(a.$$.fragment),u=L(),p=C("label"),F=J("Masking Input"),this.h()},l(o){t=S(o,"MAIN",{});var d=V(t);e=S(d,"DIV",{class:!0});var _=V(e);n=S(_,"DIV",{class:!0});var b=V(n);W(s.$$.fragment,b),b.forEach(A),i=M(_),v=S(_,"DIV",{});var k=V(v);W(a.$$.fragment,k),k.forEach(A),u=M(_),p=S(_,"LABEL",{class:!0,for:!0});var x=V(p);F=X(x,"Masking Input"),x.forEach(A),_.forEach(A),d.forEach(A),this.h()},h(){$(n,"class","codesnippet"),$(p,"class","textEmitted"),$(p,"for","name"),$(e,"class","container")},m(o,d){B(o,t,d),I(t,e),I(e,n),N(s,n,null),I(e,i),I(e,v),N(a,v,null),I(e,u),I(e,p),I(p,F),w=!0},p:ae,i(o){w||(D(s.$$.fragment,o),D(a.$$.fragment,o),w=!0)},o(o){T(s.$$.fragment,o),T(a.$$.fragment,o),w=!1},d(o){o&&A(t),R(s),R(a)}}}function gt(f){return[`
+ `]}class pt extends Y{constructor(t){super(),K(this,t,gt,dt,Q,{})}}function mt(f){let t,e,n,s,i,v,a,u,p,F,w;return s=new ne({props:{language:"html",source:f[0]}}),a=new se({props:{separator:"-",maskInput:!0,numberOfInputs:4,placeholder:"****",autoFocusNextOnInput:!0,focusPreviousOnDelete:!0}}),{c(){t=C("main"),e=C("div"),n=C("div"),j(s.$$.fragment),i=L(),v=C("div"),j(a.$$.fragment),u=L(),p=C("label"),F=J("Focus Change on Input/Delete"),this.h()},l(o){t=S(o,"MAIN",{});var d=V(t);e=S(d,"DIV",{class:!0});var _=V(e);n=S(_,"DIV",{class:!0});var b=V(n);W(s.$$.fragment,b),b.forEach(A),i=M(_),v=S(_,"DIV",{});var k=V(v);W(a.$$.fragment,k),k.forEach(A),u=M(_),p=S(_,"LABEL",{class:!0,for:!0});var x=V(p);F=X(x,"Focus Change on Input/Delete"),x.forEach(A),_.forEach(A),d.forEach(A),this.h()},h(){$(n,"class","codesnippet"),$(p,"class","textEmitted"),$(p,"for","name"),$(e,"class","container")},m(o,d){B(o,t,d),I(t,e),I(e,n),N(s,n,null),I(e,i),I(e,v),N(a,v,null),I(e,u),I(e,p),I(p,F),w=!0},p:ae,i(o){w||(D(s.$$.fragment,o),D(a.$$.fragment,o),w=!0)},o(o){T(s.$$.fragment,o),T(a.$$.fragment,o),w=!1},d(o){o&&A(t),R(s),R(a)}}}function ht(f){return[`
+ `]}class vt extends Y{constructor(t){super(),K(this,t,ht,mt,Q,{})}}function bt(f){let t,e,n,s,i,v,a,u,p,F,w,o,d,_,b,k,x,r,l;s=new ne({props:{language:"html",source:f[5]}}),v=new ne({props:{language:"html",source:f[6]}});function m(g){f[7](g)}let h={numberOfInputs:4,separator:"*",placeholder:"0000",maskInput:!1,autoFocusNextOnInput:!0,focusPreviousOnDelete:!0,emitEventOnPrefill:!0};return f[0]!==void 0&&(h.initialValue=f[0]),u=new se({props:h}),le.push(()=>Ce(u,"initialValue",m)),f[8](u),u.$on("notify",f[4]),{c(){t=C("main"),e=C("div"),n=C("div"),j(s.$$.fragment),i=L(),j(v.$$.fragment),a=L(),j(u.$$.fragment),F=L(),w=C("p"),o=J("EmittedValue: "),d=J(f[1]),_=L(),b=C("div"),k=J("Get Value"),this.h()},l(g){t=S(g,"MAIN",{});var c=V(t);e=S(c,"DIV",{class:!0});var y=V(e);n=S(y,"DIV",{class:!0});var E=V(n);W(s.$$.fragment,E),i=M(E),W(v.$$.fragment,E),E.forEach(A),a=M(y),W(u.$$.fragment,y),F=M(y),w=S(y,"P",{class:!0});var O=V(w);o=X(O,"EmittedValue: "),d=X(O,f[1]),O.forEach(A),_=M(y),b=S(y,"DIV",{class:!0});var P=V(b);k=X(P,"Get Value"),P.forEach(A),y.forEach(A),c.forEach(A),this.h()},h(){$(n,"class","codesnippet prism-multi"),$(w,"class","textEmitted"),$(b,"class","button-otp"),$(e,"class","container")},m(g,c){B(g,t,c),I(t,e),I(e,n),N(s,n,null),I(n,i),N(v,n,null),I(e,a),N(u,e,null),I(e,F),I(e,w),I(w,o),I(w,d),I(e,_),I(e,b),I(b,k),x=!0,r||(l=be(b,"click",f[3]),r=!0)},p(g,[c]){const y={};!p&&c&1&&(p=!0,y.initialValue=g[0],Se(()=>p=!1)),u.$set(y),(!x||c&2)&&ve(d,g[1])},i(g){x||(D(s.$$.fragment,g),D(v.$$.fragment,g),D(u.$$.fragment,g),x=!0)},o(g){T(s.$$.fragment,g),T(v.$$.fragment,g),T(u.$$.fragment,g),x=!1},d(g){g&&A(t),R(s),R(v),f[8](null),R(u),r=!1,l()}}}function _t(f,t,e){let n="",s="",i;function v(){alert(JSON.stringify(i==null?void 0:i.getValue()))}function a(o){e(1,s=JSON.stringify(o.detail))}const u=`
+ // script
+ let value = '';
+ let otpInstance: {getValue: () => void};
+ function handleClick() {
+ console.log('value on click',
+ otpInstance?.getValue());
+ }
+ function callbackFunction(event: CustomEvent) {
+ console.log('emittedValue', event.detail);
+ }
+`,p=`
+ `;function F(o){n=o,e(0,n)}function w(o){le[o?"unshift":"push"](()=>{i=o,e(2,i)})}return[n,s,i,v,a,u,p,F,w]}class It extends Y{constructor(t){super(),K(this,t,_t,bt,Q,{})}}function yt(f){let t,e,n,s,i,v,a,u,p,F,w,o,d,_,b;s=new ne({props:{language:"html",source:f[3]}}),v=new ne({props:{language:"html",source:f[4]}});function k(r){f[5](r)}let x={numberOfInputs:4,separator:"*",placeholder:"0000",maskInput:!1,autoFocusNextOnInput:!0,focusPreviousOnDelete:!0,emitEventOnPrefill:!1};return f[0]!==void 0&&(x.initialValue=f[0]),u=new se({props:x}),le.push(()=>Ce(u,"initialValue",k)),f[6](u),u.$on("notify",wt),{c(){t=C("main"),e=C("div"),n=C("div"),j(s.$$.fragment),i=L(),j(v.$$.fragment),a=L(),j(u.$$.fragment),F=L(),w=C("button"),o=J("Prefill"),this.h()},l(r){t=S(r,"MAIN",{});var l=V(t);e=S(l,"DIV",{class:!0});var m=V(e);n=S(m,"DIV",{class:!0});var h=V(n);W(s.$$.fragment,h),i=M(h),W(v.$$.fragment,h),h.forEach(A),a=M(m),W(u.$$.fragment,m),F=M(m),w=S(m,"BUTTON",{class:!0});var g=V(w);o=X(g,"Prefill"),g.forEach(A),m.forEach(A),l.forEach(A),this.h()},h(){$(n,"class","codesnippet prism-multi"),$(w,"class","button-otp"),$(e,"class","container")},m(r,l){B(r,t,l),I(t,e),I(e,n),N(s,n,null),I(n,i),N(v,n,null),I(e,a),N(u,e,null),I(e,F),I(e,w),I(w,o),d=!0,_||(b=be(w,"click",f[2]),_=!0)},p(r,[l]){const m={};!p&&l&1&&(p=!0,m.initialValue=r[0],Se(()=>p=!1)),u.$set(m)},i(r){d||(D(s.$$.fragment,r),D(v.$$.fragment,r),D(u.$$.fragment,r),d=!0)},o(r){T(s.$$.fragment,r),T(v.$$.fragment,r),T(u.$$.fragment,r),d=!1},d(r){r&&A(t),R(s),R(v),f[6](null),R(u),_=!1,b()}}}function wt(f){console.log("emittedValue",f.detail)}function Et(f,t,e){let n="2345",s;function i(){e(0,n="1234")}const v=`
+ // script
+ let value = '';
+ function callbackFunction(event: CustomEvent) {
+ console.log('emittedValue', event.detail);
+ }
+ function handlePrefill() {
+ value = '123456';
+ }
+`,a=`
+ `;function u(F){n=F,e(0,n)}function p(F){le[F?"unshift":"push"](()=>{s=F,e(1,s)})}return[n,s,i,v,a,u,p]}class At extends Y{constructor(t){super(),K(this,t,Et,yt,Q,{})}}function Ft(f){let t,e,n,s,i,v,a,u,p,F,w,o,d,_,b,k,x,r,l,m,h,g;return n=new st({}),v=new ut({}),p=new pt({}),o=new vt({}),b=new It({}),r=new ft({}),h=new At({}),{c(){t=C("main"),e=C("div"),j(n.$$.fragment),s=L(),i=C("div"),j(v.$$.fragment),a=L(),u=C("div"),j(p.$$.fragment),F=L(),w=C("div"),j(o.$$.fragment),d=L(),_=C("div"),j(b.$$.fragment),k=L(),x=C("div"),j(r.$$.fragment),l=L(),m=C("div"),j(h.$$.fragment),this.h()},l(c){t=S(c,"MAIN",{class:!0});var y=V(t);e=S(y,"DIV",{class:!0});var E=V(e);W(n.$$.fragment,E),E.forEach(A),s=M(y),i=S(y,"DIV",{class:!0});var O=V(i);W(v.$$.fragment,O),O.forEach(A),a=M(y),u=S(y,"DIV",{class:!0});var P=V(u);W(p.$$.fragment,P),P.forEach(A),F=M(y),w=S(y,"DIV",{class:!0});var z=V(w);W(o.$$.fragment,z),z.forEach(A),d=M(y),_=S(y,"DIV",{class:!0});var G=V(_);W(b.$$.fragment,G),G.forEach(A),k=M(y),x=S(y,"DIV",{class:!0});var U=V(x);W(r.$$.fragment,U),U.forEach(A),l=M(y),m=S(y,"DIV",{class:!0});var q=V(m);W(h.$$.fragment,q),q.forEach(A),y.forEach(A),this.h()},h(){$(e,"class","example"),$(i,"class","example"),$(u,"class","example"),$(w,"class","example"),$(_,"class","example"),$(x,"class","example"),$(m,"class","example"),$(t,"class","main-container")},m(c,y){B(c,t,y),I(t,e),N(n,e,null),I(t,s),I(t,i),N(v,i,null),I(t,a),I(t,u),N(p,u,null),I(t,F),I(t,w),N(o,w,null),I(t,d),I(t,_),N(b,_,null),I(t,k),I(t,x),N(r,x,null),I(t,l),I(t,m),N(h,m,null),g=!0},p:ae,i(c){g||(D(n.$$.fragment,c),D(v.$$.fragment,c),D(p.$$.fragment,c),D(o.$$.fragment,c),D(b.$$.fragment,c),D(r.$$.fragment,c),D(h.$$.fragment,c),g=!0)},o(c){T(n.$$.fragment,c),T(v.$$.fragment,c),T(p.$$.fragment,c),T(o.$$.fragment,c),T(b.$$.fragment,c),T(r.$$.fragment,c),T(h.$$.fragment,c),g=!1},d(c){c&&A(t),R(n),R(v),R(p),R(o),R(b),R(r),R(h)}}}class $t extends Y{constructor(t){super(),K(this,t,null,Ft,Q,{})}}function kt(f){let t,e,n;return e=new $t({}),{c(){t=C("main"),j(e.$$.fragment)},l(s){t=S(s,"MAIN",{});var i=V(t);W(e.$$.fragment,i),i.forEach(A)},m(s,i){B(s,t,i),N(e,t,null),n=!0},p:ae,i(s){n||(D(e.$$.fragment,s),n=!0)},o(s){T(e.$$.fragment,s),n=!1},d(s){s&&A(t),R(e)}}}class Ct extends Y{constructor(t){super(),K(this,t,null,kt,Q,{})}}export{Ct as default};
diff --git a/.svelte-kit/output/client/_app/immutable/components/pages/about/_page.svelte-1fa8bff8.js b/.svelte-kit/output/client/_app/immutable/components/pages/about/_page.svelte-1fa8bff8.js
new file mode 100644
index 0000000..52aefa6
--- /dev/null
+++ b/.svelte-kit/output/client/_app/immutable/components/pages/about/_page.svelte-1fa8bff8.js
@@ -0,0 +1 @@
+import{S as r,i as l,s as c,k as d,q as m,l as p,m as u,r as _,h as o,b as f,F as h,A as n}from"../../../chunks/index-7f6b22fc.js";function v(i){let a,s;return{c(){a=d("div"),s=m("I am about page")},l(e){a=p(e,"DIV",{});var t=u(a);s=_(t,"I am about page"),t.forEach(o)},m(e,t){f(e,a,t),h(a,s)},p:n,i:n,o:n,d(e){e&&o(a)}}}class g extends r{constructor(a){super(),l(this,a,null,v,c,{})}}export{g as default};
diff --git a/.svelte-kit/output/client/_app/immutable/start-ac961162.js b/.svelte-kit/output/client/_app/immutable/start-ac961162.js
new file mode 100644
index 0000000..676ff33
--- /dev/null
+++ b/.svelte-kit/output/client/_app/immutable/start-ac961162.js
@@ -0,0 +1 @@
+import{S as He,i as Me,s as Xe,a as Ye,e as x,c as Qe,b as z,g as le,t as B,d as ce,f as J,h as F,j as Ze,o as ye,k as et,l as tt,m as nt,n as ge,p as C,q as at,r as rt,u as st,v as W,w as Re,x as H,y as M,z as Ve}from"./chunks/index-7f6b22fc.js";import{g as xe,f as Be,s as K,a as be,b as ot,i as it}from"./chunks/singletons-55cfcc32.js";const lt=function(){const e=document.createElement("link").relList;return e&&e.supports&&e.supports("modulepreload")?"modulepreload":"preload"}(),ct=function(n,e){return new URL(n,e).href},Je={},Z=function(e,t,c){return!t||t.length===0?e():Promise.all(t.map(o=>{if(o=ct(o,c),o in Je)return;Je[o]=!0;const d=o.endsWith(".css"),r=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${o}"]${r}`))return;const f=document.createElement("link");if(f.rel=d?"stylesheet":lt,d||(f.as="script",f.crossOrigin=""),f.href=o,document.head.appendChild(f),d)return new Promise((_,m)=>{f.addEventListener("load",_),f.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>e())};function ft(n,e){return n==="/"||e==="ignore"?n:e==="never"?n.endsWith("/")?n.slice(0,-1):n:e==="always"&&!n.endsWith("/")?n+"/":n}function ut(n){for(const e in n)n[e]=n[e].replace(/%23/g,"#").replace(/%3[Bb]/g,";").replace(/%2[Cc]/g,",").replace(/%2[Ff]/g,"/").replace(/%3[Ff]/g,"?").replace(/%3[Aa]/g,":").replace(/%40/g,"@").replace(/%26/g,"&").replace(/%3[Dd]/g,"=").replace(/%2[Bb]/g,"+").replace(/%24/g,"$");return n}const dt=["href","pathname","search","searchParams","toString","toJSON"];function pt(n,e){const t=new URL(n);for(const c of dt){let o=t[c];Object.defineProperty(t,c,{get(){return e(),o},enumerable:!0,configurable:!0})}return t[Symbol.for("nodejs.util.inspect.custom")]=(c,o,d)=>d(n,o),ht(t),t}function ht(n){Object.defineProperty(n,"hash",{get(){throw new Error("Cannot access event.url.hash. Consider using `$page.url.hash` inside a component instead")}})}function mt(n){let e=5381,t=n.length;if(typeof n=="string")for(;t;)e=e*33^n.charCodeAt(--t);else for(;t;)e=e*33^n[--t];return(e>>>0).toString(36)}const Se=window.fetch;window.fetch=(n,e)=>{if((n instanceof Request?n.method:(e==null?void 0:e.method)||"GET")!=="GET"){const c=new URL(n instanceof Request?n.url:n.toString(),document.baseURI).href;ie.delete(c)}return Se(n,e)};const ie=new Map;function _t(n,e,t){let o=`script[data-sveltekit-fetched][data-url=${JSON.stringify(n instanceof Request?n.url:n)}]`;t&&typeof t.body=="string"&&(o+=`[data-hash="${mt(t.body)}"]`);const d=document.querySelector(o);if(d!=null&&d.textContent){const{body:r,...f}=JSON.parse(d.textContent),_=d.getAttribute("data-ttl");return _&&ie.set(e,{body:r,init:f,ttl:1e3*Number(_)}),Promise.resolve(new Response(r,f))}return Se(n,t)}function gt(n,e){const t=ie.get(n);if(t){if(performance.now(){const _=decodeURIComponent(d),m=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(_);if(m)return e.push(m[1]),t.push(m[2]),"(?:/(.*))?";const y=r===f.length-1;return _&&"/"+_.split(/\[(.+?)\]/).map(($,R)=>{if(R%2){const N=wt.exec($);if(!N)throw new Error(`Invalid param: ${$}. Params and matcher names can only have underscores and alphanumeric characters.`);const[,D,q,T]=N;return e.push(q),t.push(T),D?"(.*?)":"([^/]+?)"}return y&&$.includes(".")&&(c=!1),$.normalize().replace(/%5[Bb]/g,"[").replace(/%5[Dd]/g,"]").replace(/#/g,"%23").replace(/\?/g,"%3F").replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}).join("")}).join("")}${c?"/?":""}$`),names:e,types:t}}function bt(n){return!/^\([^)]+\)$/.test(n)}function vt(n,e,t,c){const o={};for(let d=0;d{const{pattern:$,names:R,types:N}=yt(f),D={id:f,exec:q=>{const T=$.exec(q);if(T)return vt(T,R,N,c)},errors:[1,...y||[]].map(q=>n[q]),layouts:[0,...m||[]].map(r),leaf:d(_)};return D.errors.length=D.layouts.length=Math.max(D.errors.length,D.layouts.length),D});function d(f){const _=f<0;return _&&(f=~f),[_,n[f]]}function r(f){return f===void 0?f:[o.has(f),n[f]]}}function Et(n){let e,t,c;var o=n[0][0];function d(r){return{props:{data:r[2],form:r[1]}}}return o&&(e=new o(d(n))),{c(){e&&W(e.$$.fragment),t=x()},l(r){e&&Re(e.$$.fragment,r),t=x()},m(r,f){e&&H(e,r,f),z(r,t,f),c=!0},p(r,f){const _={};if(f&4&&(_.data=r[2]),f&2&&(_.form=r[1]),o!==(o=r[0][0])){if(e){le();const m=e;B(m.$$.fragment,1,0,()=>{M(m,1)}),ce()}o?(e=new o(d(r)),W(e.$$.fragment),J(e.$$.fragment,1),H(e,t.parentNode,t)):e=null}else o&&e.$set(_)},i(r){c||(e&&J(e.$$.fragment,r),c=!0)},o(r){e&&B(e.$$.fragment,r),c=!1},d(r){r&&F(t),e&&M(e,r)}}}function Rt(n){let e,t,c;var o=n[0][0];function d(r){return{props:{data:r[2],$$slots:{default:[St]},$$scope:{ctx:r}}}}return o&&(e=new o(d(n))),{c(){e&&W(e.$$.fragment),t=x()},l(r){e&&Re(e.$$.fragment,r),t=x()},m(r,f){e&&H(e,r,f),z(r,t,f),c=!0},p(r,f){const _={};if(f&4&&(_.data=r[2]),f&523&&(_.$$scope={dirty:f,ctx:r}),o!==(o=r[0][0])){if(e){le();const m=e;B(m.$$.fragment,1,0,()=>{M(m,1)}),ce()}o?(e=new o(d(r)),W(e.$$.fragment),J(e.$$.fragment,1),H(e,t.parentNode,t)):e=null}else o&&e.$set(_)},i(r){c||(e&&J(e.$$.fragment,r),c=!0)},o(r){e&&B(e.$$.fragment,r),c=!1},d(r){r&&F(t),e&&M(e,r)}}}function St(n){let e,t,c;var o=n[0][1];function d(r){return{props:{data:r[3],form:r[1]}}}return o&&(e=new o(d(n))),{c(){e&&W(e.$$.fragment),t=x()},l(r){e&&Re(e.$$.fragment,r),t=x()},m(r,f){e&&H(e,r,f),z(r,t,f),c=!0},p(r,f){const _={};if(f&8&&(_.data=r[3]),f&2&&(_.form=r[1]),o!==(o=r[0][1])){if(e){le();const m=e;B(m.$$.fragment,1,0,()=>{M(m,1)}),ce()}o?(e=new o(d(r)),W(e.$$.fragment),J(e.$$.fragment,1),H(e,t.parentNode,t)):e=null}else o&&e.$set(_)},i(r){c||(e&&J(e.$$.fragment,r),c=!0)},o(r){e&&B(e.$$.fragment,r),c=!1},d(r){r&&F(t),e&&M(e,r)}}}function Fe(n){let e,t=n[5]&&Ke(n);return{c(){e=et("div"),t&&t.c(),this.h()},l(c){e=tt(c,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var o=nt(e);t&&t.l(o),o.forEach(F),this.h()},h(){ge(e,"id","svelte-announcer"),ge(e,"aria-live","assertive"),ge(e,"aria-atomic","true"),C(e,"position","absolute"),C(e,"left","0"),C(e,"top","0"),C(e,"clip","rect(0 0 0 0)"),C(e,"clip-path","inset(50%)"),C(e,"overflow","hidden"),C(e,"white-space","nowrap"),C(e,"width","1px"),C(e,"height","1px")},m(c,o){z(c,e,o),t&&t.m(e,null)},p(c,o){c[5]?t?t.p(c,o):(t=Ke(c),t.c(),t.m(e,null)):t&&(t.d(1),t=null)},d(c){c&&F(e),t&&t.d()}}}function Ke(n){let e;return{c(){e=at(n[6])},l(t){e=rt(t,n[6])},m(t,c){z(t,e,c)},p(t,c){c&64&&st(e,t[6])},d(t){t&&F(e)}}}function Lt(n){let e,t,c,o,d;const r=[Rt,Et],f=[];function _(y,$){return y[0][1]?0:1}e=_(n),t=f[e]=r[e](n);let m=n[4]&&Fe(n);return{c(){t.c(),c=Ye(),m&&m.c(),o=x()},l(y){t.l(y),c=Qe(y),m&&m.l(y),o=x()},m(y,$){f[e].m(y,$),z(y,c,$),m&&m.m(y,$),z(y,o,$),d=!0},p(y,[$]){let R=e;e=_(y),e===R?f[e].p(y,$):(le(),B(f[R],1,1,()=>{f[R]=null}),ce(),t=f[e],t?t.p(y,$):(t=f[e]=r[e](y),t.c()),J(t,1),t.m(c.parentNode,c)),y[4]?m?m.p(y,$):(m=Fe(y),m.c(),m.m(o.parentNode,o)):m&&(m.d(1),m=null)},i(y){d||(J(t),d=!0)},o(y){B(t),d=!1},d(y){f[e].d(y),y&&F(c),m&&m.d(y),y&&F(o)}}}function $t(n,e,t){let{stores:c}=e,{page:o}=e,{components:d}=e,{form:r}=e,{data_0:f=null}=e,{data_1:_=null}=e;Ze(c.page.notify);let m=!1,y=!1,$=null;return ye(()=>{const R=c.page.subscribe(()=>{m&&(t(5,y=!0),t(6,$=document.title||"untitled page"))});return t(4,m=!0),R}),n.$$set=R=>{"stores"in R&&t(7,c=R.stores),"page"in R&&t(8,o=R.page),"components"in R&&t(0,d=R.components),"form"in R&&t(1,r=R.form),"data_0"in R&&t(2,f=R.data_0),"data_1"in R&&t(3,_=R.data_1)},n.$$.update=()=>{n.$$.dirty&384&&c.page.set(o)},[d,r,f,_,m,y,$,c,o]}class Pt extends He{constructor(e){super(),Me(this,e,$t,Lt,Xe,{stores:7,page:8,components:0,form:1,data_0:2,data_1:3})}}const Ot={},fe=[()=>Z(()=>import("./chunks/0-1617b617.js"),["chunks/0-1617b617.js","components/layout.svelte-deb581e7.js","chunks/index-7f6b22fc.js"],import.meta.url),()=>Z(()=>import("./chunks/1-c21b9877.js"),["chunks/1-c21b9877.js","components/error.svelte-d5894b78.js","chunks/index-7f6b22fc.js","chunks/singletons-55cfcc32.js"],import.meta.url),()=>Z(()=>import("./chunks/2-63a65db5.js"),["chunks/2-63a65db5.js","components/pages/_page.svelte-672ad880.js","assets/_page-95bb6e63.css","chunks/index-7f6b22fc.js"],import.meta.url),()=>Z(()=>import("./chunks/3-835f3c0f.js"),["chunks/3-835f3c0f.js","components/pages/about/_page.svelte-1fa8bff8.js","chunks/index-7f6b22fc.js"],import.meta.url)],It=[],Ut={"":[2],about:[3]},jt={handleError:({error:n})=>{console.error(n)}};class ve{constructor(e,t){this.status=e,typeof t=="string"?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}}class ze{constructor(e,t){this.status=e,this.location=t}}const At="/__data.js";async function Nt(n){var e;for(const t in n)if(typeof((e=n[t])==null?void 0:e.then)=="function")return Object.fromEntries(await Promise.all(Object.entries(n).map(async([c,o])=>[c,await o])));return n}const We="sveltekit:scroll",V="sveltekit:index",re=kt(fe,It,Ut,Ot),ke=fe[0],Ee=fe[1];ke();Ee();let ee={};try{ee=JSON.parse(sessionStorage[We])}catch{}function we(n){ee[n]=be()}function Tt({target:n,base:e,trailing_slash:t}){var De;const c=[];let o=null;const d={before_navigate:[],after_navigate:[]};let r={branch:[],error:null,url:null},f=!1,_=!1,m=!0,y=!1,$=!1,R,N=(De=history.state)==null?void 0:De[V];N||(N=Date.now(),history.replaceState({...history.state,[V]:N},"",location.href));const D=ee[N];D&&(history.scrollRestoration="manual",scrollTo(D.x,D.y));let q=!1,T,Le,te;async function $e(){te=te||Promise.resolve(),await te,te=null;const a=new URL(location.href),l=he(a,!0);o=null,await Oe(l,a,[])}async function ue(a,{noscroll:l=!1,replaceState:u=!1,keepfocus:s=!1,state:i={}},p,h){return typeof a=="string"&&(a=new URL(a,xe(document))),me({url:a,scroll:l?be():null,keepfocus:s,redirect_chain:p,details:{state:i,replaceState:u},nav_token:h,accepted:()=>{},blocked:()=>{},type:"goto"})}async function Pe(a){const l=he(a,!1);if(!l)throw new Error("Attempted to prefetch a URL that does not belong to this app");return o={id:l.id,promise:je(l)},o.promise}async function Oe(a,l,u,s,i={},p){var k,v;Le=i;let h=a&&await je(a);if(h||(h=await Te(l,null,Q(new Error(`Not found: ${l.pathname}`),{url:l,params:{},routeId:null}),404)),l=(a==null?void 0:a.url)||l,Le!==i)return!1;if(h.type==="redirect")if(u.length>10||u.includes(l.pathname))h=await ne({status:500,error:Q(new Error("Redirect loop"),{url:l,params:{},routeId:null}),url:l,routeId:null});else return ue(new URL(h.location,l).href,{},[...u,l.pathname],i),!1;else((v=(k=h.props)==null?void 0:k.page)==null?void 0:v.status)>=400&&await K.updated.check()&&await ae(l);if(c.length=0,$=!1,y=!0,s&&s.details){const{details:w}=s,b=w.replaceState?0:1;w.state[V]=N+=b,history[w.replaceState?"replaceState":"pushState"](w.state,"",l)}if(o=null,_){r=h.state,h.props.page&&(h.props.page.url=l);const w=oe();R.$set(h.props),w()}else Ie(h);if(s){const{scroll:w,keepfocus:b}=s;if(!b){const S=document.body,P=S.getAttribute("tabindex");S.tabIndex=-1,S.focus({preventScroll:!0}),setTimeout(()=>{var O;(O=getSelection())==null||O.removeAllRanges()}),P!==null?S.setAttribute("tabindex",P):S.removeAttribute("tabindex")}if(await Ve(),m){const S=l.hash&&document.getElementById(l.hash.slice(1));w?scrollTo(w.x,w.y):S?S.scrollIntoView():scrollTo(0,0)}}else await Ve();m=!0,h.props.page&&(T=h.props.page),p&&p(),y=!1}function Ie(a){var i,p;r=a.state;const l=document.querySelector("style[data-sveltekit]");l&&l.remove(),T=a.props.page;const u=oe();R=new Pt({target:n,props:{...a.props,stores:K},hydrate:!0}),u();const s={from:null,to:se("to",{params:r.params,routeId:(p=(i=r.route)==null?void 0:i.id)!=null?p:null,url:new URL(location.href)}),type:"load"};d.after_navigate.forEach(h=>h(s)),_=!0}async function X({url:a,params:l,branch:u,status:s,error:i,route:p,form:h}){var P;const k=u.filter(Boolean),v={type:"loaded",state:{url:a,params:l,branch:u,error:i,route:p},props:{components:k.map(O=>O.node.component)}};h!==void 0&&(v.props.form=h);let w={},b=!T;for(let O=0;OA===j))&&(v.props[`data_${O}`]=w,b=b||Object.keys((P=j.data)!=null?P:{}).length>0)}if(b||(b=Object.keys(T.data).length!==Object.keys(w).length),!r.url||a.href!==r.url.href||r.error!==i||h!==void 0||b){v.props.page={error:i,params:l,routeId:p&&p.id,status:s,url:a,form:h,data:b?w:T.data};const O=(j,A)=>{Object.defineProperty(v.props.page,j,{get:()=>{throw new Error(`$page.${j} has been replaced by $page.url.${A}`)}})};O("origin","origin"),O("path","pathname"),O("query","searchParams")}return v}async function de({loader:a,parent:l,url:u,params:s,routeId:i,server_data_node:p}){var w,b,S,P,O;let h=null;const k={dependencies:new Set,params:new Set,parent:!1,url:!1},v=await a();if((w=v.shared)!=null&&w.load){let j=function(...L){for(const g of L){const{href:E}=new URL(g,u);k.dependencies.add(E)}};const A={routeId:i,params:new Proxy(s,{get:(L,g)=>(k.params.add(g),L[g])}),data:(b=p==null?void 0:p.data)!=null?b:null,url:pt(u,()=>{k.url=!0}),async fetch(L,g){let E;L instanceof Request?(E=L.url,g={body:L.method==="GET"||L.method==="HEAD"?void 0:await L.blob(),cache:L.cache,credentials:L.credentials,headers:L.headers,integrity:L.integrity,keepalive:L.keepalive,method:L.method,mode:L.mode,redirect:L.redirect,referrer:L.referrer,referrerPolicy:L.referrerPolicy,signal:L.signal,...g}):E=L;const U=new URL(E,u).href;return j(U),_?gt(U,g):_t(E,U,g)},setHeaders:()=>{},depends:j,parent(){return k.parent=!0,l()}};Object.defineProperties(A,{props:{get(){throw new Error("@migration task: Replace `props` with `data` stuff https://github.com/sveltejs/kit/discussions/5774#discussioncomment-3292693")},enumerable:!1},session:{get(){throw new Error("session is no longer available. See https://github.com/sveltejs/kit/discussions/5883")},enumerable:!1},stuff:{get(){throw new Error("@migration task: Remove stuff https://github.com/sveltejs/kit/discussions/5774#discussioncomment-3292693")},enumerable:!1}}),h=(S=await v.shared.load.call(null,A))!=null?S:null,h=h?await Nt(h):null}return{node:v,loader:a,server:p,shared:(P=v.shared)!=null&&P.load?{type:"data",data:h,uses:k}:null,data:(O=h!=null?h:p==null?void 0:p.data)!=null?O:null}}function Ue(a,l,u,s){if($)return!0;if(!u)return!1;if(u.parent&&l||u.url&&a)return!0;for(const i of u.params)if(s[i]!==r.params[i])return!0;for(const i of u.dependencies)if(c.some(p=>p(new URL(i))))return!0;return!1}function pe(a,l){var u,s;return(a==null?void 0:a.type)==="data"?{type:"data",data:a.data,uses:{dependencies:new Set((u=a.uses.dependencies)!=null?u:[]),params:new Set((s=a.uses.params)!=null?s:[]),parent:!!a.uses.parent,url:!!a.uses.url}}:(a==null?void 0:a.type)==="skip"&&l!=null?l:null}async function je({id:a,invalidating:l,url:u,params:s,route:i}){var L;if((o==null?void 0:o.id)===a)return o.promise;const{errors:p,layouts:h,leaf:k}=i,v=[...h,k];p.forEach(g=>g==null?void 0:g().catch(()=>{})),v.forEach(g=>g==null?void 0:g[1]().catch(()=>{}));let w=null;const b=r.url?a!==r.url.pathname+r.url.search:!1,S=v.reduce((g,E,U)=>{var Y;const I=r.branch[U],G=!!(E!=null&&E[0])&&((I==null?void 0:I.loader)!==E[1]||Ue(b,g.some(Boolean),(Y=I.server)==null?void 0:Y.uses,s));return g.push(G),g},[]);if(S.some(Boolean)){try{w=await Ge(u,S)}catch(g){return ne({status:500,error:Q(g,{url:u,params:s,routeId:i.id}),url:u,routeId:i.id})}if(w.type==="redirect")return w}const P=w==null?void 0:w.nodes;let O=!1;const j=v.map(async(g,E)=>{var Y;if(!g)return;const U=r.branch[E],I=P==null?void 0:P[E];if((!I||I.type==="skip")&&g[1]===(U==null?void 0:U.loader)&&!Ue(b,O,(Y=U.shared)==null?void 0:Y.uses,s))return U;if(O=!0,(I==null?void 0:I.type)==="error")throw I;return de({loader:g[1],url:u,params:s,routeId:i.id,parent:async()=>{var Ce;const qe={};for(let _e=0;_e{});const A=[];for(let g=0;gPromise.resolve({}),server_data_node:pe(h)}),v={node:await Ee(),loader:Ee,shared:null,server:null,data:null};return await X({url:u,params:i,branch:[k,v],status:a,error:l,route:null})}function he(a,l){if(Ne(a))return;const u=decodeURI(a.pathname.slice(e.length)||"/");for(const s of re){const i=s.exec(u);if(i){const p=new URL(a.origin+ft(a.pathname,t)+a.search+a.hash);return{id:p.pathname+p.search,invalidating:l,route:s,params:ut(i),url:p}}}}function Ne(a){return a.origin!==location.origin||!a.pathname.startsWith(e)}async function me({url:a,scroll:l,keepfocus:u,redirect_chain:s,details:i,type:p,delta:h,nav_token:k,accepted:v,blocked:w}){var j,A,L,g;let b=!1;const S=he(a,!1),P={from:se("from",{params:r.params,routeId:(A=(j=r.route)==null?void 0:j.id)!=null?A:null,url:r.url}),to:se("to",{params:(L=S==null?void 0:S.params)!=null?L:null,routeId:(g=S==null?void 0:S.route.id)!=null?g:null,url:a}),type:p};h!==void 0&&(P.delta=h);const O={...P,cancel:()=>{b=!0}};if(d.before_navigate.forEach(E=>E(O)),b){w();return}we(N),v(),_&&K.navigating.set(P),await Oe(S,a,s,{scroll:l,keepfocus:u,details:i},k,()=>{d.after_navigate.forEach(E=>E(P)),K.navigating.set(null)})}async function Te(a,l,u,s){return a.origin===location.origin&&a.pathname===location.pathname&&!f?await ne({status:s,error:u,url:a,routeId:l}):await ae(a)}function ae(a){return location.href=a.href,new Promise(()=>{})}return{after_navigate:a=>{ye(()=>(d.after_navigate.push(a),()=>{const l=d.after_navigate.indexOf(a);d.after_navigate.splice(l,1)}))},before_navigate:a=>{ye(()=>(d.before_navigate.push(a),()=>{const l=d.before_navigate.indexOf(a);d.before_navigate.splice(l,1)}))},disable_scroll_handling:()=>{(y||!_)&&(m=!1)},goto:(a,l={})=>ue(a,l,[]),invalidate:a=>{if(a===void 0)throw new Error("`invalidate()` (with no arguments) has been replaced by `invalidateAll()`");if(typeof a=="function")c.push(a);else{const{href:l}=new URL(a,location.href);c.push(u=>u.href===l)}return $e()},invalidateAll:()=>($=!0,$e()),prefetch:async a=>{const l=new URL(a,xe(document));await Pe(l)},prefetch_routes:async a=>{const u=(a?re.filter(s=>a.some(i=>s.exec(i))):re).map(s=>Promise.all([...s.layouts,s.leaf].map(i=>i==null?void 0:i[1]())));await Promise.all(u)},apply_action:async a=>{if(a.type==="error"){const l=new URL(location.href),{branch:u,route:s}=r;if(!s)return;const i=await Ae(r.branch.length,u,s.errors);if(i){const p=await X({url:l,params:r.params,branch:u.slice(0,i.idx).concat(i.node),status:500,error:a.error,route:s});r=p.state;const h=oe();R.$set(p.props),h()}}else if(a.type==="redirect")ue(a.location,{},[]);else{const l={form:a.data,page:{...T,form:a.data,status:a.status}},u=oe();R.$set(l),u()}},_start_router:()=>{history.scrollRestoration="manual",addEventListener("beforeunload",s=>{var h,k;let i=!1;const p={from:se("from",{params:r.params,routeId:(k=(h=r.route)==null?void 0:h.id)!=null?k:null,url:r.url}),to:null,type:"unload",cancel:()=>i=!0};d.before_navigate.forEach(v=>v(p)),i?(s.preventDefault(),s.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden"){we(N);try{sessionStorage[We]=JSON.stringify(ee)}catch{}}});const a=s=>{const{url:i,options:p}=Be(s);if(i&&p.prefetch){if(Ne(i))return;Pe(i)}};let l;const u=s=>{clearTimeout(l),l=setTimeout(()=>{var i;(i=s.target)==null||i.dispatchEvent(new CustomEvent("sveltekit:trigger_prefetch",{bubbles:!0}))},20)};addEventListener("touchstart",a),addEventListener("mousemove",u),addEventListener("sveltekit:trigger_prefetch",a),addEventListener("click",s=>{if(s.button||s.which!==1||s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||s.defaultPrevented)return;const{a:i,url:p,options:h}=Be(s);if(!i||!p)return;const k=i instanceof SVGAElement;if(!k&&!(p.protocol==="https:"||p.protocol==="http:"))return;const v=(i.getAttribute("rel")||"").split(/\s+/);if(i.hasAttribute("download")||v.includes("external")||h.reload||(k?i.target.baseVal:i.target))return;const[w,b]=p.href.split("#");if(b!==void 0&&w===location.href.split("#")[0]){q=!0,we(N),r.url=p,K.page.set({...T,url:p}),K.page.notify();return}me({url:p,scroll:h.noscroll?be():null,keepfocus:!1,redirect_chain:[],details:{state:{},replaceState:p.href===location.href},accepted:()=>s.preventDefault(),blocked:()=>s.preventDefault(),type:"link"})}),addEventListener("popstate",s=>{if(s.state){if(s.state[V]===N)return;const i=s.state[V]-N;me({url:new URL(location.href),scroll:ee[s.state[V]],keepfocus:!1,redirect_chain:[],details:null,accepted:()=>{N=s.state[V]},blocked:()=>{history.go(-i)},type:"popstate",delta:i})}}),addEventListener("hashchange",()=>{q&&(q=!1,history.replaceState({...history.state,[V]:++N},"",location.href))});for(const s of document.querySelectorAll("link"))s.rel==="icon"&&(s.href=s.href);addEventListener("pageshow",s=>{s.persisted&&K.navigating.set(null)})},_hydrate:async({status:a,error:l,node_ids:u,params:s,routeId:i,data:p,form:h})=>{var w;f=!0;const k=new URL(location.href);let v;try{const b=u.map(async(S,P)=>{const O=p[P];return de({loader:fe[S],url:k,params:s,routeId:i,parent:async()=>{const j={};for(let A=0;AS.id===i))!=null?w:null})}catch(b){if(b instanceof ze){await ae(new URL(b.location,location.href));return}v=await ne({status:b instanceof ve?b.status:500,error:Q(b,{url:k,params:s,routeId:i}),url:k,routeId:i})}Ie(v)}}}let Dt=1;async function Ge(n,e){const t=new URL(n);t.pathname=n.pathname.replace(/\/$/,"")+At,t.searchParams.set("__invalid",e.map(o=>o?"y":"n").join("")),t.searchParams.set("__id",String(Dt++)),await Z(()=>import(t.href),[],import.meta.url);const c=window.__sveltekit_data;return delete window.__sveltekit_data,c}function Q(n,e){var t;return n instanceof ve?n.body:(t=jt.handleError({error:n,event:e}))!=null?t:{message:e.routeId!=null?"Internal Error":"Not Found"}}const qt=["hash","href","host","hostname","origin","pathname","port","protocol","search","searchParams","toString","toJSON"];function se(n,e){for(const t of qt)Object.defineProperty(e,t,{get(){throw new Error(`The navigation shape changed - ${n}.${t} should now be ${n}.url.${t}`)},enumerable:!1});return e}function oe(){return()=>{}}async function xt({env:n,hydrate:e,paths:t,target:c,trailing_slash:o}){ot(t);const d=Tt({target:c,base:t.base,trailing_slash:o});it({client:d}),e?await d._hydrate(e):d.goto(location.href,{replaceState:!0}),d._start_router()}export{xt as start};
diff --git a/.svelte-kit/output/client/_app/version.json b/.svelte-kit/output/client/_app/version.json
new file mode 100644
index 0000000..9cc79e2
--- /dev/null
+++ b/.svelte-kit/output/client/_app/version.json
@@ -0,0 +1 @@
+{"version":"1664081247457"}
\ No newline at end of file
diff --git a/.svelte-kit/output/client/favicon.png b/.svelte-kit/output/client/favicon.png
new file mode 100644
index 0000000..825b9e6
Binary files /dev/null and b/.svelte-kit/output/client/favicon.png differ
diff --git a/.svelte-kit/output/prerendered/fallback.html b/.svelte-kit/output/prerendered/fallback.html
new file mode 100644
index 0000000..175a331
--- /dev/null
+++ b/.svelte-kit/output/prerendered/fallback.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.svelte-kit/output/server/chunks/hooks.js b/.svelte-kit/output/server/chunks/hooks.js
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/.svelte-kit/output/server/chunks/hooks.js
@@ -0,0 +1 @@
+
diff --git a/.svelte-kit/output/server/chunks/index.js b/.svelte-kit/output/server/chunks/index.js
new file mode 100644
index 0000000..5174326
--- /dev/null
+++ b/.svelte-kit/output/server/chunks/index.js
@@ -0,0 +1,207 @@
+function noop() {
+}
+function run(fn) {
+ return fn();
+}
+function blank_object() {
+ return /* @__PURE__ */ Object.create(null);
+}
+function run_all(fns) {
+ fns.forEach(run);
+}
+function safe_not_equal(a, b) {
+ return a != a ? b == b : a !== b || (a && typeof a === "object" || typeof a === "function");
+}
+function subscribe(store, ...callbacks) {
+ if (store == null) {
+ return noop;
+ }
+ const unsub = store.subscribe(...callbacks);
+ return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;
+}
+function custom_event(type, detail, { bubbles = false, cancelable = false } = {}) {
+ const e = document.createEvent("CustomEvent");
+ e.initCustomEvent(type, bubbles, cancelable, detail);
+ return e;
+}
+let current_component;
+function set_current_component(component) {
+ current_component = component;
+}
+function get_current_component() {
+ if (!current_component)
+ throw new Error("Function called outside component initialization");
+ return current_component;
+}
+function createEventDispatcher() {
+ const component = get_current_component();
+ return (type, detail, { cancelable = false } = {}) => {
+ const callbacks = component.$$.callbacks[type];
+ if (callbacks) {
+ const event = custom_event(type, detail, { cancelable });
+ callbacks.slice().forEach((fn) => {
+ fn.call(component, event);
+ });
+ return !event.defaultPrevented;
+ }
+ return true;
+ };
+}
+function setContext(key, context) {
+ get_current_component().$$.context.set(key, context);
+ return context;
+}
+function getContext(key) {
+ return get_current_component().$$.context.get(key);
+}
+const dirty_components = [];
+const binding_callbacks = [];
+const render_callbacks = [];
+const flush_callbacks = [];
+const resolved_promise = Promise.resolve();
+let update_scheduled = false;
+function schedule_update() {
+ if (!update_scheduled) {
+ update_scheduled = true;
+ resolved_promise.then(flush);
+ }
+}
+function tick() {
+ schedule_update();
+ return resolved_promise;
+}
+function add_render_callback(fn) {
+ render_callbacks.push(fn);
+}
+const seen_callbacks = /* @__PURE__ */ new Set();
+let flushidx = 0;
+function flush() {
+ const saved_component = current_component;
+ do {
+ while (flushidx < dirty_components.length) {
+ const component = dirty_components[flushidx];
+ flushidx++;
+ set_current_component(component);
+ update(component.$$);
+ }
+ set_current_component(null);
+ dirty_components.length = 0;
+ flushidx = 0;
+ while (binding_callbacks.length)
+ binding_callbacks.pop()();
+ for (let i = 0; i < render_callbacks.length; i += 1) {
+ const callback = render_callbacks[i];
+ if (!seen_callbacks.has(callback)) {
+ seen_callbacks.add(callback);
+ callback();
+ }
+ }
+ render_callbacks.length = 0;
+ } while (dirty_components.length);
+ while (flush_callbacks.length) {
+ flush_callbacks.pop()();
+ }
+ update_scheduled = false;
+ seen_callbacks.clear();
+ set_current_component(saved_component);
+}
+function update($$) {
+ if ($$.fragment !== null) {
+ $$.update();
+ run_all($$.before_update);
+ const dirty = $$.dirty;
+ $$.dirty = [-1];
+ $$.fragment && $$.fragment.p($$.ctx, dirty);
+ $$.after_update.forEach(add_render_callback);
+ }
+}
+const ATTR_REGEX = /[&"]/g;
+const CONTENT_REGEX = /[&<]/g;
+function escape(value, is_attr = false) {
+ const str = String(value);
+ const pattern = is_attr ? ATTR_REGEX : CONTENT_REGEX;
+ pattern.lastIndex = 0;
+ let escaped = "";
+ let last = 0;
+ while (pattern.test(str)) {
+ const i = pattern.lastIndex - 1;
+ const ch = str[i];
+ escaped += str.substring(last, i) + (ch === "&" ? "&" : ch === '"' ? """ : "<");
+ last = i + 1;
+ }
+ return escaped + str.substring(last);
+}
+function each(items, fn) {
+ let str = "";
+ for (let i = 0; i < items.length; i += 1) {
+ str += fn(items[i], i);
+ }
+ return str;
+}
+const missing_component = {
+ $$render: () => ""
+};
+function validate_component(component, name) {
+ if (!component || !component.$$render) {
+ if (name === "svelte:component")
+ name += " this={...}";
+ throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);
+ }
+ return component;
+}
+let on_destroy;
+function create_ssr_component(fn) {
+ function $$render(result, props, bindings, slots, context) {
+ const parent_component = current_component;
+ const $$ = {
+ on_destroy,
+ context: new Map(context || (parent_component ? parent_component.$$.context : [])),
+ on_mount: [],
+ before_update: [],
+ after_update: [],
+ callbacks: blank_object()
+ };
+ set_current_component({ $$ });
+ const html = fn(result, props, bindings, slots);
+ set_current_component(parent_component);
+ return html;
+ }
+ return {
+ render: (props = {}, { $$slots = {}, context = /* @__PURE__ */ new Map() } = {}) => {
+ on_destroy = [];
+ const result = { title: "", head: "", css: /* @__PURE__ */ new Set() };
+ const html = $$render(result, props, {}, $$slots, context);
+ run_all(on_destroy);
+ return {
+ html,
+ css: {
+ code: Array.from(result.css).map((css) => css.code).join("\n"),
+ map: null
+ },
+ head: result.title + result.head
+ };
+ },
+ $$render
+ };
+}
+function add_attribute(name, value, boolean) {
+ if (value == null || boolean && !value)
+ return "";
+ const assignment = boolean && value === true ? "" : `="${escape(value, true)}"`;
+ return ` ${name}${assignment}`;
+}
+export {
+ safe_not_equal as a,
+ subscribe as b,
+ create_ssr_component as c,
+ add_attribute as d,
+ escape as e,
+ createEventDispatcher as f,
+ getContext as g,
+ each as h,
+ missing_component as m,
+ noop as n,
+ setContext as s,
+ tick as t,
+ validate_component as v
+};
diff --git a/.svelte-kit/output/server/entries/fallbacks/error.svelte.js b/.svelte-kit/output/server/entries/fallbacks/error.svelte.js
new file mode 100644
index 0000000..6941861
--- /dev/null
+++ b/.svelte-kit/output/server/entries/fallbacks/error.svelte.js
@@ -0,0 +1,59 @@
+import { g as getContext, c as create_ssr_component, b as subscribe, e as escape } from "../../chunks/index.js";
+const getStores = () => {
+ const stores = getContext("__svelte__");
+ const readonly_stores = {
+ page: {
+ subscribe: stores.page.subscribe
+ },
+ navigating: {
+ subscribe: stores.navigating.subscribe
+ },
+ updated: stores.updated
+ };
+ Object.defineProperties(readonly_stores, {
+ preloading: {
+ get() {
+ console.error("stores.preloading is deprecated; use stores.navigating instead");
+ return {
+ subscribe: stores.navigating.subscribe
+ };
+ },
+ enumerable: false
+ },
+ session: {
+ get() {
+ removed_session();
+ return {};
+ },
+ enumerable: false
+ }
+ });
+ return readonly_stores;
+};
+const page = {
+ subscribe(fn) {
+ const store = getStores().page;
+ return store.subscribe(fn);
+ }
+};
+function removed_session() {
+ throw new Error(
+ "stores.session is no longer available. See https://github.com/sveltejs/kit/discussions/5883"
+ );
+}
+const Error$1 = create_ssr_component(($$result, $$props, $$bindings, slots) => {
+ let $page, $$unsubscribe_page;
+ $$unsubscribe_page = subscribe(page, (value) => $page = value);
+ $$unsubscribe_page();
+ return `${escape($page.status)}
+
+${escape($page.error.message)}
+
+
+
+${$page.error.frame ? `${escape($page.error.frame)}
` : ``}
+${$page.error.stack ? `${escape($page.error.stack)}
` : ``}`;
+});
+export {
+ Error$1 as default
+};
diff --git a/.svelte-kit/output/server/entries/fallbacks/layout.svelte.js b/.svelte-kit/output/server/entries/fallbacks/layout.svelte.js
new file mode 100644
index 0000000..e0fb389
--- /dev/null
+++ b/.svelte-kit/output/server/entries/fallbacks/layout.svelte.js
@@ -0,0 +1,7 @@
+import { c as create_ssr_component } from "../../chunks/index.js";
+const Layout = create_ssr_component(($$result, $$props, $$bindings, slots) => {
+ return `${slots.default ? slots.default({}) : ``}`;
+});
+export {
+ Layout as default
+};
diff --git a/.svelte-kit/output/server/entries/pages/_page.svelte.js b/.svelte-kit/output/server/entries/pages/_page.svelte.js
new file mode 100644
index 0000000..e8b34a5
--- /dev/null
+++ b/.svelte-kit/output/server/entries/pages/_page.svelte.js
@@ -0,0 +1,533 @@
+import { c as create_ssr_component, d as add_attribute, e as escape, f as createEventDispatcher, h as each, t as tick, v as validate_component } from "../../chunks/index.js";
+import prism$1 from "prismjs";
+import "prism-svelte";
+if (typeof window !== "undefined") {
+ if (window.Prism)
+ console.warn(
+ "Prism has already been initiated. Please ensure that svelte-prism is imported first."
+ );
+ window.Prism = window.Prism || {};
+ window.Prism.manual = true;
+}
+const prism = prism$1;
+prism$1.highlightElement;
+const globalConfig = { transform: (x) => x };
+const Prism = create_ssr_component(($$result, $$props, $$bindings, slots) => {
+ let { language = "javascript" } = $$props;
+ let { source = "" } = $$props;
+ let { transform = (x) => x } = $$props;
+ let element, formattedCode;
+ function highlightCode() {
+ const grammar = prism.languages[language];
+ let body = source || element.textContent;
+ body = globalConfig.transform(body);
+ body = transform(body);
+ formattedCode = language === "none" ? body : prism.highlight(body, grammar, language);
+ }
+ if ($$props.language === void 0 && $$bindings.language && language !== void 0)
+ $$bindings.language(language);
+ if ($$props.source === void 0 && $$bindings.source && source !== void 0)
+ $$bindings.source(source);
+ if ($$props.transform === void 0 && $$bindings.transform && transform !== void 0)
+ $$bindings.transform(transform);
+ $$props && (source || element) && highlightCode();
+ return `${slots.default ? slots.default({}) : ``}
+
+${language === "none" ? `${escape(formattedCode)}` : `${formattedCode}`}
`;
+});
+const Index_svelte_svelte_type_style_lang$3 = "";
+const css$3 = {
+ code: "@import './textinput.css';",
+ map: null
+};
+const Index$9 = create_ssr_component(($$result, $$props, $$bindings, slots) => {
+ let { maskInput = false } = $$props;
+ let { inputType = maskInput ? "password" : "tel" } = $$props;
+ let { value = "" } = $$props;
+ let { componentIndex } = $$props;
+ let { placeholder = "" } = $$props;
+ let { customInputWrapperClass = "" } = $$props;
+ let { customInputClass = "" } = $$props;
+ let { handleChange } = $$props;
+ let { dataAttr = "" } = $$props;
+ let component;
+ if ($$props.maskInput === void 0 && $$bindings.maskInput && maskInput !== void 0)
+ $$bindings.maskInput(maskInput);
+ if ($$props.inputType === void 0 && $$bindings.inputType && inputType !== void 0)
+ $$bindings.inputType(inputType);
+ if ($$props.value === void 0 && $$bindings.value && value !== void 0)
+ $$bindings.value(value);
+ if ($$props.componentIndex === void 0 && $$bindings.componentIndex && componentIndex !== void 0)
+ $$bindings.componentIndex(componentIndex);
+ if ($$props.placeholder === void 0 && $$bindings.placeholder && placeholder !== void 0)
+ $$bindings.placeholder(placeholder);
+ if ($$props.customInputWrapperClass === void 0 && $$bindings.customInputWrapperClass && customInputWrapperClass !== void 0)
+ $$bindings.customInputWrapperClass(customInputWrapperClass);
+ if ($$props.customInputClass === void 0 && $$bindings.customInputClass && customInputClass !== void 0)
+ $$bindings.customInputClass(customInputClass);
+ if ($$props.handleChange === void 0 && $$bindings.handleChange && handleChange !== void 0)
+ $$bindings.handleChange(handleChange);
+ if ($$props.dataAttr === void 0 && $$bindings.dataAttr && dataAttr !== void 0)
+ $$bindings.dataAttr(dataAttr);
+ $$result.css.add(css$3);
+ return `
+
+
+
`;
+});
+const Index_svelte_svelte_type_style_lang$2 = "";
+const css$2 = {
+ code: "@import './index.css';",
+ map: null
+};
+const Index$8 = create_ssr_component(($$result, $$props, $$bindings, slots) => {
+ let { numberOfInputs = 4 } = $$props;
+ let { separator = "-" } = $$props;
+ let { initialValue = "" } = $$props;
+ let { placeholder = "" } = $$props;
+ let { customTextInputClass = "" } = $$props;
+ let { customSeparatorClass = "" } = $$props;
+ let { customRowClass = "" } = $$props;
+ let { customWrapperClass = "" } = $$props;
+ let { customInputWrapperClass = "" } = $$props;
+ let { maskInput = false } = $$props;
+ let { autoFocusNextOnInput = true } = $$props;
+ let { focusPreviousOnDelete = true } = $$props;
+ let { emitEventOnPrefill = false } = $$props;
+ function getComponents() {
+ return Array.from(Array(numberOfInputs).keys()).map((i) => {
+ const initVal = initialValue[i] || "";
+ const initPlaceholder = placeholder[i] || "";
+ return {
+ componentIndex: `otp${i}`,
+ ref: null,
+ initialValue: initVal,
+ placeholder: initPlaceholder
+ };
+ });
+ }
+ function checkValidity(doNotify, extrakeys = {}) {
+ let completevalue = "";
+ let isInputComplete = true;
+ components.forEach((i) => {
+ var _a, _b;
+ let value = `${(_b = (_a = i == null ? void 0 : i.ref) == null ? void 0 : _a.$$) == null ? void 0 : _b.ctx[0]}`;
+ if (!value) {
+ isInputComplete = false;
+ }
+ completevalue += value || " ";
+ });
+ let returnObj = {
+ completevalue,
+ isInputComplete: isInputComplete && completevalue.length === numberOfInputs
+ };
+ if (extrakeys) {
+ returnObj = { ...returnObj, ...extrakeys };
+ }
+ if (doNotify) {
+ dispatch("notify", returnObj);
+ } else {
+ return returnObj;
+ }
+ }
+ let components = getComponents();
+ const dispatch = createEventDispatcher();
+ const getValue = () => {
+ return checkValidity(false);
+ };
+ const handleChange = (currentElement, event) => {
+ var _a, _b, _c, _d, _e;
+ const isDeleteEvent = event.inputType === "deleteContentBackward";
+ const currentIndex = components.findIndex((i) => i.componentIndex === currentElement);
+ let nextIndex;
+ if (isDeleteEvent && focusPreviousOnDelete) {
+ nextIndex = currentIndex === 0 ? 0 : currentIndex - 1;
+ const nextRef = (_a = components[nextIndex]) == null ? void 0 : _a.ref;
+ (_c = (_b = nextRef == null ? void 0 : nextRef.$$) == null ? void 0 : _b.ctx[6]) == null ? void 0 : _c.focus();
+ }
+ if (!isDeleteEvent && autoFocusNextOnInput) {
+ nextIndex = currentIndex < components.length - 1 ? currentIndex + 1 : currentIndex;
+ const nextRef = components[nextIndex].ref;
+ (_e = (_d = nextRef == null ? void 0 : nextRef.$$) == null ? void 0 : _d.ctx[6]) == null ? void 0 : _e.focus();
+ }
+ checkValidity(true);
+ };
+ if ($$props.numberOfInputs === void 0 && $$bindings.numberOfInputs && numberOfInputs !== void 0)
+ $$bindings.numberOfInputs(numberOfInputs);
+ if ($$props.separator === void 0 && $$bindings.separator && separator !== void 0)
+ $$bindings.separator(separator);
+ if ($$props.initialValue === void 0 && $$bindings.initialValue && initialValue !== void 0)
+ $$bindings.initialValue(initialValue);
+ if ($$props.placeholder === void 0 && $$bindings.placeholder && placeholder !== void 0)
+ $$bindings.placeholder(placeholder);
+ if ($$props.customTextInputClass === void 0 && $$bindings.customTextInputClass && customTextInputClass !== void 0)
+ $$bindings.customTextInputClass(customTextInputClass);
+ if ($$props.customSeparatorClass === void 0 && $$bindings.customSeparatorClass && customSeparatorClass !== void 0)
+ $$bindings.customSeparatorClass(customSeparatorClass);
+ if ($$props.customRowClass === void 0 && $$bindings.customRowClass && customRowClass !== void 0)
+ $$bindings.customRowClass(customRowClass);
+ if ($$props.customWrapperClass === void 0 && $$bindings.customWrapperClass && customWrapperClass !== void 0)
+ $$bindings.customWrapperClass(customWrapperClass);
+ if ($$props.customInputWrapperClass === void 0 && $$bindings.customInputWrapperClass && customInputWrapperClass !== void 0)
+ $$bindings.customInputWrapperClass(customInputWrapperClass);
+ if ($$props.maskInput === void 0 && $$bindings.maskInput && maskInput !== void 0)
+ $$bindings.maskInput(maskInput);
+ if ($$props.autoFocusNextOnInput === void 0 && $$bindings.autoFocusNextOnInput && autoFocusNextOnInput !== void 0)
+ $$bindings.autoFocusNextOnInput(autoFocusNextOnInput);
+ if ($$props.focusPreviousOnDelete === void 0 && $$bindings.focusPreviousOnDelete && focusPreviousOnDelete !== void 0)
+ $$bindings.focusPreviousOnDelete(focusPreviousOnDelete);
+ if ($$props.emitEventOnPrefill === void 0 && $$bindings.emitEventOnPrefill && emitEventOnPrefill !== void 0)
+ $$bindings.emitEventOnPrefill(emitEventOnPrefill);
+ if ($$props.getValue === void 0 && $$bindings.getValue && getValue !== void 0)
+ $$bindings.getValue(getValue);
+ $$result.css.add(css$2);
+ let $$settled;
+ let $$rendered;
+ do {
+ $$settled = true;
+ {
+ {
+ async function prefillValueOnInitialValueChange() {
+ if (initialValue !== void 0 && initialValue.trim().length > 0) {
+ components = getComponents();
+ await tick();
+ if (emitEventOnPrefill) {
+ checkValidity(true, { onValueUpdateOrPrefill: true });
+ }
+ }
+ }
+ prefillValueOnInitialValueChange();
+ }
+ }
+ $$rendered = `${each(components, (comp, index) => {
+ return `${validate_component(Index$9, "TextInput").$$render(
+ $$result,
+ {
+ value: comp.initialValue,
+ componentIndex: comp.componentIndex,
+ handleChange,
+ placeholder: comp.placeholder,
+ customInputClass: customTextInputClass,
+ customInputWrapperClass,
+ maskInput,
+ dataAttr: `elem-${index}`,
+ this: comp.ref
+ },
+ {
+ this: ($$value) => {
+ comp.ref = $$value;
+ $$settled = false;
+ }
+ },
+ {}
+ )}
+ ${index !== components.length - 1 ? `
${escape(separator)}
` : ``}
+
`;
+ })}
+`;
+ } while (!$$settled);
+ return $$rendered;
+});
+const Index$7 = create_ssr_component(($$result, $$props, $$bindings, slots) => {
+ const InputSix = `
+ `;
+ return `${validate_component(Prism, "Prism").$$render($$result, { language: "html", source: InputSix }, {}, {})}
+
${validate_component(Index$8, "OtpInput").$$render($$result, { numberOfInputs: 6 }, {}, {})}
+
`;
+});
+const Index$6 = create_ssr_component(($$result, $$props, $$bindings, slots) => {
+ const PlaceholderValue = `
+ `;
+ const SeparatorValue = `
+ `;
+ return `${validate_component(Prism, "Prism").$$render(
+ $$result,
+ {
+ language: "html",
+ source: PlaceholderValue
+ },
+ {},
+ {}
+ )}
+
${validate_component(Index$8, "OtpInput").$$render($$result, { numberOfInputs: 4, placeholder: "****" }, {}, {})}
+
+
+ ${validate_component(Prism, "Prism").$$render($$result, { language: "html", source: SeparatorValue }, {}, {})}
+
${validate_component(Index$8, "OtpInput").$$render(
+ $$result,
+ {
+ separator: "-",
+ placeholder: "******",
+ numberOfInputs: 6
+ },
+ {},
+ {}
+ )}
+
+
+`;
+});
+const Index_svelte_svelte_type_style_lang$1 = "";
+const css$1 = {
+ code: "@import './stylecss.postcss';",
+ map: null
+};
+const Index$5 = create_ssr_component(($$result, $$props, $$bindings, slots) => {
+ const prefillValueHTML = `
+ `;
+ $$result.css.add(css$1);
+ return `${validate_component(Prism, "Prism").$$render(
+ $$result,
+ {
+ language: "html",
+ source: prefillValueHTML
+ },
+ {},
+ {}
+ )}
+ ${validate_component(Index$8, "OtpInput").$$render(
+ $$result,
+ {
+ numberOfInputs: 4,
+ placeholder: "****",
+ separator: "-",
+ customWrapperClass: "customWrapperClass",
+ customSeparatorClass: "customSeparatorClass",
+ customRowClass: "customRowClass",
+ customInputWrapperClass: "customInputWrapperClass",
+ customTextInputClass: "customTextInputClass"
+ },
+ {},
+ {}
+ )}
+
+`;
+});
+const Index$4 = create_ssr_component(($$result, $$props, $$bindings, slots) => {
+ const MaskingValue = `
+ `;
+ return `${validate_component(Prism, "Prism").$$render($$result, { language: "html", source: MaskingValue }, {}, {})}
+
${validate_component(Index$8, "OtpInput").$$render(
+ $$result,
+ {
+ separator: "-",
+ maskInput: false,
+ numberOfInputs: 4,
+ placeholder: "****",
+ initialValue: "1234"
+ },
+ {},
+ {}
+ )}
+
+`;
+});
+const Index$3 = create_ssr_component(($$result, $$props, $$bindings, slots) => {
+ const FocusValue = `
+ `;
+ return `${validate_component(Prism, "Prism").$$render($$result, { language: "html", source: FocusValue }, {}, {})}
+
${validate_component(Index$8, "OtpInput").$$render(
+ $$result,
+ {
+ separator: "-",
+ maskInput: true,
+ numberOfInputs: 4,
+ placeholder: "****",
+ autoFocusNextOnInput: true,
+ focusPreviousOnDelete: true
+ },
+ {},
+ {}
+ )}
+
+`;
+});
+const Index$2 = create_ssr_component(($$result, $$props, $$bindings, slots) => {
+ let value = "";
+ let emittedValue = "";
+ let otpInstance;
+ const GetInputValueHtml = `
+ // script
+ let value = '';
+ let otpInstance: {getValue: () => void};
+ function handleClick() {
+ console.log('value on click',
+ otpInstance?.getValue());
+ }
+ function callbackFunction(event: CustomEvent) {
+ console.log('emittedValue', event.detail);
+ }
+`;
+ const GetInputValueJS = `
+ `;
+ let $$settled;
+ let $$rendered;
+ do {
+ $$settled = true;
+ $$rendered = `${validate_component(Prism, "Prism").$$render(
+ $$result,
+ {
+ language: "html",
+ source: GetInputValueHtml
+ },
+ {},
+ {}
+ )}
+ ${validate_component(Prism, "Prism").$$render(
+ $$result,
+ {
+ language: "html",
+ source: GetInputValueJS
+ },
+ {},
+ {}
+ )}
+ ${validate_component(Index$8, "OtpInput").$$render(
+ $$result,
+ {
+ numberOfInputs: 4,
+ separator: "*",
+ placeholder: "0000",
+ maskInput: false,
+ autoFocusNextOnInput: true,
+ focusPreviousOnDelete: true,
+ emitEventOnPrefill: true,
+ initialValue: value,
+ this: otpInstance
+ },
+ {
+ initialValue: ($$value) => {
+ value = $$value;
+ $$settled = false;
+ },
+ this: ($$value) => {
+ otpInstance = $$value;
+ $$settled = false;
+ }
+ },
+ {}
+ )}
+
EmittedValue: ${escape(emittedValue)}
+
Get Value
+`;
+ } while (!$$settled);
+ return $$rendered;
+});
+const Index$1 = create_ssr_component(($$result, $$props, $$bindings, slots) => {
+ let value = "2345";
+ let otpInstance;
+ const prefillValueHtml = `
+ // script
+ let value = '';
+ function callbackFunction(event: CustomEvent) {
+ console.log('emittedValue', event.detail);
+ }
+ function handlePrefill() {
+ value = '123456';
+ }
+`;
+ const prefillValueJS = `
+ `;
+ let $$settled;
+ let $$rendered;
+ do {
+ $$settled = true;
+ $$rendered = `${validate_component(Prism, "Prism").$$render(
+ $$result,
+ {
+ language: "html",
+ source: prefillValueHtml
+ },
+ {},
+ {}
+ )}
+ ${validate_component(Prism, "Prism").$$render($$result, { language: "html", source: prefillValueJS }, {}, {})}
+ ${validate_component(Index$8, "OtpInput").$$render(
+ $$result,
+ {
+ numberOfInputs: 4,
+ separator: "*",
+ placeholder: "0000",
+ maskInput: false,
+ autoFocusNextOnInput: true,
+ focusPreviousOnDelete: true,
+ emitEventOnPrefill: false,
+ initialValue: value,
+ this: otpInstance
+ },
+ {
+ initialValue: ($$value) => {
+ value = $$value;
+ $$settled = false;
+ },
+ this: ($$value) => {
+ otpInstance = $$value;
+ $$settled = false;
+ }
+ },
+ {}
+ )}
+
+`;
+ } while (!$$settled);
+ return $$rendered;
+});
+const Index_svelte_svelte_type_style_lang = "";
+const css = {
+ code: "@import './examples.postcss';",
+ map: null
+};
+const Index = create_ssr_component(($$result, $$props, $$bindings, slots) => {
+ $$result.css.add(css);
+ return `${validate_component(Index$7, "NumberOfInputs").$$render($$result, {}, {}, {})}
+ ${validate_component(Index$6, "PlaceholderSeparators").$$render($$result, {}, {}, {})}
+ ${validate_component(Index$4, "MaskInput").$$render($$result, {}, {}, {})}
+ ${validate_component(Index$3, "Focus").$$render($$result, {}, {}, {})}
+ ${validate_component(Index$2, "GetValue").$$render($$result, {}, {}, {})}
+ ${validate_component(Index$5, "Styles").$$render($$result, {}, {}, {})}
+ ${validate_component(Index$1, "Prefill").$$render($$result, {}, {}, {})}
+`;
+});
+const Page = create_ssr_component(($$result, $$props, $$bindings, slots) => {
+ return `${validate_component(Index, "Example").$$render($$result, {}, {}, {})}`;
+});
+export {
+ Page as default
+};
diff --git a/.svelte-kit/output/server/entries/pages/about/_page.svelte.js b/.svelte-kit/output/server/entries/pages/about/_page.svelte.js
new file mode 100644
index 0000000..ff4085e
--- /dev/null
+++ b/.svelte-kit/output/server/entries/pages/about/_page.svelte.js
@@ -0,0 +1,8 @@
+import { c as create_ssr_component } from "../../../chunks/index.js";
+const Page = create_ssr_component(($$result, $$props, $$bindings, slots) => {
+ return `I am about page
+
`;
+});
+export {
+ Page as default
+};
diff --git a/.svelte-kit/output/server/index.js b/.svelte-kit/output/server/index.js
new file mode 100644
index 0000000..ae04fa1
--- /dev/null
+++ b/.svelte-kit/output/server/index.js
@@ -0,0 +1,2224 @@
+import { c as create_ssr_component, s as setContext, v as validate_component, m as missing_component, n as noop, a as safe_not_equal } from "./chunks/index.js";
+import { devalue } from "devalue";
+import * as cookie from "cookie";
+import { serialize, parse } from "cookie";
+import * as set_cookie_parser from "set-cookie-parser";
+function afterUpdate() {
+}
+function set_prerendering(value) {
+}
+const Root = create_ssr_component(($$result, $$props, $$bindings, slots) => {
+ let { stores } = $$props;
+ let { page } = $$props;
+ let { components } = $$props;
+ let { form } = $$props;
+ let { data_0 = null } = $$props;
+ let { data_1 = null } = $$props;
+ {
+ setContext("__svelte__", stores);
+ }
+ afterUpdate(stores.page.notify);
+ if ($$props.stores === void 0 && $$bindings.stores && stores !== void 0)
+ $$bindings.stores(stores);
+ if ($$props.page === void 0 && $$bindings.page && page !== void 0)
+ $$bindings.page(page);
+ if ($$props.components === void 0 && $$bindings.components && components !== void 0)
+ $$bindings.components(components);
+ if ($$props.form === void 0 && $$bindings.form && form !== void 0)
+ $$bindings.form(form);
+ if ($$props.data_0 === void 0 && $$bindings.data_0 && data_0 !== void 0)
+ $$bindings.data_0(data_0);
+ if ($$props.data_1 === void 0 && $$bindings.data_1 && data_1 !== void 0)
+ $$bindings.data_1(data_1);
+ {
+ stores.page.set(page);
+ }
+ return `
+
+
+${components[1] ? `${validate_component(components[0] || missing_component, "svelte:component").$$render($$result, { data: data_0 }, {}, {
+ default: () => {
+ return `${validate_component(components[1] || missing_component, "svelte:component").$$render($$result, { data: data_1, form }, {}, {})}`;
+ }
+ })}` : `${validate_component(components[0] || missing_component, "svelte:component").$$render($$result, { data: data_0, form }, {}, {})}`}
+
+${``}`;
+});
+class HttpError {
+ constructor(status, body) {
+ this.status = status;
+ if (typeof body === "string") {
+ this.body = { message: body };
+ } else if (body) {
+ this.body = body;
+ } else {
+ this.body = { message: `Error: ${status}` };
+ }
+ }
+ toString() {
+ return JSON.stringify(this.body);
+ }
+}
+class Redirect {
+ constructor(status, location) {
+ this.status = status;
+ this.location = location;
+ }
+}
+class ValidationError {
+ constructor(status, data) {
+ this.status = status;
+ this.data = data;
+ }
+}
+function error(status, message) {
+ return new HttpError(status, message);
+}
+function json(data, init2) {
+ const headers = new Headers(init2 == null ? void 0 : init2.headers);
+ if (!headers.has("content-type")) {
+ headers.set("content-type", "application/json");
+ }
+ return new Response(JSON.stringify(data), {
+ ...init2,
+ headers
+ });
+}
+function negotiate(accept, types) {
+ const parts = [];
+ accept.split(",").forEach((str, i) => {
+ const match = /([^/]+)\/([^;]+)(?:;q=([0-9.]+))?/.exec(str);
+ if (match) {
+ const [, type, subtype, q = "1"] = match;
+ parts.push({ type, subtype, q: +q, i });
+ }
+ });
+ parts.sort((a, b) => {
+ if (a.q !== b.q) {
+ return b.q - a.q;
+ }
+ if (a.subtype === "*" !== (b.subtype === "*")) {
+ return a.subtype === "*" ? 1 : -1;
+ }
+ if (a.type === "*" !== (b.type === "*")) {
+ return a.type === "*" ? 1 : -1;
+ }
+ return a.i - b.i;
+ });
+ let accepted;
+ let min_priority = Infinity;
+ for (const mimetype of types) {
+ const [type, subtype] = mimetype.split("/");
+ const priority = parts.findIndex(
+ (part) => (part.type === type || part.type === "*") && (part.subtype === subtype || part.subtype === "*")
+ );
+ if (priority !== -1 && priority < min_priority) {
+ accepted = mimetype;
+ min_priority = priority;
+ }
+ }
+ return accepted;
+}
+const DATA_SUFFIX = "/__data.js";
+const DEFAULT_SERIALIZE_OPTIONS = {
+ httpOnly: true,
+ secure: true,
+ sameSite: "lax"
+};
+function get_cookies(request, url) {
+ const new_cookies = /* @__PURE__ */ new Map();
+ const cookies = {
+ get(name, opts) {
+ const c = new_cookies.get(name);
+ if (c && domain_matches(url.hostname, c.options.domain) && path_matches(url.pathname, c.options.path)) {
+ return c.value;
+ }
+ const decode = (opts == null ? void 0 : opts.decode) || decodeURIComponent;
+ const req_cookies = parse(request.headers.get("cookie") ?? "", { decode });
+ return req_cookies[name];
+ },
+ set(name, value, opts = {}) {
+ new_cookies.set(name, {
+ name,
+ value,
+ options: {
+ ...DEFAULT_SERIALIZE_OPTIONS,
+ ...opts
+ }
+ });
+ },
+ delete(name, opts = {}) {
+ new_cookies.set(name, {
+ name,
+ value: "",
+ options: {
+ ...DEFAULT_SERIALIZE_OPTIONS,
+ ...opts,
+ maxAge: 0
+ }
+ });
+ },
+ serialize(name, value, opts) {
+ return serialize(name, value, {
+ ...DEFAULT_SERIALIZE_OPTIONS,
+ ...opts
+ });
+ }
+ };
+ return { cookies, new_cookies };
+}
+function domain_matches(hostname, constraint) {
+ if (!constraint)
+ return true;
+ const normalized = constraint[0] === "." ? constraint.slice(1) : constraint;
+ if (hostname === normalized)
+ return true;
+ return hostname.endsWith("." + normalized);
+}
+function path_matches(path, constraint) {
+ if (!constraint)
+ return true;
+ const normalized = constraint.endsWith("/") ? constraint.slice(0, -1) : constraint;
+ if (path === normalized)
+ return true;
+ return path.startsWith(normalized + "/");
+}
+function add_cookies_to_headers(headers, cookies) {
+ for (const new_cookie of cookies) {
+ const { name, value, options } = new_cookie;
+ headers.append("set-cookie", serialize(name, value, options));
+ }
+}
+function check_method_names(mod) {
+ ["get", "post", "put", "patch", "del"].forEach((m) => {
+ if (m in mod) {
+ const replacement = m === "del" ? "DELETE" : m.toUpperCase();
+ throw Error(
+ `Endpoint method "${m}" has changed to "${replacement}". See https://github.com/sveltejs/kit/discussions/5359 for more information.`
+ );
+ }
+ });
+}
+const GENERIC_ERROR = {
+ id: "__error"
+};
+function method_not_allowed(mod, method) {
+ return new Response(`${method} method not allowed`, {
+ status: 405,
+ headers: {
+ allow: allowed_methods(mod).join(", ")
+ }
+ });
+}
+function allowed_methods(mod) {
+ const allowed = [];
+ for (const method in ["GET", "POST", "PUT", "PATCH", "DELETE"]) {
+ if (method in mod)
+ allowed.push(method);
+ }
+ if (mod.GET || mod.HEAD)
+ allowed.push("HEAD");
+ return allowed;
+}
+function data_response(data) {
+ const headers = {
+ "content-type": "application/javascript",
+ "cache-control": "private, no-store"
+ };
+ try {
+ return new Response(`window.__sveltekit_data = ${devalue(data)}`, { headers });
+ } catch (e) {
+ const error2 = e;
+ const match = /\[(\d+)\]\.data\.(.+)/.exec(error2.path);
+ const message = match ? `${error2.message} (data.${match[2]})` : error2.message;
+ return new Response(`throw new Error(${JSON.stringify(message)})`, { headers });
+ }
+}
+function get_option(nodes, option) {
+ return nodes.reduce((value, node) => {
+ var _a, _b;
+ for (const thing of [node == null ? void 0 : node.server, node == null ? void 0 : node.shared]) {
+ if (thing && ("router" in thing || "hydrate" in thing)) {
+ throw new Error(
+ "`export const hydrate` and `export const router` have been replaced with `export const csr`. See https://github.com/sveltejs/kit/pull/6446"
+ );
+ }
+ }
+ return ((_a = node == null ? void 0 : node.shared) == null ? void 0 : _a[option]) ?? ((_b = node == null ? void 0 : node.server) == null ? void 0 : _b[option]) ?? value;
+ }, void 0);
+}
+function static_error_page(options, status, message) {
+ return new Response(options.error_template({ status, message }), {
+ headers: { "content-type": "text/html; charset=utf-8" },
+ status
+ });
+}
+function handle_fatal_error(event, options, error2) {
+ const status = error2 instanceof HttpError ? error2.status : 500;
+ const body = handle_error_and_jsonify(event, options, error2);
+ const type = negotiate(event.request.headers.get("accept") || "text/html", [
+ "application/json",
+ "text/html"
+ ]);
+ if (event.url.pathname.endsWith(DATA_SUFFIX) || type === "application/json") {
+ return new Response(JSON.stringify(body), {
+ status,
+ headers: { "content-type": "application/json; charset=utf-8" }
+ });
+ }
+ return static_error_page(options, status, body.message);
+}
+function handle_error_and_jsonify(event, options, error2) {
+ if (error2 instanceof HttpError) {
+ return error2.body;
+ } else {
+ return options.handle_error(error2, event);
+ }
+}
+function redirect_response(status, location, cookies = []) {
+ const response = new Response(void 0, {
+ status,
+ headers: { location }
+ });
+ add_cookies_to_headers(response.headers, cookies);
+ return response;
+}
+async function render_endpoint(event, mod, state) {
+ const method = event.request.method;
+ check_method_names(mod);
+ let handler = mod[method];
+ if (!handler && method === "HEAD") {
+ handler = mod.GET;
+ }
+ if (!handler) {
+ return method_not_allowed(mod, method);
+ }
+ const prerender = mod.prerender ?? state.prerender_default;
+ if (prerender && (mod.POST || mod.PATCH || mod.PUT || mod.DELETE)) {
+ throw new Error("Cannot prerender endpoints that have mutative methods");
+ }
+ if (state.prerendering && !prerender) {
+ if (state.initiator) {
+ throw new Error(`${event.routeId} is not prerenderable`);
+ } else {
+ return new Response(void 0, { status: 204 });
+ }
+ }
+ try {
+ const response = await handler(
+ event
+ );
+ if (!(response instanceof Response)) {
+ throw new Error(
+ `Invalid response from route ${event.url.pathname}: handler should return a Response object`
+ );
+ }
+ if (state.prerendering) {
+ response.headers.set("x-sveltekit-prerender", String(prerender));
+ }
+ return response;
+ } catch (error2) {
+ if (error2 instanceof Redirect) {
+ return new Response(void 0, {
+ status: error2.status,
+ headers: { location: error2.location }
+ });
+ } else if (error2 instanceof ValidationError) {
+ return json(error2.data, { status: error2.status });
+ }
+ throw error2;
+ }
+}
+function is_endpoint_request(event) {
+ const { method, headers } = event.request;
+ if (method === "PUT" || method === "PATCH" || method === "DELETE") {
+ return true;
+ }
+ if (method === "POST" && headers.get("x-sveltekit-action") === "true")
+ return false;
+ const accept = event.request.headers.get("accept") ?? "*/*";
+ return negotiate(accept, ["*", "text/html"]) !== "text/html";
+}
+function compact(arr) {
+ return arr.filter((val) => val != null);
+}
+function coalesce_to_error(err) {
+ return err instanceof Error || err && err.name && err.message ? err : new Error(JSON.stringify(err));
+}
+function normalize_error(error2) {
+ return error2;
+}
+function is_action_json_request(event) {
+ const accept = negotiate(event.request.headers.get("accept") ?? "*/*", [
+ "application/json",
+ "text/html"
+ ]);
+ return accept === "application/json" && event.request.method === "POST";
+}
+async function handle_action_json_request(event, options, server) {
+ const actions = server.actions;
+ if (!actions) {
+ maybe_throw_migration_error(server);
+ return new Response("POST method not allowed. No actions exist for this page", {
+ status: 405,
+ headers: {
+ allow: "GET"
+ }
+ });
+ }
+ check_named_default_separate(actions);
+ try {
+ const data = await call_action(event, actions);
+ if (data instanceof ValidationError) {
+ check_serializability(data.data, event.routeId, "data");
+ return action_json({ type: "invalid", status: data.status, data: data.data });
+ } else {
+ check_serializability(data, event.routeId, "data");
+ return action_json({
+ type: "success",
+ status: data ? 200 : 204,
+ data
+ });
+ }
+ } catch (e) {
+ const error2 = normalize_error(e);
+ if (error2 instanceof Redirect) {
+ return action_json({
+ type: "redirect",
+ status: error2.status,
+ location: error2.location
+ });
+ }
+ if (!(error2 instanceof HttpError)) {
+ options.handle_error(error2, event);
+ }
+ return action_json(
+ {
+ type: "error",
+ error: handle_error_and_jsonify(event, options, error2)
+ },
+ {
+ status: error2 instanceof HttpError ? error2.status : 500
+ }
+ );
+ }
+}
+function action_json(data, init2) {
+ return json(data, init2);
+}
+function is_action_request(event, leaf_node) {
+ return leaf_node.server && event.request.method !== "GET" && event.request.method !== "HEAD";
+}
+async function handle_action_request(event, server) {
+ const actions = server.actions;
+ if (!actions) {
+ maybe_throw_migration_error(server);
+ event.setHeaders({
+ allow: "GET"
+ });
+ return {
+ type: "error",
+ error: error(405, "POST method not allowed. No actions exist for this page")
+ };
+ }
+ check_named_default_separate(actions);
+ try {
+ const data = await call_action(event, actions);
+ if (data instanceof ValidationError) {
+ return { type: "invalid", status: data.status, data: data.data };
+ } else {
+ return {
+ type: "success",
+ status: 200,
+ data
+ };
+ }
+ } catch (e) {
+ const error2 = normalize_error(e);
+ if (error2 instanceof Redirect) {
+ return {
+ type: "redirect",
+ status: error2.status,
+ location: error2.location
+ };
+ }
+ return { type: "error", error: error2 };
+ }
+}
+function check_named_default_separate(actions) {
+ if (actions.default && Object.keys(actions).length > 1) {
+ throw new Error(
+ `When using named actions, the default action cannot be used. See the docs for more info: https://kit.svelte.dev/docs/form-actions#named-actions`
+ );
+ }
+}
+async function call_action(event, actions) {
+ var _a;
+ const url = new URL(event.request.url);
+ let name = "default";
+ for (const param of url.searchParams) {
+ if (param[0].startsWith("/")) {
+ name = param[0].slice(1);
+ if (name === "default") {
+ throw new Error('Cannot use reserved action name "default"');
+ }
+ break;
+ }
+ }
+ const action = actions[name];
+ if (!action) {
+ throw new Error(`No action with name '${name}' found`);
+ }
+ const type = (_a = event.request.headers.get("content-type")) == null ? void 0 : _a.split("; ")[0];
+ if (type !== "application/x-www-form-urlencoded" && type !== "multipart/form-data") {
+ throw new Error(`Actions expect form-encoded data (received ${type})`);
+ }
+ return action(event);
+}
+function maybe_throw_migration_error(server) {
+ for (const method of ["POST", "PUT", "PATCH", "DELETE"]) {
+ if (server[method]) {
+ throw new Error(
+ `${method} method no longer allowed in +page.server, use actions instead. See the PR for more info: https://github.com/sveltejs/kit/pull/6469`
+ );
+ }
+ }
+}
+function check_serializability(value, id, path) {
+ const type = typeof value;
+ if (type === "string" || type === "boolean" || type === "number" || type === "undefined") {
+ return;
+ }
+ if (type === "object") {
+ if (!value)
+ return;
+ if (Array.isArray(value)) {
+ value.forEach((child, i) => {
+ check_serializability(child, id, `${path}[${i}]`);
+ });
+ return;
+ }
+ if (Object.getPrototypeOf(value) === Object.prototype) {
+ for (const key2 in value) {
+ check_serializability(value[key2], id, `${path}.${key2}`);
+ }
+ return;
+ }
+ }
+ throw new Error(`${path} returned from action in ${id} cannot be serialized as JSON`);
+}
+function create_fetch({ event, options, state, route, prerender_default, resolve_opts }) {
+ const fetched = [];
+ const initial_cookies = cookie.parse(event.request.headers.get("cookie") || "");
+ const set_cookies = [];
+ function get_cookie_header(url, header) {
+ const new_cookies = {};
+ for (const cookie2 of set_cookies) {
+ if (!domain_matches(url.hostname, cookie2.options.domain))
+ continue;
+ if (!path_matches(url.pathname, cookie2.options.path))
+ continue;
+ new_cookies[cookie2.name] = cookie2.value;
+ }
+ const combined_cookies = {
+ ...initial_cookies,
+ ...new_cookies,
+ ...cookie.parse(header ?? "")
+ };
+ return Object.entries(combined_cookies).map(([name, value]) => `${name}=${value}`).join("; ");
+ }
+ const fetcher = async (info, init2) => {
+ const request = normalize_fetch_input(info, init2, event.url);
+ const request_body = init2 == null ? void 0 : init2.body;
+ let dependency;
+ const response = await options.hooks.handleFetch({
+ event,
+ request,
+ fetch: async (info2, init3) => {
+ const request2 = normalize_fetch_input(info2, init3, event.url);
+ const url = new URL(request2.url);
+ if (!request2.headers.has("origin")) {
+ request2.headers.set("origin", event.url.origin);
+ }
+ if ((request2.method === "GET" || request2.method === "HEAD") && (request2.mode === "no-cors" && url.origin !== event.url.origin || url.origin === event.url.origin)) {
+ request2.headers.delete("origin");
+ }
+ if (url.origin !== event.url.origin) {
+ if (`.${url.hostname}`.endsWith(`.${event.url.hostname}`) && request2.credentials !== "omit") {
+ const cookie2 = get_cookie_header(url, request2.headers.get("cookie"));
+ if (cookie2)
+ request2.headers.set("cookie", cookie2);
+ }
+ let response3 = await fetch(request2);
+ if (request2.mode === "no-cors") {
+ response3 = new Response("", {
+ status: response3.status,
+ statusText: response3.statusText,
+ headers: response3.headers
+ });
+ } else {
+ if (url.origin !== event.url.origin) {
+ const acao = response3.headers.get("access-control-allow-origin");
+ if (!acao || acao !== event.url.origin && acao !== "*") {
+ throw new Error(
+ `CORS error: ${acao ? "Incorrect" : "No"} 'Access-Control-Allow-Origin' header is present on the requested resource`
+ );
+ }
+ }
+ }
+ return response3;
+ }
+ let response2;
+ const prefix = options.paths.assets || options.paths.base;
+ const decoded = decodeURIComponent(url.pathname);
+ const filename = (decoded.startsWith(prefix) ? decoded.slice(prefix.length) : decoded).slice(1);
+ const filename_html = `${filename}/index.html`;
+ const is_asset = options.manifest.assets.has(filename);
+ const is_asset_html = options.manifest.assets.has(filename_html);
+ if (is_asset || is_asset_html) {
+ const file = is_asset ? filename : filename_html;
+ if (options.read) {
+ const type = is_asset ? options.manifest.mimeTypes[filename.slice(filename.lastIndexOf("."))] : "text/html";
+ return new Response(options.read(file), {
+ headers: type ? { "content-type": type } : {}
+ });
+ }
+ return await fetch(request2);
+ }
+ if (request2.credentials !== "omit") {
+ const cookie2 = get_cookie_header(url, request2.headers.get("cookie"));
+ if (cookie2) {
+ request2.headers.set("cookie", cookie2);
+ }
+ const authorization = event.request.headers.get("authorization");
+ if (authorization && !request2.headers.has("authorization")) {
+ request2.headers.set("authorization", authorization);
+ }
+ }
+ if (request_body && typeof request_body !== "string") {
+ throw new Error("Request body must be a string");
+ }
+ response2 = await respond(request2, options, {
+ prerender_default,
+ ...state,
+ initiator: route
+ });
+ if (state.prerendering) {
+ dependency = { response: response2, body: null };
+ state.prerendering.dependencies.set(url.pathname, dependency);
+ }
+ const set_cookie = response2.headers.get("set-cookie");
+ if (set_cookie) {
+ set_cookies.push(
+ ...set_cookie_parser.splitCookiesString(set_cookie).map((str) => {
+ const { name, value, ...options2 } = set_cookie_parser.parseString(str);
+ return { name, value, options: options2 };
+ })
+ );
+ }
+ return response2;
+ }
+ });
+ const proxy = new Proxy(response, {
+ get(response2, key2, _receiver) {
+ async function text() {
+ const body = await response2.text();
+ if (!body || typeof body === "string") {
+ const status_number = Number(response2.status);
+ if (isNaN(status_number)) {
+ throw new Error(
+ `response.status is not a number. value: "${response2.status}" type: ${typeof response2.status}`
+ );
+ }
+ fetched.push({
+ url: request.url.startsWith(event.url.origin) ? request.url.slice(event.url.origin.length) : request.url,
+ method: request.method,
+ request_body,
+ response_body: body,
+ response: response2
+ });
+ const get = response2.headers.get;
+ response2.headers.get = (key3) => {
+ const lower = key3.toLowerCase();
+ const value = get.call(response2.headers, lower);
+ if (value && !lower.startsWith("x-sveltekit-")) {
+ const included = resolve_opts.filterSerializedResponseHeaders(lower, value);
+ if (!included) {
+ throw new Error(
+ `Failed to get response header "${lower}" \u2014 it must be included by the \`filterSerializedResponseHeaders\` option: https://kit.svelte.dev/docs/hooks#handle`
+ );
+ }
+ }
+ return value;
+ };
+ }
+ if (dependency) {
+ dependency.body = body;
+ }
+ return body;
+ }
+ if (key2 === "arrayBuffer") {
+ return async () => {
+ const buffer = await response2.arrayBuffer();
+ if (dependency) {
+ dependency.body = new Uint8Array(buffer);
+ }
+ return buffer;
+ };
+ }
+ if (key2 === "text") {
+ return text;
+ }
+ if (key2 === "json") {
+ return async () => {
+ return JSON.parse(await text());
+ };
+ }
+ return Reflect.get(response2, key2, response2);
+ }
+ });
+ return proxy;
+ };
+ return { fetcher, fetched, cookies: set_cookies };
+}
+function normalize_fetch_input(info, init2, url) {
+ if (info instanceof Request) {
+ return info;
+ }
+ return new Request(typeof info === "string" ? new URL(info, url) : info, init2);
+}
+function normalize_path(path, trailing_slash) {
+ if (path === "/" || trailing_slash === "ignore")
+ return path;
+ if (trailing_slash === "never") {
+ return path.endsWith("/") ? path.slice(0, -1) : path;
+ } else if (trailing_slash === "always" && !path.endsWith("/")) {
+ return path + "/";
+ }
+ return path;
+}
+function decode_params(params) {
+ for (const key2 in params) {
+ params[key2] = params[key2].replace(/%23/g, "#").replace(/%3[Bb]/g, ";").replace(/%2[Cc]/g, ",").replace(/%2[Ff]/g, "/").replace(/%3[Ff]/g, "?").replace(/%3[Aa]/g, ":").replace(/%40/g, "@").replace(/%26/g, "&").replace(/%3[Dd]/g, "=").replace(/%2[Bb]/g, "+").replace(/%24/g, "$");
+ }
+ return params;
+}
+const tracked_url_properties = ["href", "pathname", "search", "searchParams", "toString", "toJSON"];
+function make_trackable(url, callback) {
+ const tracked = new URL(url);
+ for (const property of tracked_url_properties) {
+ let value = tracked[property];
+ Object.defineProperty(tracked, property, {
+ get() {
+ callback();
+ return value;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ }
+ tracked[Symbol.for("nodejs.util.inspect.custom")] = (depth, opts, inspect) => {
+ return inspect(url, opts);
+ };
+ disable_hash(tracked);
+ return tracked;
+}
+function disable_hash(url) {
+ Object.defineProperty(url, "hash", {
+ get() {
+ throw new Error(
+ "Cannot access event.url.hash. Consider using `$page.url.hash` inside a component instead"
+ );
+ }
+ });
+}
+function disable_search(url) {
+ for (const property of ["search", "searchParams"]) {
+ Object.defineProperty(url, property, {
+ get() {
+ throw new Error(`Cannot access url.${property} on a page with prerendering enabled`);
+ }
+ });
+ }
+}
+async function unwrap_promises(object) {
+ var _a;
+ for (const key2 in object) {
+ if (typeof ((_a = object[key2]) == null ? void 0 : _a.then) === "function") {
+ return Object.fromEntries(
+ await Promise.all(Object.entries(object).map(async ([key3, value]) => [key3, await value]))
+ );
+ }
+ }
+ return object;
+}
+async function load_server_data({ event, state, node, parent }) {
+ var _a;
+ if (!(node == null ? void 0 : node.server))
+ return null;
+ const uses = {
+ dependencies: /* @__PURE__ */ new Set(),
+ params: /* @__PURE__ */ new Set(),
+ parent: false,
+ url: false
+ };
+ const url = make_trackable(event.url, () => {
+ uses.url = true;
+ });
+ if (state.prerendering) {
+ disable_search(url);
+ }
+ const result = await ((_a = node.server.load) == null ? void 0 : _a.call(null, {
+ ...event,
+ depends: (...deps) => {
+ for (const dep of deps) {
+ const { href } = new URL(dep, event.url);
+ uses.dependencies.add(href);
+ }
+ },
+ params: new Proxy(event.params, {
+ get: (target, key2) => {
+ uses.params.add(key2);
+ return target[key2];
+ }
+ }),
+ parent: async () => {
+ uses.parent = true;
+ return parent();
+ },
+ url
+ }));
+ const data = result ? await unwrap_promises(result) : null;
+ return {
+ type: "data",
+ data,
+ uses: {
+ dependencies: uses.dependencies.size > 0 ? Array.from(uses.dependencies) : void 0,
+ params: uses.params.size > 0 ? Array.from(uses.params) : void 0,
+ parent: uses.parent ? 1 : void 0,
+ url: uses.url ? 1 : void 0
+ }
+ };
+}
+async function load_data({ event, fetcher, node, parent, server_data_promise }) {
+ var _a;
+ const server_data_node = await server_data_promise;
+ if (!((_a = node == null ? void 0 : node.shared) == null ? void 0 : _a.load)) {
+ return (server_data_node == null ? void 0 : server_data_node.data) ?? null;
+ }
+ const load_event = {
+ url: event.url,
+ params: event.params,
+ data: (server_data_node == null ? void 0 : server_data_node.data) ?? null,
+ routeId: event.routeId,
+ fetch: fetcher,
+ setHeaders: event.setHeaders,
+ depends: () => {
+ },
+ parent
+ };
+ Object.defineProperties(load_event, {
+ session: {
+ get() {
+ throw new Error(
+ "session is no longer available. See https://github.com/sveltejs/kit/discussions/5883"
+ );
+ },
+ enumerable: false
+ }
+ });
+ const data = await node.shared.load.call(null, load_event);
+ return data ? unwrap_promises(data) : null;
+}
+const subscriber_queue = [];
+function readable(value, start) {
+ return {
+ subscribe: writable(value, start).subscribe
+ };
+}
+function writable(value, start = noop) {
+ let stop;
+ const subscribers = /* @__PURE__ */ new Set();
+ function set(new_value) {
+ if (safe_not_equal(value, new_value)) {
+ value = new_value;
+ if (stop) {
+ const run_queue = !subscriber_queue.length;
+ for (const subscriber of subscribers) {
+ subscriber[1]();
+ subscriber_queue.push(subscriber, value);
+ }
+ if (run_queue) {
+ for (let i = 0; i < subscriber_queue.length; i += 2) {
+ subscriber_queue[i][0](subscriber_queue[i + 1]);
+ }
+ subscriber_queue.length = 0;
+ }
+ }
+ }
+ }
+ function update(fn) {
+ set(fn(value));
+ }
+ function subscribe(run, invalidate = noop) {
+ const subscriber = [run, invalidate];
+ subscribers.add(subscriber);
+ if (subscribers.size === 1) {
+ stop = start(set) || noop;
+ }
+ run(value);
+ return () => {
+ subscribers.delete(subscriber);
+ if (subscribers.size === 0) {
+ stop();
+ stop = null;
+ }
+ };
+ }
+ return { set, update, subscribe };
+}
+function hash(value) {
+ let hash2 = 5381;
+ let i = value.length;
+ if (typeof value === "string") {
+ while (i)
+ hash2 = hash2 * 33 ^ value.charCodeAt(--i);
+ } else {
+ while (i)
+ hash2 = hash2 * 33 ^ value[--i];
+ }
+ return (hash2 >>> 0).toString(36);
+}
+const escape_html_attr_dict = {
+ "&": "&",
+ '"': """
+};
+const escape_html_attr_regex = new RegExp(
+ `[${Object.keys(escape_html_attr_dict).join("")}]|[\\ud800-\\udbff](?![\\udc00-\\udfff])|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\udc00-\\udfff]`,
+ "g"
+);
+function escape_html_attr(str) {
+ const escaped_str = str.replace(escape_html_attr_regex, (match) => {
+ if (match.length === 2) {
+ return match;
+ }
+ return escape_html_attr_dict[match] ?? `${match.charCodeAt(0)};`;
+ });
+ return `"${escaped_str}"`;
+}
+const replacements = {
+ "<": "\\u003C",
+ "\u2028": "\\u2028",
+ "\u2029": "\\u2029"
+};
+const pattern = new RegExp(`[${Object.keys(replacements).join("")}]`, "g");
+function serialize_data(fetched, filter, prerendering = false) {
+ const headers = {};
+ let cache_control = null;
+ let age = null;
+ for (const [key2, value] of fetched.response.headers) {
+ if (filter(key2, value)) {
+ headers[key2] = value;
+ }
+ if (key2 === "cache-control")
+ cache_control = value;
+ if (key2 === "age")
+ age = value;
+ }
+ const payload = {
+ status: fetched.response.status,
+ statusText: fetched.response.statusText,
+ headers,
+ body: fetched.response_body
+ };
+ const safe_payload = JSON.stringify(payload).replace(pattern, (match) => replacements[match]);
+ const attrs = [
+ 'type="application/json"',
+ "data-sveltekit-fetched",
+ `data-url=${escape_html_attr(fetched.url)}`
+ ];
+ if (fetched.request_body) {
+ attrs.push(`data-hash=${escape_html_attr(hash(fetched.request_body))}`);
+ }
+ if (!prerendering && fetched.method === "GET" && cache_control) {
+ const match = /s-maxage=(\d+)/g.exec(cache_control) ?? /max-age=(\d+)/g.exec(cache_control);
+ if (match) {
+ const ttl = +match[1] - +(age ?? "0");
+ attrs.push(`data-ttl="${ttl}"`);
+ }
+ }
+ return `
-
-
-
-
\ No newline at end of file
diff --git a/src/app.css b/src/app.css
index 7d5be90..e033b19 100644
--- a/src/app.css
+++ b/src/app.css
@@ -1,5 +1,55 @@
+/* author: shreyas jani | backslashr
+https://github.com/hey-shrey
+https://heyshrey.com/tools/minimal-css-reset/
+License: none (public domain)
+*/
+
+/* base font size at 16px */
+html {
+ font-size: 16px;
+}
+
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+}
+
+body,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+p,
+ol,
+ul {
+ margin: 0;
+ padding: 0;
+ font-weight: normal;
+}
+
+/* images are responsive by default */
+img {
+ max-width: 100%;
+ height: auto;
+}
+
+a {
+ text-decoration: none;
+ color: inherit;
+ cursor: pointer;
+}
+
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+ margin: 0;
+}
+
:root {
- font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
+ font-family: 'Lato', Avenir, Helvetica, Arial, sans-serif;
font-size: 16px;
line-height: 24px;
font-weight: 400;
@@ -7,7 +57,7 @@
color-scheme: light dark;
color: rgba(255, 255, 255, 0.87);
background-color: #242424;
-
+ --gradient-4: linear-gradient(to bottom right, #00f5a0, #00d9f5);
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
@@ -37,7 +87,10 @@ h1 {
#app {
padding: 2rem;
- text-align: center;
+ height: 100vh;
+ background: #fc466b;
+ background: -webkit-linear-gradient(to left, #fc466b, #3f5efb);
+ background: linear-gradient(to left, #fc466b, #3f5efb);
}
button {
@@ -71,3 +124,180 @@ button:focus-visible {
background-color: #f9f9f9;
}
}
+
+
+.customTextInputClass {
+ background-color: white;
+}
+.customSeparatorClass {
+ background-color: black;
+}
+.customRowClass {
+ border: 1px solid red;
+}
+.customWrapperClass {
+ border: 0px;
+}
+.customWrapperClass {
+ border: 0px;
+}
+
+.header-logo {
+ & .links {
+ font-size: 2rem;
+ font-weight: 900;
+ margin: 0;
+ padding: 0;
+ &:hover {
+ border-color: unset;
+ background-color: unset;
+ }
+ }
+}
+
+.links {
+ margin: 0 1rem;
+ color: #f9f9f9;
+ padding: 1rem;
+ transition: background-color 0.3s ease-in, color 0.3s ease-in;
+ &:hover {
+ border-color: #f9f9f9;
+ background-color: #3f5efb;
+ color: #00f5a0;
+ }
+}
+
+.header-wrapper {
+ max-width: 1920px;
+ margin: 0 auto;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.content-wrapper {
+ max-width: 1920px;
+ margin: 0 auto;
+ padding: 150px 0;
+ display: flex;
+ justify-content: space-around;
+ align-items: center;
+}
+
+.otp-block-wrapper {
+ display: flex;
+ justify-content: flex-start;
+ align-items: flex-start;
+ margin-bottom: 2rem;
+ .otp-block {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background: var(--gradient-4) fixed;
+ background-size: 12ch 7ch;
+ -webkit-background-clip: text;
+ background-clip: text;
+ -webkit-text-fill-color: transparent;
+ margin: 6px;
+ font-weight: 700;
+ position: relative;
+ padding: 16px 10px;
+ border: 2px solid white;
+ border-radius: 4px;
+ & p {
+ transition: border-radius 300ms ease-in-out, background 300ms ease-in-out;
+ width: 16px;
+ height: 16px;
+ margin: 0;
+ padding: 0;
+ line-height: 1;
+ font-size: 16px;
+ text-align: center;
+ &:hover {
+ border-radius: 50%;
+ background: var(--gradient-4) fixed;
+ }
+ }
+ }
+}
+
+.subtitle {
+ font-weight: 900;
+ font-size: 4rem;
+ line-height: 1.1;
+ font-weight: 900;
+ letter-spacing: -3.4px;
+ background: var(--gradient-4) fixed;
+ background-size: 12ch 7ch;
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+}
+
+.text {
+ margin: 2rem 0;
+ font-size: 1.5rem;
+}
+
+.feature-list--card {
+ padding: 2rem;
+ background-color: transparent;
+ .title {
+ text-align: center;
+ margin: 2rem 0;
+ &:first-of-type {
+ margin: 0 0 2rem;
+ }
+ }
+}
+
+.try-out {
+ margin: 4rem 0;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ & .links {
+ flex: 1 0 33%;
+ margin: 0 1rem 0 0;
+ min-width: 150px;
+ min-height: 64px;
+ border: 1px solid #f9f9f9;
+ display: flex;
+ align-items: center;
+ &:first-child {
+ background-color: #00f5a0;
+ color: #3f5efb;
+ opacity: 0.8;
+ transition: opacity 0.3s ease-in, color 0.3s ease-in;
+ }
+ & .icon {
+ max-width: 28px;
+ max-height: 28px;
+ object-fit: contain;
+ object-position: center;
+ margin-right: 1rem;
+ }
+ &:hover {
+ opacity: 1;
+ background-color: #00f5a0;
+ color: #3f5efb;
+ }
+ }
+}
+
+.footer {
+ max-width: 1920px;
+ text-align: center;
+ margin: 0 auto;
+ span {
+ margin-right: 2rem;
+ &:last-child {
+ margin-right: 0;
+ }
+ }
+ .link {
+ color: #f9f9f9;
+ &:hover {
+ color: #00f5a0;
+ }
+ }
+}
diff --git a/src/app.d.ts b/src/app.d.ts
new file mode 100644
index 0000000..20346fb
--- /dev/null
+++ b/src/app.d.ts
@@ -0,0 +1,11 @@
+///
+
+// See https://kit.svelte.dev/docs/types#app
+// for information about these interfaces
+// and what to do when importing types
+declare namespace App {
+ // interface Locals {}
+ // interface PageData {}
+ // interface Error {}
+ // interface Platform {}
+}
diff --git a/src/app.html b/src/app.html
new file mode 100644
index 0000000..2f83674
--- /dev/null
+++ b/src/app.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ %sveltekit.head%
+
+
+ %sveltekit.body%
+
+
diff --git a/src/assets/icons/code.svg b/src/assets/icons/code.svg
new file mode 100644
index 0000000..5728238
--- /dev/null
+++ b/src/assets/icons/code.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/github.svg b/src/assets/icons/github.svg
new file mode 100644
index 0000000..634e055
--- /dev/null
+++ b/src/assets/icons/github.svg
@@ -0,0 +1,11 @@
+
+
+
diff --git a/src/assets/icons/laptop_mac.svg b/src/assets/icons/laptop_mac.svg
new file mode 100644
index 0000000..a80db79
--- /dev/null
+++ b/src/assets/icons/laptop_mac.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/otplogo.svg b/src/assets/icons/otplogo.svg
new file mode 100644
index 0000000..65adb78
--- /dev/null
+++ b/src/assets/icons/otplogo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/examples/Index.svelte b/src/examples/Index.svelte
index 531c2d3..00a9447 100644
--- a/src/examples/Index.svelte
+++ b/src/examples/Index.svelte
@@ -1,36 +1,37 @@
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
+ @import './examples.postcss';
+
diff --git a/src/examples/Prefill/Index.svelte b/src/examples/Prefill/Index.svelte
index defb5ab..deab7a9 100644
--- a/src/examples/Prefill/Index.svelte
+++ b/src/examples/Prefill/Index.svelte
@@ -2,6 +2,7 @@
import Prism from 'svelte-prism';
import OtpInput from '../../lib/Index.svelte';
let value = '2345';
+ // eslint-disable-next-line
let otpInstance
function callbackFunction(event: CustomEvent) {
diff --git a/src/examples/Styles/Index.svelte b/src/examples/Styles/Index.svelte
index 04f04e2..11cee2e 100644
--- a/src/examples/Styles/Index.svelte
+++ b/src/examples/Styles/Index.svelte
@@ -33,10 +33,7 @@
+
+ @import './stylecss.postcss';
+
\ No newline at end of file
diff --git a/src/examples/Styles/stylecss.postcss b/src/examples/Styles/stylecss.postcss
new file mode 100644
index 0000000..fa43623
--- /dev/null
+++ b/src/examples/Styles/stylecss.postcss
@@ -0,0 +1,16 @@
+
+.customTextInputClass {
+ background-color: white;
+ }
+ .customSeparatorClass {
+ background-color: black;
+ }
+ .customRowClass {
+ border: 1px solid red;
+ }
+ .customWrapperClass {
+ border: 0px;
+ }
+ .customWrapperClass {
+ border: 0px;
+ }
\ No newline at end of file
diff --git a/src/examples/examples.postcss b/src/examples/examples.postcss
index 5fd7780..dd050c0 100644
--- a/src/examples/examples.postcss
+++ b/src/examples/examples.postcss
@@ -1,67 +1,65 @@
-
.customInputClass {
- height: 24px;
- width: 24px;
- }
+ height: 24px;
+ width: 24px;
+}
- .button-otp{
- margin: 32px 0px;
- @media (prefers-color-scheme: dark) {
- background: #333333;
- color: #FFFFFF;
- }
- border-radius: 16px;
- padding: 16px;
+.button-otp{
+ margin: 32px 0px;
+ @media (prefers-color-scheme: dark) {
+ background: #333333;
+ color: #FFFFFF;
+ }
+ border-radius: 16px;
+ padding: 16px;
+ font-weight: bold;
+}
+
+code[class*=language-],pre[class*=language-]{color:#000;background:none;text-shadow:0 1px #fff;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}
+
+/**
+* examples css starts here
+* this is global css
+*/
+
+.title {
font-weight: bold;
+ font-size: 24px;
+}
+.container {
+ background-color: #f6f7f6;
+ margin-top: 20px;
+ padding: 25px;
+ border-radius: 10px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content:space-between;
+ .codesnippet {
+ width: 80%;
+ border: 1px solid #222;
+ margin-bottom: 16px;
+ border-radius: 5px;
+ .language-html {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
}
-
- code[class*=language-],pre[class*=language-]{color:#000;background:none;text-shadow:0 1px #fff;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}
-
- /**
- * examples css starts here
- * this is global css
- */
-
- .title {
+ .prism-multi{
+ display: flex;
+ flex-direction: row;
+ align-items:center;
+ justify-content: space-around;
+ }
+ label{
+ font-size: 18px;
+ margin-top: 16px;
+ display: block;
font-weight: bold;
- font-size: 24px;
}
- .container {
- background-color: #f6f7f6;
- margin-top: 20px;
- padding: 25px;
- border-radius: 10px;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content:space-between;
- .codesnippet {
- width: 80%;
- border: 1px solid #222;
- margin-bottom: 16px;
- border-radius: 5px;
- .language-html {
- display: flex;
- align-items: center;
- justify-content: center;
- }
- }
- .prism-multi{
- display: flex;
- flex-direction: row;
- align-items:center;
- justify-content: space-around;
- }
- label{
- font-size: 18px;
- margin-top: 16px;
- display: block;
- font-weight: bold;
- }
- .textEmitted{
- @media (prefers-color-scheme: dark) {
- color: #000000;
- }
+ .textEmitted{
+ @media (prefers-color-scheme: dark) {
+ color: #000000;
}
}
-
\ No newline at end of file
+}
diff --git a/src/lib/Index.svelte b/src/lib/Index.svelte
index 98b4395..e57cefb 100644
--- a/src/lib/Index.svelte
+++ b/src/lib/Index.svelte
@@ -1,148 +1,145 @@
-
-
- {#each components as comp, index}
-
-
- {#if index !== components.length - 1}
-
{separator}
- {/if}
-
- {/each}
-
-
-
-
\ No newline at end of file
+
+ if (!isDeleteEvent && autoFocusNextOnInput) {
+ nextIndex = currentIndex < components.length - 1 ? currentIndex + 1 : currentIndex;
+ /* eslint-disable */
+ const nextRef: { [x: string]: any } = components[nextIndex].ref;
+ nextRef?.$$?.ctx[6]?.focus();
+ /* eslint-enable */
+ }
+
+ checkValidity(true);
+ };
+
+
+
+ {#each components as comp, index}
+
+
+ {#if index !== components.length - 1}
+
{separator}
+ {/if}
+
+ {/each}
+
+
+
diff --git a/src/lib/TextInput/Index.svelte b/src/lib/TextInput/Index.svelte
index 53b81e0..cc2ce97 100644
--- a/src/lib/TextInput/Index.svelte
+++ b/src/lib/TextInput/Index.svelte
@@ -8,7 +8,7 @@
export let customInputClass = '';
export let handleChange: (componentIndex: string, value: any) => void;
export let dataAttr = '';
-
+ // eslint-disable-next-line
let component;
function onChange(e: Event & { currentTarget: EventTarget & HTMLInputElement }): void {
diff --git a/src/main.ts b/src/main.ts
deleted file mode 100644
index d026861..0000000
--- a/src/main.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import './app.css';
-import App from './App.svelte';
-
-const app = new App({
- target: document.getElementById('app'),
-});
-
-export default app;
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
new file mode 100644
index 0000000..10582b2
--- /dev/null
+++ b/src/routes/+page.svelte
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
Powerful OTP Input
+
Component for Svelte
+
Lightweight & reusable OTP input component for Svelte projects.
+
+
+
+
+
Focus change on Input/Delete
+
+
OTP input with 6 number of inputs
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/routes/about/+page.svelte b/src/routes/about/+page.svelte
new file mode 100644
index 0000000..c11160c
--- /dev/null
+++ b/src/routes/about/+page.svelte
@@ -0,0 +1,3 @@
+
+ I am about page
+
\ No newline at end of file
diff --git a/src/routes/examples/+page.svelte b/src/routes/examples/+page.svelte
new file mode 100644
index 0000000..b3ef6cf
--- /dev/null
+++ b/src/routes/examples/+page.svelte
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/src/shared/interfaces.ts b/src/shared/interfaces.ts
new file mode 100644
index 0000000..68b7eca
--- /dev/null
+++ b/src/shared/interfaces.ts
@@ -0,0 +1,4 @@
+export interface Window {
+ [x:string]: any
+ VITE__APP_VERSION__?: string
+}
diff --git a/src/types/index.d.ts b/src/types/index.d.ts
new file mode 100644
index 0000000..10a2d64
--- /dev/null
+++ b/src/types/index.d.ts
@@ -0,0 +1,8 @@
+export {};
+declare global {
+ interface Window {
+ VITE__APP_VERSION__?: string;
+ [s:string]:any
+ }
+}
+window.VITE__APP_VERSION__ = window.VITE__APP_VERSION__|| '';
\ No newline at end of file
diff --git a/static/favicon.png b/static/favicon.png
new file mode 100644
index 0000000..825b9e6
Binary files /dev/null and b/static/favicon.png differ
diff --git a/svelte.config.js b/svelte.config.js
index 70a4dd9..d38df09 100644
--- a/svelte.config.js
+++ b/svelte.config.js
@@ -9,7 +9,7 @@ const config = {
preprocess: preprocess(),
kit: {
- adapter: adapter()
+ adapter: adapter(),
},
package: {
diff --git a/tsconfig.json b/tsconfig.json
index 44a351c..20f1e6c 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,22 +1,49 @@
+// {
+// "extends": "./.svelte-kit/tsconfig.json",
+// "compilerOptions": {
+// "target": "ESNext",
+// "useDefineForClassFields": true,
+// "module": "ESNext",
+// "resolveJsonModule": true,
+// "baseUrl": ".",
+// /**
+// * Typecheck JS in `.svelte` and `.js` files by default.
+// * Disable checkJs if you'd like to use dynamic types in JS.
+// * Note that setting allowJs false does not prevent the use
+// * of JS in `.svelte` files.
+// */
+// "allowJs": true,
+// "checkJs": true,
+// "isolatedModules": true
+// },
+// "exclude": ["./jest.config.ts"],
+// "include": ["src/**/*.d.ts", "src/**/*.ts", "src/**/*.js", "src/**/*.svelte"],
+// "references": [{ "path": "./tsconfig.node.json" }]
+// }
+
+
{
- "extends": "@tsconfig/svelte/tsconfig.json",
- "compilerOptions": {
- "target": "ESNext",
- "useDefineForClassFields": true,
- "module": "ESNext",
- "resolveJsonModule": true,
- "baseUrl": ".",
- /**
- * Typecheck JS in `.svelte` and `.js` files by default.
- * Disable checkJs if you'd like to use dynamic types in JS.
- * Note that setting allowJs false does not prevent the use
- * of JS in `.svelte` files.
- */
- "allowJs": true,
- "checkJs": true,
- "isolatedModules": true
- },
- "exclude": ["./jest.config.ts"],
- "include": ["src/**/*.d.ts", "src/**/*.ts", "src/**/*.js", "src/**/*.svelte"],
- "references": [{ "path": "./tsconfig.node.json" }]
+ "extends": "./.svelte-kit/tsconfig.json",
+ "compilerOptions": {
+ // "target": "ESNext",
+ // "useDefineForClassFields": true,
+ // "module": "ESNext",
+ // "baseUrl": ".",
+ "allowJs": true,
+ "checkJs": true,
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+ "resolveJsonModule": true,
+ "skipLibCheck": true,
+ "sourceMap": true,
+ "strict": true,
+ "typeRoots": [ "./node_modules/@types","./src/types" ]
+ },
+ "exclude": ["dist","./jest.config.ts","package"],
+ "include": ["*.ts", "src/**/*.d.ts", "src/**/*.ts", "src/**/*.js", "src/**/*.svelte"],
+ // "references": [{ "path": "./tsconfig.node.json" }]
+ // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
+ //
+ // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
+ // from the referenced tsconfig.json - TypeScript does not merge them in
}
diff --git a/vite.config.ts b/vite.config.ts
index 401b4d4..ef8053a 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,7 +1,8 @@
-import { defineConfig } from 'vite'
-import { svelte } from '@sveltejs/vite-plugin-svelte'
+import { sveltekit } from '@sveltejs/kit/vite';
+import type { UserConfig } from 'vite';
-// https://vitejs.dev/config/
-export default defineConfig({
- plugins: [svelte()]
-})
+const config: UserConfig = {
+ plugins: [sveltekit()],
+};
+
+export default config;