diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index 8441fdb..a35d1a6 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -1,10 +1,9 @@
---
name: Bug report
about: Create a report to help us improve
-title: "[BUG]"
+title: '[BUG]'
labels: bug
assignees: Picorims
-
---
**Describe the bug**
@@ -12,6 +11,7 @@ A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
+
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
@@ -24,10 +24,11 @@ A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.
**Environment (please complete the following information):**
- - OS: [e.g. iOS]
- - Browser: [e.g. chrome, safari]
- - Plugin Version: [e.g. v1.0.0]
- - Penpot Version: [e.g. v1.4]
+
+- OS: [e.g. iOS]
+- Browser: [e.g. chrome, safari]
+- Plugin Version: [e.g. v1.0.0]
+- Penpot Version: [e.g. v1.4]
**Additional context**
Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md
index f2f29df..22e84f4 100644
--- a/.github/ISSUE_TEMPLATE/documentation.md
+++ b/.github/ISSUE_TEMPLATE/documentation.md
@@ -1,10 +1,7 @@
---
name: Documentation
about: For documentation or user information.
-title: "[DOC]"
+title: '[DOC]'
labels: documentation
assignees: Picorims
-
---
-
-
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
index 5ee0e37..3cf5c5d 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -1,10 +1,9 @@
---
name: Feature request
about: Suggest an idea for this project
-title: "[FEAT]"
+title: '[FEAT]'
labels: enhancement
assignees: Picorims
-
---
**Is your feature request related to a problem? Please describe.**
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 0128b4e..810e6b3 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -17,23 +17,23 @@ diverse, inclusive, and healthy community.
Examples of behavior that contributes to a positive environment for our
community include:
-* Demonstrating empathy and kindness toward other people
-* Being respectful of differing opinions, viewpoints, and experiences
-* Giving and gracefully accepting constructive feedback
-* Accepting responsibility and apologizing to those affected by our mistakes,
+- Demonstrating empathy and kindness toward other people
+- Being respectful of differing opinions, viewpoints, and experiences
+- Giving and gracefully accepting constructive feedback
+- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
-* Focusing on what is best not just for us as individuals, but for the
+- Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
-* The use of sexualized language or imagery, and sexual attention or
+- The use of sexualized language or imagery, and sexual attention or
advances of any kind
-* Trolling, insulting or derogatory comments, and personal or political attacks
-* Public or private harassment
-* Publishing others' private information, such as a physical or email
+- Trolling, insulting or derogatory comments, and personal or political attacks
+- Public or private harassment
+- Publishing others' private information, such as a physical or email
address, without their explicit permission
-* Other conduct which could reasonably be considered inappropriate in a
+- Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
@@ -106,7 +106,7 @@ Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
-standards, including sustained inappropriate behavior, harassment of an
+standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
diff --git a/README.md b/README.md
index ebc4729..da7f5ec 100644
--- a/README.md
+++ b/README.md
@@ -5,9 +5,11 @@
Install dependencies with `npm install`.
For building and launching a development server, do:
+
```bash
npm run build:dev
```
+
Due to building restrictions, hot reloading is **NOT** supported, builds need to be done manually!
## Building
@@ -17,6 +19,7 @@ To create a production version of the plugin:
```bash
npm run build:prod
```
+
Upon push on main, the production build of the plugin will be deployed to github pages.
You can preview the production build with `npm run preview`.
@@ -25,4 +28,4 @@ You can preview the production build with `npm run preview`.
- Penpot plugin styles: https://penpot-plugins-styles.pages.dev/
- Penpot plugin API: https://penpot-plugins-api-doc.pages.dev/
-- Penpot plugin guidelines: https://help.penpot.app/plugins/
\ No newline at end of file
+- Penpot plugin guidelines: https://help.penpot.app/plugins/
diff --git a/docs/_app/env.js b/docs/_app/env.js
index f5427da..1c60631 100644
--- a/docs/_app/env.js
+++ b/docs/_app/env.js
@@ -1 +1 @@
-export const env={}
\ No newline at end of file
+export const env = {};
diff --git a/docs/_app/immutable/assets/0.DJJo6TNW.css b/docs/_app/immutable/assets/0.DJJo6TNW.css
index 59a4582..f4f24ac 100644
--- a/docs/_app/immutable/assets/0.DJJo6TNW.css
+++ b/docs/_app/immutable/assets/0.DJJo6TNW.css
@@ -1 +1,735 @@
-@import"https://fonts.googleapis.com/css?family=Work+Sans:wght@400+500&display=swap";html,body{font-family:Work Sans,sans-serif;font-optical-sizing:auto;font-style:normal;margin:0;padding:0}body,h1,h2,h3,h4,h5,p,pre{margin:0}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid}ul{list-style:none;margin:0;padding:0}[data-theme=dark]{color-scheme:dark;--background-primary: var(--db-primary);--background-secondary: var(--db-secondary);--background-tertiary: var(--db-tertiary);--background-quaternary: var(--db-quaternary);--foreground-primary: var(--df-primary);--foreground-secondary: var(--df-secondary);--accent-primary: var(--da-primary);--accent-primary-muted: var(--da-primary-muted);--accent-secondary: var(--da-secondary);--accent-tertiary: var(--da-tertiary);--accent-quaternary: var(--da-quaternary)}[data-theme=light]{color-scheme:light;--background-primary: var(--lb-primary);--background-secondary: var(--lb-secondary);--background-tertiary: var(--lb-tertiary);--background-quaternary: var(--lb-quaternary);--foreground-primary: var(--lf-primary);--foreground-secondary: var(--lf-secondary);--accent-primary: var(--la-primary);--accent-primary-muted: var(--la-primary-muted);--accent-secondary: var(--la-secondary);--accent-tertiary: var(--la-tertiary);--accent-quaternary: var(--la-quaternary)}[data-theme]{background-color:var(--background-primary);color:var(--foreground-secondary)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px transparent;border-radius:var(--spacing-8)}::-webkit-scrollbar-thumb{border-radius:var(--spacing-8);-webkit-box-shadow:inset 0 0 6px #aab5ba}:root{--db-primary: #18181a;--db-secondary: #000000;--db-tertiary: #212426;--db-quaternary: #2e3434;--lb-primary: #ffffff;--lb-secondary: #e8eaee;--lb-tertiary: #f3f4f6;--lb-quaternary: #eef0f2;--df-primary: #ffffff;--df-secondary: #8f9da3;--lf-primary: #000000;--lf-secondary: #495e74;--da-primary: #7EFFF5;--da-primary-muted: #426158;--da-secondary: #BB97D8;--da-tertiary: #00D1B8;--da-quaternary: #ff6fe0;--la-primary: #6911d4;--la-primary-muted: #e1d2f5;--la-secondary: #1345aa;--la-tertiary: #8c33eb;--la-quaternary: #ff6fe0;--success-50: #f0f8ff;--success-500: #2d9f8f;--success-950: #0a2927;--warning-50: #fff4ed;--warning-500: #fe4811;--warning-950: #440806;--error-50: #fff0f3;--error-200: #ffcada;--error-500: #ff3277;--error-700: #c80857;--error-950: #500124;--info-50: #f0f8ff;--info-500: #0e9be9;--info-950: #082c49;--app-white: #ffffff;--app-black: #000000;--app-pink: #f49ef7;--app-blue: #75cafc;--app-gold: #fdcd79;--app-indigo: #a9bdfa;--app-red: #faa6b7;--app-yellow: #dee563;--app-purple: #cbaaff;--app-lemon: #b1e96f;--app-orange: #f9b489}:root{--font-weight-regular: 400;--font-weight-bold: 500;--font-line-height-s: 1.2;--font-line-height-m: 1.4;--font-line-height-l: 1.5;--font-size-xs: 10px;--font-size-s: 12px;--font-size-m: 14px;--font-size-l: 16px}html,body{font-family:Work Sans,sans-serif;font-optical-sizing:auto;font-style:normal}code{font-family:Work Sans,sans-serif}.display{font-weight:var(--font-weight-regular);font-size:36px;line-height:var(--font-line-height-s)}.title-s{font-weight:var(--font-weight-regular);font-size:var(--font-size-m);line-height:var(--font-line-height-s)}.title-m{font-weight:var(--font-weight-regular);font-size:20px;line-height:var(--font-line-height-s)}.title-l{font-weight:var(--font-weight-regular);font-size:24px;line-height:1.1}.headline-s{font-weight:var(--font-weight-bold);font-size:var(--font-size-s);line-height:var(--font-line-height-s);text-transform:uppercase}.headline-m{font-weight:var(--font-weight-regular);font-size:var(--font-size-l);line-height:var(--font-line-height-m);text-transform:uppercase}.headline-l{font-weight:var(--font-weight-regular);font-size:18px;line-height:var(--font-line-height-s);text-transform:uppercase}.body-xs{font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);line-height:var(--font-line-height-s)}.body-s{font-weight:var(--font-weight-regular);font-size:var(--font-size-s);line-height:var(--font-line-height-m)}.body-m{font-weight:var(--font-weight-regular);font-size:var(--font-size-m);line-height:var(--font-line-height-l)}.body-l{font-weight:var(--font-weight-regular);font-size:var(--font-size-l);line-height:var(--font-line-height-l)}.caption{font-weight:var(--font-weight-regular);font-size:var(--font-size-s);line-height:var(--font-line-height-s)}code,.code-font{font-weight:var(--font-weight-regular);font-size:var(--font-size-s);line-height:var(--font-line-height-l)}:root{--spacing-4: .25rem;--spacing-8: calc(var(--spacing-4) * 2);--spacing-12: calc(var(--spacing-4) * 3);--spacing-16: calc(var(--spacing-4) * 4);--spacing-20: calc(var(--spacing-4) * 5);--spacing-24: calc(var(--spacing-4) * 6);--spacing-28: calc(var(--spacing-4) * 7);--spacing-32: calc(var(--spacing-4) * 8);--spacing-36: calc(var(--spacing-4) * 9);--spacing-40: calc(var(--spacing-4) * 10)}:where([data-appearance]:is(button),[role=tab]:is(button)){border:2px solid transparent;font-weight:500;font-size:12px;border-radius:8px;line-height:1.2;padding:8px 24px;text-transform:uppercase;font-family:inherit}:where([data-appearance]:is(button),[role=tab]:is(button)):hover:not(:disabled){cursor:pointer}:where([data-appearance]:is(button),[role=tab]:is(button)):focus-visible{outline:none}[data-theme=dark] [data-appearance=primary]:is(button){background-color:var(--da-primary);border:2px solid transparent;color:var(--db-secondary)}[data-theme=dark] [data-appearance=primary]:is(button):hover:not(:disabled){background-color:var(--da-tertiary);border:2px solid var(--da-tertiary)}[data-theme=dark] [data-appearance=primary]:is(button):focus:not(:disabled),[data-theme=dark] [data-appearance=primary]:is(button):focus-visible:not(:disabled){border:2px solid var(--da-primary);background-color:var(--db-tertiary);color:var(--df-secondary)}[data-theme=dark] [data-appearance=primary]:is(button):active:not(:disabled){border:2px solid var(--da-tertiary)}[data-theme=dark] [data-appearance=primary]:is(button):disabled{background-color:transparent;border:2px solid var(--db-quaternary);color:var(--df-secondary)}[data-theme=dark] [data-appearance=primary]:is(button)[data-variant=destructive]{background-color:var(--error-500);border:2px solid transparent}[data-theme=dark] [data-appearance=primary]:is(button)[data-variant=destructive]:hover:not(:disabled){background-color:var(--error-700);border:2px solid var(--error-700)}[data-theme=dark] [data-appearance=primary]:is(button)[data-variant=destructive]:focus:not(:disabled),[data-theme=dark] [data-appearance=primary]:is(button)[data-variant=destructive]:focus-visible:not(:disabled){border:2px solid var(--error-500)}[data-theme=dark] [data-appearance=primary]:is(button)[data-variant=destructive]:active:not(:disabled){background-color:var(--app-red);border:2px solid var(--error-700)}[data-theme=dark] [data-appearance=primary]:is(button)[data-variant=destructive]:disabled{background-color:transparent;border:var(--df-secondary)}[data-theme=dark] [data-appearance=secondary]:is(button){background-color:var(--db-tertiary);color:var(--df-secondary)}[data-theme=dark] [data-appearance=secondary]:is(button):hover:not(:disabled){background-color:var(--db-quaternary);color:var(--da-primary)}[data-theme=dark] [data-appearance=secondary]:is(button):focus:not(:disabled),[data-theme=dark] [data-appearance=secondary]:is(button):focus-visible:not(:disabled){border:2px solid var(--da-primary)}[data-theme=dark] [data-appearance=secondary]:is(button):active:not(:disabled){color:var(--da-primary);border:2px solid var(--db-quaternary)}[data-theme=dark] [data-appearance=secondary]:is(button):disabled{background-color:transparent;border:2px solid var(--db-quaternary)}[data-theme=light] [data-appearance=primary]:is(button){background-color:var(--la-primary);color:var(--lb-primary)}[data-theme=light] [data-appearance=primary]:is(button):hover:not(:disabled){background-color:var(--la-tertiary)}[data-theme=light] [data-appearance=primary]:is(button):focus:not(:disabled),[data-theme=light] [data-appearance=primary]:is(button):focus-visible:not(:disabled){color:var(--lf-secondary);background-color:var(--lb-tertiary);border:2px solid var(--la-primary)}[data-theme=light] [data-appearance=primary]:is(button):active:not(:disabled){border:2px solid var(--la-tertiary)}[data-theme=light] [data-appearance=primary]:is(button):disabled{background-color:transparent;border:2px solid var(--lb-quaternary);color:var(--lf-secondary)}[data-theme=light] [data-appearance=primary]:is(button)[data-variant=destructive]{background-color:transparent;border:2px solid var(--error-200);color:var(--lf-secondary)}[data-theme=light] [data-appearance=primary]:is(button)[data-variant=destructive]:hover:not(:disabled){background-color:var(--error-500);color:var(--lb-secondary);border:2px solid var(--error-500)}[data-theme=light] [data-appearance=primary]:is(button)[data-variant=destructive]:focus:not(:disabled),[data-theme=light] [data-appearance=primary]:is(button)[data-variant=destructive]:focus-visible:not(:disabled){background-color:var(--error-700);color:var(--lb-secondary);border:2px solid var(--error-700)}[data-theme=light] [data-appearance=primary]:is(button)[data-variant=destructive]:active:not(:disabled){background-color:var(--app-red);color:var(--lb-primary);border:2px solid var(--error-700)}[data-theme=light] [data-appearance=primary]:is(button)[data-variant=destructive]:disabled{background-color:var(--error-500);color:var(--lb-secondary)}[data-theme=light] [data-appearance=secondary]:is(button){background-color:var(--lb-tertiary);color:var(--lf-secondary)}[data-theme=light] [data-appearance=secondary]:is(button):hover:not(:disabled){background-color:var(--lb-quaternary);color:var(--la-primary)}[data-theme=light] [data-appearance=secondary]:is(button):focus:not(:disabled),[data-theme=light] [data-appearance=secondary]:is(button):focus-visible:not(:disabled){background-color:var(--lb-tertiary);border:2px solid var(--la-primary);color:var(--lf-secondary)}[data-theme=light] [data-appearance=secondary]:is(button):active:not(:disabled){background-color:var(--lb-tertiary);color:var(--la-primary);outline:2px solid var(--lb-quaternary)}[data-theme=light] [data-appearance=secondary]:is(button):disabled{background-color:transparent;border:2px solid var(--lb-quaternary)}.checkbox-container{align-items:center;color:var(--foreground-secondary);display:flex;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox-container .checkbox-input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;block-size:var(--spacing-16);border-radius:var(--spacing-4);box-sizing:border-box;cursor:pointer;inline-size:var(--spacing-16);margin:0;position:relative;transition:.12s all ease-in-out}.checkbox-container .checkbox-input[type=checkbox]:after{block-size:8px;border-style:solid;border-width:0;content:"";display:flex;inline-size:5px;margin-block-start:2px;margin-inline-start:5px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.checkbox-container .checkbox-input[type=checkbox]:focus-visible,.checkbox-container .checkbox-input[type=checkbox]:focus-within{outline:none}.checkbox-container label{cursor:pointer;margin-inline-start:var(--spacing-8)}.checkbox-hidden{block-size:1px;border:0;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}[data-theme=dark] .checkbox-input[type=checkbox]{background-color:var(--db-quaternary);border:1px solid var(--df-secondary)}[data-theme=dark] .checkbox-input[type=checkbox]:after{border-color:var(--db-primary)}[data-theme=dark] .checkbox-input[type=checkbox]:hover{background-color:var(--db-quaternary);border:1px solid var(--da-primary-muted)}[data-theme=dark] .checkbox-input[type=checkbox]:focus{background-color:var(--db-quaternary);border:1px solid var(--da-primary)}[data-theme=dark] .checkbox-input[type=checkbox]:checked{background-color:var(--da-primary);border:1px solid var(--da-primary)}[data-theme=dark] .checkbox-input[type=checkbox]:checked:after{border-color:var(--db-primary);border-width:0 2px 2px 0}[data-theme=light] .checkbox-input[type=checkbox]{background-color:var(--lb-quaternary);border:1px solid var(--la-primary)}[data-theme=light] .checkbox-input[type=checkbox]:after{border-color:var(--db-primary)}[data-theme=light] .checkbox-input[type=checkbox]:hover{background-color:var(--lf-secondary);border:1px solid var(--lf-secondary)}[data-theme=light] .checkbox-input[type=checkbox]:focus{border:1px solid var(--lf-secondary)}[data-theme=light] .checkbox-input[type=checkbox]:checked{background-color:var(--la-primary);border:1px solid var(--la-primary)}[data-theme=light] .checkbox-input[type=checkbox]:checked:after{border-color:var(--lb-primary);border-width:0 2px 2px 0}.radio-container{align-items:center;display:flex}.radio-container:not(:last-child){margin-block-end:var(--spacing-8)}.radio-container .radio-input{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;block-size:var(--spacing-16);border-radius:50%;display:grid;inline-size:var(--spacing-16);justify-content:center;margin:0;margin-block-start:2px;transform:translateY(-.075em)}.radio-container .radio-input:before{border-radius:50%;content:"";transform:scale(0);transition:.12s transform ease-in-out}.radio-container .radio-input:checked:before{transform:scale(1)}.radio-container .radio-input:focus-within{outline:none}.radio-container .radio-label{color:var(--df-secondary);cursor:pointer;margin-inline-start:var(--spacing-8)}[data-theme=dark] .radio-input{background-color:var(--db-quaternary);border:1px solid var(--df-secondary)}[data-theme=dark] .radio-input:before{border:5px solid var(--db-primary)}[data-theme=dark] .radio-input:checked{background-color:var(--da-primary);border:1px solid var(--da-primary)}[data-theme=dark] .radio-input:hover{border:1px solid var(--da-primary-muted)}[data-theme=dark] .radio-input:focus{border:1px solid var(--da-primary)}[data-theme=light] .radio-input{background-color:var(--lb-quaternary);border:1px solid var(--lf-secondary)}[data-theme=light] .radio-input:before{border:5px solid var(--lb-primary)}[data-theme=light] .radio-input:checked{background-color:var(--la-primary);border:1px solid var(--la-primary)}[data-theme=light] .radio-input:hover{border:1px solid var(--la-primary-muted)}[data-theme=light] .radio-input:focus{border:1px solid var(--la-primary)}.icon{display:flex;align-items:center;block-size:var(--spacing-16);cursor:default;font-family:var(--font-size-m);font-size:var(--font-size-m);inline-size:var(--spacing-16);justify-content:center;-webkit-user-select:none;user-select:none}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-position:right 7px center;background-image:url('data:image/svg+xml,%0A');background-repeat:no-repeat;block-size:32px;border:1px solid;border-radius:var(--spacing-8);box-sizing:border-box;cursor:pointer;inline-size:100%;font-family:inherit;font-size:var(--font-size-s);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-m);outline:none;padding-inline:var(--spacing-8);text-overflow:ellipsis;white-space:nowrap}.select:disabled{cursor:not-allowed}.select-label-hidden{block-size:1px;border:0;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}[data-theme=dark] .select{background-color:var(--db-tertiary);border-color:var(--db-tertiary);color:var(--df-primary)}[data-theme=dark] .select:hover{background-color:var(--db-quaternary);border-color:var(--db-quaternary)}[data-theme=dark] .select:focus{background-color:var(--db-tertiary);border-color:var(--da-primary)}[data-theme=dark] .select:disabled{background-color:var(--db-primary);border-color:var(--db-quaternary)}[data-theme=light] .select{background-color:var(--lb-tertiary);border-color:var(--lb-tertiary);color:var(--lf-primary)}[data-theme=light] .select:hover{background-color:var(--lb-quaternary);border-color:var(--lb-quaternary)}[data-theme=light] .select:focus{background-color:var(--lb-tertiary);border-color:var(--la-primary)}[data-theme=light] .select:disabled{background-color:var(--lb-primary);border-color:var(--lb-quaternary)}.input-label-hidden{block-size:1px;border:0;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}[data-theme=dark] .input{background-color:var(--db-tertiary);border-color:var(--db-tertiary);color:var(--df-primary)}[data-theme=dark] .input:focus{border-color:var(--da-primary)}[data-theme=dark] .input:hover{background-color:var(--db-quaternary);border-color:var(--db-quaternary)}[data-theme=dark] .input:focus{background-color:var(--db-primary);border-color:var(--da-primary)}[data-theme=dark] .input:disabled{background-color:var(--db-primary);border-color:var(--db-quaternary);cursor:not-allowed}[data-theme=dark] .input::placeholder{color:var(--df-secondary)}[data-theme=dark] .input.success{background-color:var(--db-primary);border-color:var(--da-tertiary)}[data-theme=dark] .input.error{background-color:var(--db-primary)}[data-theme=light] .input{background-color:var(--lb-tertiary);border-color:var(--lb-tertiary);color:var(--lf-primary)}[data-theme=light] .input:focus{background-color:var(--lb-secondary);border-color:var(--la-primary)}[data-theme=light] .input:hover{background-color:var(--lb-quaternary);border-color:var(--lb-quaternary)}[data-theme=light] .input:focus{background-color:var(--lb-primary);border-color:var(--la-primary)}[data-theme=light] .input:disabled{background-color:var(--lb-primary);border-color:var(--lb-quaternary);cursor:not-allowed}[data-theme=light] .input::placeholder{color:var(--lf-secondary)}[data-theme=light] .input.success{background-color:var(--lb-primary);border-color:var(--la-tertiary)}[data-theme=light] .input.error{background-color:var(--lb-primary)}.input{display:flex;border:1px solid;border-radius:var(--spacing-8);font-family:inherit;font-size:var(--font-size-s);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-m);outline:none;padding-block:var(--spacing-8);padding-inline:var(--spacing-8)}.input.error{border-color:var(--error-500)}
+@import 'https://fonts.googleapis.com/css?family=Work+Sans:wght@400+500&display=swap';
+html,
+body {
+ font-family:
+ Work Sans,
+ sans-serif;
+ font-optical-sizing: auto;
+ font-style: normal;
+ margin: 0;
+ padding: 0;
+}
+body,
+h1,
+h2,
+h3,
+h4,
+h5,
+p,
+pre {
+ margin: 0;
+}
+*,
+:before,
+:after {
+ box-sizing: border-box;
+ border-width: 0;
+ border-style: solid;
+}
+ul {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+[data-theme='dark'] {
+ color-scheme: dark;
+ --background-primary: var(--db-primary);
+ --background-secondary: var(--db-secondary);
+ --background-tertiary: var(--db-tertiary);
+ --background-quaternary: var(--db-quaternary);
+ --foreground-primary: var(--df-primary);
+ --foreground-secondary: var(--df-secondary);
+ --accent-primary: var(--da-primary);
+ --accent-primary-muted: var(--da-primary-muted);
+ --accent-secondary: var(--da-secondary);
+ --accent-tertiary: var(--da-tertiary);
+ --accent-quaternary: var(--da-quaternary);
+}
+[data-theme='light'] {
+ color-scheme: light;
+ --background-primary: var(--lb-primary);
+ --background-secondary: var(--lb-secondary);
+ --background-tertiary: var(--lb-tertiary);
+ --background-quaternary: var(--lb-quaternary);
+ --foreground-primary: var(--lf-primary);
+ --foreground-secondary: var(--lf-secondary);
+ --accent-primary: var(--la-primary);
+ --accent-primary-muted: var(--la-primary-muted);
+ --accent-secondary: var(--la-secondary);
+ --accent-tertiary: var(--la-tertiary);
+ --accent-quaternary: var(--la-quaternary);
+}
+[data-theme] {
+ background-color: var(--background-primary);
+ color: var(--foreground-secondary);
+}
+::-webkit-scrollbar {
+ width: 5px;
+ height: 5px;
+}
+::-webkit-scrollbar-track {
+ -webkit-box-shadow: inset 0 0 6px transparent;
+ border-radius: var(--spacing-8);
+}
+::-webkit-scrollbar-thumb {
+ border-radius: var(--spacing-8);
+ -webkit-box-shadow: inset 0 0 6px #aab5ba;
+}
+:root {
+ --db-primary: #18181a;
+ --db-secondary: #000000;
+ --db-tertiary: #212426;
+ --db-quaternary: #2e3434;
+ --lb-primary: #ffffff;
+ --lb-secondary: #e8eaee;
+ --lb-tertiary: #f3f4f6;
+ --lb-quaternary: #eef0f2;
+ --df-primary: #ffffff;
+ --df-secondary: #8f9da3;
+ --lf-primary: #000000;
+ --lf-secondary: #495e74;
+ --da-primary: #7efff5;
+ --da-primary-muted: #426158;
+ --da-secondary: #bb97d8;
+ --da-tertiary: #00d1b8;
+ --da-quaternary: #ff6fe0;
+ --la-primary: #6911d4;
+ --la-primary-muted: #e1d2f5;
+ --la-secondary: #1345aa;
+ --la-tertiary: #8c33eb;
+ --la-quaternary: #ff6fe0;
+ --success-50: #f0f8ff;
+ --success-500: #2d9f8f;
+ --success-950: #0a2927;
+ --warning-50: #fff4ed;
+ --warning-500: #fe4811;
+ --warning-950: #440806;
+ --error-50: #fff0f3;
+ --error-200: #ffcada;
+ --error-500: #ff3277;
+ --error-700: #c80857;
+ --error-950: #500124;
+ --info-50: #f0f8ff;
+ --info-500: #0e9be9;
+ --info-950: #082c49;
+ --app-white: #ffffff;
+ --app-black: #000000;
+ --app-pink: #f49ef7;
+ --app-blue: #75cafc;
+ --app-gold: #fdcd79;
+ --app-indigo: #a9bdfa;
+ --app-red: #faa6b7;
+ --app-yellow: #dee563;
+ --app-purple: #cbaaff;
+ --app-lemon: #b1e96f;
+ --app-orange: #f9b489;
+}
+:root {
+ --font-weight-regular: 400;
+ --font-weight-bold: 500;
+ --font-line-height-s: 1.2;
+ --font-line-height-m: 1.4;
+ --font-line-height-l: 1.5;
+ --font-size-xs: 10px;
+ --font-size-s: 12px;
+ --font-size-m: 14px;
+ --font-size-l: 16px;
+}
+html,
+body {
+ font-family:
+ Work Sans,
+ sans-serif;
+ font-optical-sizing: auto;
+ font-style: normal;
+}
+code {
+ font-family:
+ Work Sans,
+ sans-serif;
+}
+.display {
+ font-weight: var(--font-weight-regular);
+ font-size: 36px;
+ line-height: var(--font-line-height-s);
+}
+.title-s {
+ font-weight: var(--font-weight-regular);
+ font-size: var(--font-size-m);
+ line-height: var(--font-line-height-s);
+}
+.title-m {
+ font-weight: var(--font-weight-regular);
+ font-size: 20px;
+ line-height: var(--font-line-height-s);
+}
+.title-l {
+ font-weight: var(--font-weight-regular);
+ font-size: 24px;
+ line-height: 1.1;
+}
+.headline-s {
+ font-weight: var(--font-weight-bold);
+ font-size: var(--font-size-s);
+ line-height: var(--font-line-height-s);
+ text-transform: uppercase;
+}
+.headline-m {
+ font-weight: var(--font-weight-regular);
+ font-size: var(--font-size-l);
+ line-height: var(--font-line-height-m);
+ text-transform: uppercase;
+}
+.headline-l {
+ font-weight: var(--font-weight-regular);
+ font-size: 18px;
+ line-height: var(--font-line-height-s);
+ text-transform: uppercase;
+}
+.body-xs {
+ font-weight: var(--font-weight-regular);
+ font-size: var(--font-size-xs);
+ line-height: var(--font-line-height-s);
+}
+.body-s {
+ font-weight: var(--font-weight-regular);
+ font-size: var(--font-size-s);
+ line-height: var(--font-line-height-m);
+}
+.body-m {
+ font-weight: var(--font-weight-regular);
+ font-size: var(--font-size-m);
+ line-height: var(--font-line-height-l);
+}
+.body-l {
+ font-weight: var(--font-weight-regular);
+ font-size: var(--font-size-l);
+ line-height: var(--font-line-height-l);
+}
+.caption {
+ font-weight: var(--font-weight-regular);
+ font-size: var(--font-size-s);
+ line-height: var(--font-line-height-s);
+}
+code,
+.code-font {
+ font-weight: var(--font-weight-regular);
+ font-size: var(--font-size-s);
+ line-height: var(--font-line-height-l);
+}
+:root {
+ --spacing-4: 0.25rem;
+ --spacing-8: calc(var(--spacing-4) * 2);
+ --spacing-12: calc(var(--spacing-4) * 3);
+ --spacing-16: calc(var(--spacing-4) * 4);
+ --spacing-20: calc(var(--spacing-4) * 5);
+ --spacing-24: calc(var(--spacing-4) * 6);
+ --spacing-28: calc(var(--spacing-4) * 7);
+ --spacing-32: calc(var(--spacing-4) * 8);
+ --spacing-36: calc(var(--spacing-4) * 9);
+ --spacing-40: calc(var(--spacing-4) * 10);
+}
+:where([data-appearance]:is(button), [role='tab']:is(button)) {
+ border: 2px solid transparent;
+ font-weight: 500;
+ font-size: 12px;
+ border-radius: 8px;
+ line-height: 1.2;
+ padding: 8px 24px;
+ text-transform: uppercase;
+ font-family: inherit;
+}
+:where([data-appearance]:is(button), [role='tab']:is(button)):hover:not(:disabled) {
+ cursor: pointer;
+}
+:where([data-appearance]:is(button), [role='tab']:is(button)):focus-visible {
+ outline: none;
+}
+[data-theme='dark'] [data-appearance='primary']:is(button) {
+ background-color: var(--da-primary);
+ border: 2px solid transparent;
+ color: var(--db-secondary);
+}
+[data-theme='dark'] [data-appearance='primary']:is(button):hover:not(:disabled) {
+ background-color: var(--da-tertiary);
+ border: 2px solid var(--da-tertiary);
+}
+[data-theme='dark'] [data-appearance='primary']:is(button):focus:not(:disabled),
+[data-theme='dark'] [data-appearance='primary']:is(button):focus-visible:not(:disabled) {
+ border: 2px solid var(--da-primary);
+ background-color: var(--db-tertiary);
+ color: var(--df-secondary);
+}
+[data-theme='dark'] [data-appearance='primary']:is(button):active:not(:disabled) {
+ border: 2px solid var(--da-tertiary);
+}
+[data-theme='dark'] [data-appearance='primary']:is(button):disabled {
+ background-color: transparent;
+ border: 2px solid var(--db-quaternary);
+ color: var(--df-secondary);
+}
+[data-theme='dark'] [data-appearance='primary']:is(button)[data-variant='destructive'] {
+ background-color: var(--error-500);
+ border: 2px solid transparent;
+}
+[data-theme='dark']
+ [data-appearance='primary']:is(button)[data-variant='destructive']:hover:not(:disabled) {
+ background-color: var(--error-700);
+ border: 2px solid var(--error-700);
+}
+[data-theme='dark']
+ [data-appearance='primary']:is(button)[data-variant='destructive']:focus:not(:disabled),
+[data-theme='dark']
+ [data-appearance='primary']:is(button)[data-variant='destructive']:focus-visible:not(:disabled) {
+ border: 2px solid var(--error-500);
+}
+[data-theme='dark']
+ [data-appearance='primary']:is(button)[data-variant='destructive']:active:not(:disabled) {
+ background-color: var(--app-red);
+ border: 2px solid var(--error-700);
+}
+[data-theme='dark'] [data-appearance='primary']:is(button)[data-variant='destructive']:disabled {
+ background-color: transparent;
+ border: var(--df-secondary);
+}
+[data-theme='dark'] [data-appearance='secondary']:is(button) {
+ background-color: var(--db-tertiary);
+ color: var(--df-secondary);
+}
+[data-theme='dark'] [data-appearance='secondary']:is(button):hover:not(:disabled) {
+ background-color: var(--db-quaternary);
+ color: var(--da-primary);
+}
+[data-theme='dark'] [data-appearance='secondary']:is(button):focus:not(:disabled),
+[data-theme='dark'] [data-appearance='secondary']:is(button):focus-visible:not(:disabled) {
+ border: 2px solid var(--da-primary);
+}
+[data-theme='dark'] [data-appearance='secondary']:is(button):active:not(:disabled) {
+ color: var(--da-primary);
+ border: 2px solid var(--db-quaternary);
+}
+[data-theme='dark'] [data-appearance='secondary']:is(button):disabled {
+ background-color: transparent;
+ border: 2px solid var(--db-quaternary);
+}
+[data-theme='light'] [data-appearance='primary']:is(button) {
+ background-color: var(--la-primary);
+ color: var(--lb-primary);
+}
+[data-theme='light'] [data-appearance='primary']:is(button):hover:not(:disabled) {
+ background-color: var(--la-tertiary);
+}
+[data-theme='light'] [data-appearance='primary']:is(button):focus:not(:disabled),
+[data-theme='light'] [data-appearance='primary']:is(button):focus-visible:not(:disabled) {
+ color: var(--lf-secondary);
+ background-color: var(--lb-tertiary);
+ border: 2px solid var(--la-primary);
+}
+[data-theme='light'] [data-appearance='primary']:is(button):active:not(:disabled) {
+ border: 2px solid var(--la-tertiary);
+}
+[data-theme='light'] [data-appearance='primary']:is(button):disabled {
+ background-color: transparent;
+ border: 2px solid var(--lb-quaternary);
+ color: var(--lf-secondary);
+}
+[data-theme='light'] [data-appearance='primary']:is(button)[data-variant='destructive'] {
+ background-color: transparent;
+ border: 2px solid var(--error-200);
+ color: var(--lf-secondary);
+}
+[data-theme='light']
+ [data-appearance='primary']:is(button)[data-variant='destructive']:hover:not(:disabled) {
+ background-color: var(--error-500);
+ color: var(--lb-secondary);
+ border: 2px solid var(--error-500);
+}
+[data-theme='light']
+ [data-appearance='primary']:is(button)[data-variant='destructive']:focus:not(:disabled),
+[data-theme='light']
+ [data-appearance='primary']:is(button)[data-variant='destructive']:focus-visible:not(:disabled) {
+ background-color: var(--error-700);
+ color: var(--lb-secondary);
+ border: 2px solid var(--error-700);
+}
+[data-theme='light']
+ [data-appearance='primary']:is(button)[data-variant='destructive']:active:not(:disabled) {
+ background-color: var(--app-red);
+ color: var(--lb-primary);
+ border: 2px solid var(--error-700);
+}
+[data-theme='light'] [data-appearance='primary']:is(button)[data-variant='destructive']:disabled {
+ background-color: var(--error-500);
+ color: var(--lb-secondary);
+}
+[data-theme='light'] [data-appearance='secondary']:is(button) {
+ background-color: var(--lb-tertiary);
+ color: var(--lf-secondary);
+}
+[data-theme='light'] [data-appearance='secondary']:is(button):hover:not(:disabled) {
+ background-color: var(--lb-quaternary);
+ color: var(--la-primary);
+}
+[data-theme='light'] [data-appearance='secondary']:is(button):focus:not(:disabled),
+[data-theme='light'] [data-appearance='secondary']:is(button):focus-visible:not(:disabled) {
+ background-color: var(--lb-tertiary);
+ border: 2px solid var(--la-primary);
+ color: var(--lf-secondary);
+}
+[data-theme='light'] [data-appearance='secondary']:is(button):active:not(:disabled) {
+ background-color: var(--lb-tertiary);
+ color: var(--la-primary);
+ outline: 2px solid var(--lb-quaternary);
+}
+[data-theme='light'] [data-appearance='secondary']:is(button):disabled {
+ background-color: transparent;
+ border: 2px solid var(--lb-quaternary);
+}
+.checkbox-container {
+ align-items: center;
+ color: var(--foreground-secondary);
+ display: flex;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.checkbox-container .checkbox-input[type='checkbox'] {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ block-size: var(--spacing-16);
+ border-radius: var(--spacing-4);
+ box-sizing: border-box;
+ cursor: pointer;
+ inline-size: var(--spacing-16);
+ margin: 0;
+ position: relative;
+ transition: 0.12s all ease-in-out;
+}
+.checkbox-container .checkbox-input[type='checkbox']:after {
+ block-size: 8px;
+ border-style: solid;
+ border-width: 0;
+ content: '';
+ display: flex;
+ inline-size: 5px;
+ margin-block-start: 2px;
+ margin-inline-start: 5px;
+ -webkit-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ transform: rotate(45deg);
+}
+.checkbox-container .checkbox-input[type='checkbox']:focus-visible,
+.checkbox-container .checkbox-input[type='checkbox']:focus-within {
+ outline: none;
+}
+.checkbox-container label {
+ cursor: pointer;
+ margin-inline-start: var(--spacing-8);
+}
+.checkbox-hidden {
+ block-size: 1px;
+ border: 0;
+ clip: rect(1px 1px 1px 1px);
+ clip: rect(1px, 1px, 1px, 1px);
+ clip-path: inset(50%);
+ inline-size: 1px;
+ margin: 0;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ white-space: nowrap;
+}
+[data-theme='dark'] .checkbox-input[type='checkbox'] {
+ background-color: var(--db-quaternary);
+ border: 1px solid var(--df-secondary);
+}
+[data-theme='dark'] .checkbox-input[type='checkbox']:after {
+ border-color: var(--db-primary);
+}
+[data-theme='dark'] .checkbox-input[type='checkbox']:hover {
+ background-color: var(--db-quaternary);
+ border: 1px solid var(--da-primary-muted);
+}
+[data-theme='dark'] .checkbox-input[type='checkbox']:focus {
+ background-color: var(--db-quaternary);
+ border: 1px solid var(--da-primary);
+}
+[data-theme='dark'] .checkbox-input[type='checkbox']:checked {
+ background-color: var(--da-primary);
+ border: 1px solid var(--da-primary);
+}
+[data-theme='dark'] .checkbox-input[type='checkbox']:checked:after {
+ border-color: var(--db-primary);
+ border-width: 0 2px 2px 0;
+}
+[data-theme='light'] .checkbox-input[type='checkbox'] {
+ background-color: var(--lb-quaternary);
+ border: 1px solid var(--la-primary);
+}
+[data-theme='light'] .checkbox-input[type='checkbox']:after {
+ border-color: var(--db-primary);
+}
+[data-theme='light'] .checkbox-input[type='checkbox']:hover {
+ background-color: var(--lf-secondary);
+ border: 1px solid var(--lf-secondary);
+}
+[data-theme='light'] .checkbox-input[type='checkbox']:focus {
+ border: 1px solid var(--lf-secondary);
+}
+[data-theme='light'] .checkbox-input[type='checkbox']:checked {
+ background-color: var(--la-primary);
+ border: 1px solid var(--la-primary);
+}
+[data-theme='light'] .checkbox-input[type='checkbox']:checked:after {
+ border-color: var(--lb-primary);
+ border-width: 0 2px 2px 0;
+}
+.radio-container {
+ align-items: center;
+ display: flex;
+}
+.radio-container:not(:last-child) {
+ margin-block-end: var(--spacing-8);
+}
+.radio-container .radio-input {
+ align-items: center;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ block-size: var(--spacing-16);
+ border-radius: 50%;
+ display: grid;
+ inline-size: var(--spacing-16);
+ justify-content: center;
+ margin: 0;
+ margin-block-start: 2px;
+ transform: translateY(-0.075em);
+}
+.radio-container .radio-input:before {
+ border-radius: 50%;
+ content: '';
+ transform: scale(0);
+ transition: 0.12s transform ease-in-out;
+}
+.radio-container .radio-input:checked:before {
+ transform: scale(1);
+}
+.radio-container .radio-input:focus-within {
+ outline: none;
+}
+.radio-container .radio-label {
+ color: var(--df-secondary);
+ cursor: pointer;
+ margin-inline-start: var(--spacing-8);
+}
+[data-theme='dark'] .radio-input {
+ background-color: var(--db-quaternary);
+ border: 1px solid var(--df-secondary);
+}
+[data-theme='dark'] .radio-input:before {
+ border: 5px solid var(--db-primary);
+}
+[data-theme='dark'] .radio-input:checked {
+ background-color: var(--da-primary);
+ border: 1px solid var(--da-primary);
+}
+[data-theme='dark'] .radio-input:hover {
+ border: 1px solid var(--da-primary-muted);
+}
+[data-theme='dark'] .radio-input:focus {
+ border: 1px solid var(--da-primary);
+}
+[data-theme='light'] .radio-input {
+ background-color: var(--lb-quaternary);
+ border: 1px solid var(--lf-secondary);
+}
+[data-theme='light'] .radio-input:before {
+ border: 5px solid var(--lb-primary);
+}
+[data-theme='light'] .radio-input:checked {
+ background-color: var(--la-primary);
+ border: 1px solid var(--la-primary);
+}
+[data-theme='light'] .radio-input:hover {
+ border: 1px solid var(--la-primary-muted);
+}
+[data-theme='light'] .radio-input:focus {
+ border: 1px solid var(--la-primary);
+}
+.icon {
+ display: flex;
+ align-items: center;
+ block-size: var(--spacing-16);
+ cursor: default;
+ font-family: var(--font-size-m);
+ font-size: var(--font-size-m);
+ inline-size: var(--spacing-16);
+ justify-content: center;
+ -webkit-user-select: none;
+ user-select: none;
+}
+.select {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ background-position: right 7px center;
+ background-image: url('data:image/svg+xml,%0A');
+ background-repeat: no-repeat;
+ block-size: 32px;
+ border: 1px solid;
+ border-radius: var(--spacing-8);
+ box-sizing: border-box;
+ cursor: pointer;
+ inline-size: 100%;
+ font-family: inherit;
+ font-size: var(--font-size-s);
+ font-weight: var(--font-weight-regular);
+ line-height: var(--font-line-height-m);
+ outline: none;
+ padding-inline: var(--spacing-8);
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.select:disabled {
+ cursor: not-allowed;
+}
+.select-label-hidden {
+ block-size: 1px;
+ border: 0;
+ clip: rect(1px 1px 1px 1px);
+ clip: rect(1px, 1px, 1px, 1px);
+ clip-path: inset(50%);
+ inline-size: 1px;
+ margin: 0;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ white-space: nowrap;
+}
+[data-theme='dark'] .select {
+ background-color: var(--db-tertiary);
+ border-color: var(--db-tertiary);
+ color: var(--df-primary);
+}
+[data-theme='dark'] .select:hover {
+ background-color: var(--db-quaternary);
+ border-color: var(--db-quaternary);
+}
+[data-theme='dark'] .select:focus {
+ background-color: var(--db-tertiary);
+ border-color: var(--da-primary);
+}
+[data-theme='dark'] .select:disabled {
+ background-color: var(--db-primary);
+ border-color: var(--db-quaternary);
+}
+[data-theme='light'] .select {
+ background-color: var(--lb-tertiary);
+ border-color: var(--lb-tertiary);
+ color: var(--lf-primary);
+}
+[data-theme='light'] .select:hover {
+ background-color: var(--lb-quaternary);
+ border-color: var(--lb-quaternary);
+}
+[data-theme='light'] .select:focus {
+ background-color: var(--lb-tertiary);
+ border-color: var(--la-primary);
+}
+[data-theme='light'] .select:disabled {
+ background-color: var(--lb-primary);
+ border-color: var(--lb-quaternary);
+}
+.input-label-hidden {
+ block-size: 1px;
+ border: 0;
+ clip: rect(1px 1px 1px 1px);
+ clip: rect(1px, 1px, 1px, 1px);
+ clip-path: inset(50%);
+ inline-size: 1px;
+ margin: 0;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ white-space: nowrap;
+}
+[data-theme='dark'] .input {
+ background-color: var(--db-tertiary);
+ border-color: var(--db-tertiary);
+ color: var(--df-primary);
+}
+[data-theme='dark'] .input:focus {
+ border-color: var(--da-primary);
+}
+[data-theme='dark'] .input:hover {
+ background-color: var(--db-quaternary);
+ border-color: var(--db-quaternary);
+}
+[data-theme='dark'] .input:focus {
+ background-color: var(--db-primary);
+ border-color: var(--da-primary);
+}
+[data-theme='dark'] .input:disabled {
+ background-color: var(--db-primary);
+ border-color: var(--db-quaternary);
+ cursor: not-allowed;
+}
+[data-theme='dark'] .input::placeholder {
+ color: var(--df-secondary);
+}
+[data-theme='dark'] .input.success {
+ background-color: var(--db-primary);
+ border-color: var(--da-tertiary);
+}
+[data-theme='dark'] .input.error {
+ background-color: var(--db-primary);
+}
+[data-theme='light'] .input {
+ background-color: var(--lb-tertiary);
+ border-color: var(--lb-tertiary);
+ color: var(--lf-primary);
+}
+[data-theme='light'] .input:focus {
+ background-color: var(--lb-secondary);
+ border-color: var(--la-primary);
+}
+[data-theme='light'] .input:hover {
+ background-color: var(--lb-quaternary);
+ border-color: var(--lb-quaternary);
+}
+[data-theme='light'] .input:focus {
+ background-color: var(--lb-primary);
+ border-color: var(--la-primary);
+}
+[data-theme='light'] .input:disabled {
+ background-color: var(--lb-primary);
+ border-color: var(--lb-quaternary);
+ cursor: not-allowed;
+}
+[data-theme='light'] .input::placeholder {
+ color: var(--lf-secondary);
+}
+[data-theme='light'] .input.success {
+ background-color: var(--lb-primary);
+ border-color: var(--la-tertiary);
+}
+[data-theme='light'] .input.error {
+ background-color: var(--lb-primary);
+}
+.input {
+ display: flex;
+ border: 1px solid;
+ border-radius: var(--spacing-8);
+ font-family: inherit;
+ font-size: var(--font-size-s);
+ font-weight: var(--font-weight-regular);
+ line-height: var(--font-line-height-m);
+ outline: none;
+ padding-block: var(--spacing-8);
+ padding-inline: var(--spacing-8);
+}
+.input.error {
+ border-color: var(--error-500);
+}
diff --git a/docs/_app/immutable/assets/2.rx19SAyp.css b/docs/_app/immutable/assets/2.rx19SAyp.css
index f5b2eab..9d72e66 100644
--- a/docs/_app/immutable/assets/2.rx19SAyp.css
+++ b/docs/_app/immutable/assets/2.rx19SAyp.css
@@ -1 +1,98 @@
-.checkbox-container.svelte-p1bwru{margin-bottom:var(--spacing-16)}div.container.svelte-klkcgv{border-radius:var(--spacing-4);padding:var(--spacing-8)}div.container.success.svelte-klkcgv{color:var(--success-50);background-color:(--success-950);border:1px solid var(--success-500)}div.container.error.svelte-klkcgv{color:var(--error-50);background-color:(--error-950);border:1px solid var(--error-500)}div.container.warning.svelte-klkcgv{color:var(--warning-50);background-color:(--warning-950);border:1px solid var(--warning-500)}div.container.info.svelte-klkcgv{color:var(--info-50);background-color:(--info-950);border:1px solid var(--info-500)}div.input-container.svelte-bupynw{margin-bottom:var(--spacing-16)}label.input-label.svelte-bupynw{display:block;margin-bottom:var(--spacing-4);color:var(--df-secondary)}div.add-rule-container.svelte-1hofekk{display:flex;flex-direction:column;gap:var(--spacing-16);margin-bottom:var(--spacing-16)}div.rule-list.svelte-1hofekk{margin-bottom:var(--spacing-16)}details.rule.svelte-1hofekk>summary:where(.svelte-1hofekk){cursor:pointer}details.rule.svelte-1hofekk>summary:where(.svelte-1hofekk)>span:where(.svelte-1hofekk){margin:0;max-width:80%}details.rule.svelte-1hofekk>div.details-content:where(.svelte-1hofekk){padding-left:var(--spacing-16);padding-top:var(--spacing-8);border-left:1px solid var(--df-secondary)}form.container.svelte-4jn5m5{width:100%}h2.svelte-4jn5m5{margin-bottom:var(--spacing-16);font-weight:700;color:var(--da-quaternary)}p,button,select{margin-bottom:var(--spacing-16)}label.select-label.svelte-4jn5m5{display:block;margin-bottom:var(--spacing-4);color:var(--df-secondary)}pre.svelte-4jn5m5{width:100%;white-space:pre-wrap;word-break:keep-all;overflow:hidden;background-color:var(--db-secondary);border:1px solid var(--db-tertiary);padding:var(--spacing-16)}div.container.svelte-qx79ab{width:100vw;height:100vh;padding:var(--spacing-24) 0;background-color:var(--db-primary);color:var(--df-primary)}h1.svelte-qx79ab{margin-bottom:var(--spacing-16);font-weight:700;color:var(--da-tertiary)}p.svelte-qx79ab{margin-bottom:var(--spacing-16)}
+.checkbox-container.svelte-p1bwru {
+ margin-bottom: var(--spacing-16);
+}
+div.container.svelte-klkcgv {
+ border-radius: var(--spacing-4);
+ padding: var(--spacing-8);
+}
+div.container.success.svelte-klkcgv {
+ color: var(--success-50);
+ background-color: (--success-950);
+ border: 1px solid var(--success-500);
+}
+div.container.error.svelte-klkcgv {
+ color: var(--error-50);
+ background-color: (--error-950);
+ border: 1px solid var(--error-500);
+}
+div.container.warning.svelte-klkcgv {
+ color: var(--warning-50);
+ background-color: (--warning-950);
+ border: 1px solid var(--warning-500);
+}
+div.container.info.svelte-klkcgv {
+ color: var(--info-50);
+ background-color: (--info-950);
+ border: 1px solid var(--info-500);
+}
+div.input-container.svelte-bupynw {
+ margin-bottom: var(--spacing-16);
+}
+label.input-label.svelte-bupynw {
+ display: block;
+ margin-bottom: var(--spacing-4);
+ color: var(--df-secondary);
+}
+div.add-rule-container.svelte-1hofekk {
+ display: flex;
+ flex-direction: column;
+ gap: var(--spacing-16);
+ margin-bottom: var(--spacing-16);
+}
+div.rule-list.svelte-1hofekk {
+ margin-bottom: var(--spacing-16);
+}
+details.rule.svelte-1hofekk > summary:where(.svelte-1hofekk) {
+ cursor: pointer;
+}
+details.rule.svelte-1hofekk > summary:where(.svelte-1hofekk) > span:where(.svelte-1hofekk) {
+ margin: 0;
+ max-width: 80%;
+}
+details.rule.svelte-1hofekk > div.details-content:where(.svelte-1hofekk) {
+ padding-left: var(--spacing-16);
+ padding-top: var(--spacing-8);
+ border-left: 1px solid var(--df-secondary);
+}
+form.container.svelte-4jn5m5 {
+ width: 100%;
+}
+h2.svelte-4jn5m5 {
+ margin-bottom: var(--spacing-16);
+ font-weight: 700;
+ color: var(--da-quaternary);
+}
+p,
+button,
+select {
+ margin-bottom: var(--spacing-16);
+}
+label.select-label.svelte-4jn5m5 {
+ display: block;
+ margin-bottom: var(--spacing-4);
+ color: var(--df-secondary);
+}
+pre.svelte-4jn5m5 {
+ width: 100%;
+ white-space: pre-wrap;
+ word-break: keep-all;
+ overflow: hidden;
+ background-color: var(--db-secondary);
+ border: 1px solid var(--db-tertiary);
+ padding: var(--spacing-16);
+}
+div.container.svelte-qx79ab {
+ width: 100vw;
+ height: 100vh;
+ padding: var(--spacing-24) 0;
+ background-color: var(--db-primary);
+ color: var(--df-primary);
+}
+h1.svelte-qx79ab {
+ margin-bottom: var(--spacing-16);
+ font-weight: 700;
+ color: var(--da-tertiary);
+}
+p.svelte-qx79ab {
+ margin-bottom: var(--spacing-16);
+}
diff --git a/docs/_app/immutable/assets/_layout.CjEKyC25.css b/docs/_app/immutable/assets/_layout.CjEKyC25.css
index eac83c5..4637e6b 100644
--- a/docs/_app/immutable/assets/_layout.CjEKyC25.css
+++ b/docs/_app/immutable/assets/_layout.CjEKyC25.css
@@ -1 +1,740 @@
-@import"https://fonts.googleapis.com/css?family=Work+Sans:wght@400+500&display=swap";html,body{font-family:Work Sans,sans-serif;font-optical-sizing:auto;font-style:normal;margin:0;padding:0}body,h1,h2,h3,h4,h5,p,pre{margin:0}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid}ul{list-style:none;margin:0;padding:0}[data-theme=dark]{color-scheme:dark;--background-primary: var(--db-primary);--background-secondary: var(--db-secondary);--background-tertiary: var(--db-tertiary);--background-quaternary: var(--db-quaternary);--foreground-primary: var(--df-primary);--foreground-secondary: var(--df-secondary);--accent-primary: var(--da-primary);--accent-primary-muted: var(--da-primary-muted);--accent-secondary: var(--da-secondary);--accent-tertiary: var(--da-tertiary);--accent-quaternary: var(--da-quaternary)}[data-theme=light]{color-scheme:light;--background-primary: var(--lb-primary);--background-secondary: var(--lb-secondary);--background-tertiary: var(--lb-tertiary);--background-quaternary: var(--lb-quaternary);--foreground-primary: var(--lf-primary);--foreground-secondary: var(--lf-secondary);--accent-primary: var(--la-primary);--accent-primary-muted: var(--la-primary-muted);--accent-secondary: var(--la-secondary);--accent-tertiary: var(--la-tertiary);--accent-quaternary: var(--la-quaternary)}[data-theme]{background-color:var(--background-primary);color:var(--foreground-secondary)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px transparent;border-radius:var(--spacing-8)}::-webkit-scrollbar-thumb{border-radius:var(--spacing-8);-webkit-box-shadow:inset 0 0 6px #aab5ba}:root{--db-primary: #18181a;--db-secondary: #000000;--db-tertiary: #212426;--db-quaternary: #2e3434;--lb-primary: #ffffff;--lb-secondary: #e8eaee;--lb-tertiary: #f3f4f6;--lb-quaternary: #eef0f2;--df-primary: #ffffff;--df-secondary: #8f9da3;--lf-primary: #000000;--lf-secondary: #495e74;--da-primary: #7EFFF5;--da-primary-muted: #426158;--da-secondary: #BB97D8;--da-tertiary: #00D1B8;--da-quaternary: #ff6fe0;--la-primary: #6911d4;--la-primary-muted: #e1d2f5;--la-secondary: #1345aa;--la-tertiary: #8c33eb;--la-quaternary: #ff6fe0;--success-50: #f0f8ff;--success-500: #2d9f8f;--success-950: #0a2927;--warning-50: #fff4ed;--warning-500: #fe4811;--warning-950: #440806;--error-50: #fff0f3;--error-200: #ffcada;--error-500: #ff3277;--error-700: #c80857;--error-950: #500124;--info-50: #f0f8ff;--info-500: #0e9be9;--info-950: #082c49;--app-white: #ffffff;--app-black: #000000;--app-pink: #f49ef7;--app-blue: #75cafc;--app-gold: #fdcd79;--app-indigo: #a9bdfa;--app-red: #faa6b7;--app-yellow: #dee563;--app-purple: #cbaaff;--app-lemon: #b1e96f;--app-orange: #f9b489}:root{--font-weight-regular: 400;--font-weight-bold: 500;--font-line-height-s: 1.2;--font-line-height-m: 1.4;--font-line-height-l: 1.5;--font-size-xs: 10px;--font-size-s: 12px;--font-size-m: 14px;--font-size-l: 16px}html,body{font-family:Work Sans,sans-serif;font-optical-sizing:auto;font-style:normal}code{font-family:Work Sans,sans-serif}.display{font-weight:var(--font-weight-regular);font-size:36px;line-height:var(--font-line-height-s)}.title-s{font-weight:var(--font-weight-regular);font-size:var(--font-size-m);line-height:var(--font-line-height-s)}.title-m{font-weight:var(--font-weight-regular);font-size:20px;line-height:var(--font-line-height-s)}.title-l{font-weight:var(--font-weight-regular);font-size:24px;line-height:1.1}.headline-s{font-weight:var(--font-weight-bold);font-size:var(--font-size-s);line-height:var(--font-line-height-s);text-transform:uppercase}.headline-m{font-weight:var(--font-weight-regular);font-size:var(--font-size-l);line-height:var(--font-line-height-m);text-transform:uppercase}.headline-l{font-weight:var(--font-weight-regular);font-size:18px;line-height:var(--font-line-height-s);text-transform:uppercase}.body-xs{font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);line-height:var(--font-line-height-s)}.body-s{font-weight:var(--font-weight-regular);font-size:var(--font-size-s);line-height:var(--font-line-height-m)}.body-m{font-weight:var(--font-weight-regular);font-size:var(--font-size-m);line-height:var(--font-line-height-l)}.body-l{font-weight:var(--font-weight-regular);font-size:var(--font-size-l);line-height:var(--font-line-height-l)}.caption{font-weight:var(--font-weight-regular);font-size:var(--font-size-s);line-height:var(--font-line-height-s)}code,.code-font{font-weight:var(--font-weight-regular);font-size:var(--font-size-s);line-height:var(--font-line-height-l)}:root{--spacing-4: .25rem;--spacing-8: calc(var(--spacing-4) * 2);--spacing-12: calc(var(--spacing-4) * 3);--spacing-16: calc(var(--spacing-4) * 4);--spacing-20: calc(var(--spacing-4) * 5);--spacing-24: calc(var(--spacing-4) * 6);--spacing-28: calc(var(--spacing-4) * 7);--spacing-32: calc(var(--spacing-4) * 8);--spacing-36: calc(var(--spacing-4) * 9);--spacing-40: calc(var(--spacing-4) * 10)}:where([data-appearance]:is(button),[role=tab]:is(button)){border:2px solid transparent;font-weight:500;font-size:12px;border-radius:8px;line-height:1.2;padding:8px 24px;text-transform:uppercase;font-family:inherit;&:hover:not(:disabled){cursor:pointer}&:focus-visible{outline:none}}[data-theme=dark]{[data-appearance=primary]:is(button){background-color:var(--da-primary);border:2px solid transparent;color:var(--db-secondary);&:hover:not(:disabled){background-color:var(--da-tertiary);border:2px solid var(--da-tertiary)}&:focus:not(:disabled),&:focus-visible:not(:disabled){border:2px solid var(--da-primary);background-color:var(--db-tertiary);color:var(--df-secondary)}&:active:not(:disabled){border:2px solid var(--da-tertiary)}&:disabled{background-color:transparent;border:2px solid var(--db-quaternary);color:var(--df-secondary)}&[data-variant=destructive]{background-color:var(--error-500);border:2px solid transparent;&:hover:not(:disabled){background-color:var(--error-700);border:2px solid var(--error-700)}&:focus:not(:disabled),&:focus-visible:not(:disabled){border:2px solid var(--error-500)}&:active:not(:disabled){background-color:var(--app-red);border:2px solid var(--error-700)}&:disabled{background-color:transparent;border:var(--df-secondary)}}}[data-appearance=secondary]:is(button){background-color:var(--db-tertiary);color:var(--df-secondary);&:hover:not(:disabled){background-color:var(--db-quaternary);color:var(--da-primary)}&:focus:not(:disabled),&:focus-visible:not(:disabled){border:2px solid var(--da-primary)}&:active:not(:disabled){color:var(--da-primary);border:2px solid var(--db-quaternary)}&:disabled{background-color:transparent;border:2px solid var(--db-quaternary)}}}[data-theme=light]{[data-appearance=primary]:is(button){background-color:var(--la-primary);color:var(--lb-primary);&:hover:not(:disabled){background-color:var(--la-tertiary)}&:focus:not(:disabled),&:focus-visible:not(:disabled){color:var(--lf-secondary);background-color:var(--lb-tertiary);border:2px solid var(--la-primary)}&:active:not(:disabled){border:2px solid var(--la-tertiary)}&:disabled{background-color:transparent;border:2px solid var(--lb-quaternary);color:var(--lf-secondary)}&[data-variant=destructive]{background-color:transparent;border:2px solid var(--error-200);color:var(--lf-secondary);&:hover:not(:disabled){background-color:var(--error-500);color:var(--lb-secondary);border:2px solid var(--error-500)}&:focus:not(:disabled),&:focus-visible:not(:disabled){background-color:var(--error-700);color:var(--lb-secondary);border:2px solid var(--error-700)}&:active:not(:disabled){background-color:var(--app-red);color:var(--lb-primary);border:2px solid var(--error-700)}&:disabled{background-color:var(--error-500);color:var(--lb-secondary)}}}[data-appearance=secondary]:is(button){background-color:var(--lb-tertiary);color:var(--lf-secondary);&:hover:not(:disabled){background-color:var(--lb-quaternary);color:var(--la-primary)}&:focus:not(:disabled),&:focus-visible:not(:disabled){background-color:var(--lb-tertiary);border:2px solid var(--la-primary);color:var(--lf-secondary)}&:active:not(:disabled){background-color:var(--lb-tertiary);color:var(--la-primary);outline:2px solid var(--lb-quaternary)}&:disabled{background-color:transparent;border:2px solid var(--lb-quaternary)}}}.checkbox-container{align-items:center;color:var(--foreground-secondary);display:flex;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;.checkbox-input[type=checkbox]{appearance:none;block-size:var(--spacing-16);border-radius:var(--spacing-4);box-sizing:border-box;cursor:pointer;inline-size:var(--spacing-16);margin:0;position:relative;transition:.12s all ease-in-out;&:after{block-size:8px;border-style:solid;border-width:0;content:"";display:flex;inline-size:5px;margin-block-start:2px;margin-inline-start:5px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}&:focus-visible,&:focus-within{outline:none}}& label{cursor:pointer;margin-inline-start:var(--spacing-8)}}.checkbox-hidden{block-size:1px;border:0;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}[data-theme=dark]{.checkbox-input[type=checkbox]{background-color:var(--db-quaternary);border:1px solid var(--df-secondary);&:after{border-color:var(--db-primary)}&:hover{background-color:var(--db-quaternary);border:1px solid var(--da-primary-muted)}&:focus{background-color:var(--db-quaternary);border:1px solid var(--da-primary)}&:checked{background-color:var(--da-primary);border:1px solid var(--da-primary)}&:checked:after{border-color:var(--db-primary);border-width:0 2px 2px 0}}}[data-theme=light]{.checkbox-input[type=checkbox]{background-color:var(--lb-quaternary);border:1px solid var(--la-primary);&:after{border-color:var(--db-primary)}&:hover{background-color:var(--lf-secondary);border:1px solid var(--lf-secondary)}&:focus{border:1px solid var(--lf-secondary)}&:checked{background-color:var(--la-primary);border:1px solid var(--la-primary)}&:checked:after{border-color:var(--lb-primary);border-width:0 2px 2px 0}}}.radio-container{align-items:center;display:flex;&:not(:last-child){margin-block-end:var(--spacing-8)}.radio-input{align-items:center;appearance:none;block-size:var(--spacing-16);border-radius:50%;display:grid;inline-size:var(--spacing-16);justify-content:center;margin:0;margin-block-start:2px;transform:translateY(-.075em)}.radio-input:before{border-radius:50%;content:"";transform:scale(0);transition:.12s transform ease-in-out}.radio-input:checked:before{transform:scale(1)}.radio-input:focus-within{outline:none}.radio-label{color:var(--df-secondary);cursor:pointer;margin-inline-start:var(--spacing-8)}}[data-theme=dark]{.radio-input{background-color:var(--db-quaternary);border:1px solid var(--df-secondary)}.radio-input:before{border:5px solid var(--db-primary)}.radio-input:checked{background-color:var(--da-primary);border:1px solid var(--da-primary)}.radio-input:hover{border:1px solid var(--da-primary-muted)}.radio-input:focus{border:1px solid var(--da-primary)}}[data-theme=light]{.radio-input{background-color:var(--lb-quaternary);border:1px solid var(--lf-secondary)}.radio-input:before{border:5px solid var(--lb-primary)}.radio-input:checked{background-color:var(--la-primary);border:1px solid var(--la-primary)}.radio-input:hover{border:1px solid var(--la-primary-muted)}.radio-input:focus{border:1px solid var(--la-primary)}}.icon{display:flex;align-items:center;block-size:var(--spacing-16);cursor:default;font-family:var(--font-size-m);font-size:var(--font-size-m);inline-size:var(--spacing-16);justify-content:center;user-select:none}.select{appearance:none;background-position:right 7px center;background-image:url('data:image/svg+xml,%0A');background-repeat:no-repeat;block-size:32px;border:1px solid;border-radius:var(--spacing-8);box-sizing:border-box;cursor:pointer;inline-size:100%;font-family:inherit;font-size:var(--font-size-s);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-m);outline:none;padding-inline:var(--spacing-8);text-overflow:ellipsis;white-space:nowrap;&:disabled{cursor:not-allowed}}.select-label-hidden{block-size:1px;border:0;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}[data-theme=dark]{.select{background-color:var(--db-tertiary);border-color:var(--db-tertiary);color:var(--df-primary);&:hover{background-color:var(--db-quaternary);border-color:var(--db-quaternary)}&:focus{background-color:var(--db-tertiary);border-color:var(--da-primary)}&:disabled{background-color:var(--db-primary);border-color:var(--db-quaternary)}}}[data-theme=light]{.select{background-color:var(--lb-tertiary);border-color:var(--lb-tertiary);color:var(--lf-primary);&:hover{background-color:var(--lb-quaternary);border-color:var(--lb-quaternary)}&:focus{background-color:var(--lb-tertiary);border-color:var(--la-primary)}&:disabled{background-color:var(--lb-primary);border-color:var(--lb-quaternary)}}}.input-label-hidden{block-size:1px;border:0;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}[data-theme=dark]{.input{background-color:var(--db-tertiary);border-color:var(--db-tertiary);color:var(--df-primary);&:focus{border-color:var(--da-primary)}&:hover{background-color:var(--db-quaternary);border-color:var(--db-quaternary)}&:focus{background-color:var(--db-primary);border-color:var(--da-primary)}&:disabled{background-color:var(--db-primary);border-color:var(--db-quaternary);cursor:not-allowed}&::placeholder{color:var(--df-secondary)}&.success{background-color:var(--db-primary);border-color:var(--da-tertiary)}&.error{background-color:var(--db-primary)}}}[data-theme=light]{.input{background-color:var(--lb-tertiary);border-color:var(--lb-tertiary);color:var(--lf-primary);&:focus{background-color:var(--lb-secondary);border-color:var(--la-primary)}&:hover{background-color:var(--lb-quaternary);border-color:var(--lb-quaternary)}&:focus{background-color:var(--lb-primary);border-color:var(--la-primary)}&:disabled{background-color:var(--lb-primary);border-color:var(--lb-quaternary);cursor:not-allowed}&::placeholder{color:var(--lf-secondary)}&.success{background-color:var(--lb-primary);border-color:var(--la-tertiary)}&.error{background-color:var(--lb-primary)}}}.input{display:flex;border:1px solid;border-radius:var(--spacing-8);font-family:inherit;font-size:var(--font-size-s);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-m);outline:none;padding-block:var(--spacing-8);padding-inline:var(--spacing-8);&.error{border-color:var(--error-500)}}
+@import 'https://fonts.googleapis.com/css?family=Work+Sans:wght@400+500&display=swap';
+html,
+body {
+ font-family:
+ Work Sans,
+ sans-serif;
+ font-optical-sizing: auto;
+ font-style: normal;
+ margin: 0;
+ padding: 0;
+}
+body,
+h1,
+h2,
+h3,
+h4,
+h5,
+p,
+pre {
+ margin: 0;
+}
+*,
+:before,
+:after {
+ box-sizing: border-box;
+ border-width: 0;
+ border-style: solid;
+}
+ul {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+[data-theme='dark'] {
+ color-scheme: dark;
+ --background-primary: var(--db-primary);
+ --background-secondary: var(--db-secondary);
+ --background-tertiary: var(--db-tertiary);
+ --background-quaternary: var(--db-quaternary);
+ --foreground-primary: var(--df-primary);
+ --foreground-secondary: var(--df-secondary);
+ --accent-primary: var(--da-primary);
+ --accent-primary-muted: var(--da-primary-muted);
+ --accent-secondary: var(--da-secondary);
+ --accent-tertiary: var(--da-tertiary);
+ --accent-quaternary: var(--da-quaternary);
+}
+[data-theme='light'] {
+ color-scheme: light;
+ --background-primary: var(--lb-primary);
+ --background-secondary: var(--lb-secondary);
+ --background-tertiary: var(--lb-tertiary);
+ --background-quaternary: var(--lb-quaternary);
+ --foreground-primary: var(--lf-primary);
+ --foreground-secondary: var(--lf-secondary);
+ --accent-primary: var(--la-primary);
+ --accent-primary-muted: var(--la-primary-muted);
+ --accent-secondary: var(--la-secondary);
+ --accent-tertiary: var(--la-tertiary);
+ --accent-quaternary: var(--la-quaternary);
+}
+[data-theme] {
+ background-color: var(--background-primary);
+ color: var(--foreground-secondary);
+}
+::-webkit-scrollbar {
+ width: 5px;
+ height: 5px;
+}
+::-webkit-scrollbar-track {
+ -webkit-box-shadow: inset 0 0 6px transparent;
+ border-radius: var(--spacing-8);
+}
+::-webkit-scrollbar-thumb {
+ border-radius: var(--spacing-8);
+ -webkit-box-shadow: inset 0 0 6px #aab5ba;
+}
+:root {
+ --db-primary: #18181a;
+ --db-secondary: #000000;
+ --db-tertiary: #212426;
+ --db-quaternary: #2e3434;
+ --lb-primary: #ffffff;
+ --lb-secondary: #e8eaee;
+ --lb-tertiary: #f3f4f6;
+ --lb-quaternary: #eef0f2;
+ --df-primary: #ffffff;
+ --df-secondary: #8f9da3;
+ --lf-primary: #000000;
+ --lf-secondary: #495e74;
+ --da-primary: #7efff5;
+ --da-primary-muted: #426158;
+ --da-secondary: #bb97d8;
+ --da-tertiary: #00d1b8;
+ --da-quaternary: #ff6fe0;
+ --la-primary: #6911d4;
+ --la-primary-muted: #e1d2f5;
+ --la-secondary: #1345aa;
+ --la-tertiary: #8c33eb;
+ --la-quaternary: #ff6fe0;
+ --success-50: #f0f8ff;
+ --success-500: #2d9f8f;
+ --success-950: #0a2927;
+ --warning-50: #fff4ed;
+ --warning-500: #fe4811;
+ --warning-950: #440806;
+ --error-50: #fff0f3;
+ --error-200: #ffcada;
+ --error-500: #ff3277;
+ --error-700: #c80857;
+ --error-950: #500124;
+ --info-50: #f0f8ff;
+ --info-500: #0e9be9;
+ --info-950: #082c49;
+ --app-white: #ffffff;
+ --app-black: #000000;
+ --app-pink: #f49ef7;
+ --app-blue: #75cafc;
+ --app-gold: #fdcd79;
+ --app-indigo: #a9bdfa;
+ --app-red: #faa6b7;
+ --app-yellow: #dee563;
+ --app-purple: #cbaaff;
+ --app-lemon: #b1e96f;
+ --app-orange: #f9b489;
+}
+:root {
+ --font-weight-regular: 400;
+ --font-weight-bold: 500;
+ --font-line-height-s: 1.2;
+ --font-line-height-m: 1.4;
+ --font-line-height-l: 1.5;
+ --font-size-xs: 10px;
+ --font-size-s: 12px;
+ --font-size-m: 14px;
+ --font-size-l: 16px;
+}
+html,
+body {
+ font-family:
+ Work Sans,
+ sans-serif;
+ font-optical-sizing: auto;
+ font-style: normal;
+}
+code {
+ font-family:
+ Work Sans,
+ sans-serif;
+}
+.display {
+ font-weight: var(--font-weight-regular);
+ font-size: 36px;
+ line-height: var(--font-line-height-s);
+}
+.title-s {
+ font-weight: var(--font-weight-regular);
+ font-size: var(--font-size-m);
+ line-height: var(--font-line-height-s);
+}
+.title-m {
+ font-weight: var(--font-weight-regular);
+ font-size: 20px;
+ line-height: var(--font-line-height-s);
+}
+.title-l {
+ font-weight: var(--font-weight-regular);
+ font-size: 24px;
+ line-height: 1.1;
+}
+.headline-s {
+ font-weight: var(--font-weight-bold);
+ font-size: var(--font-size-s);
+ line-height: var(--font-line-height-s);
+ text-transform: uppercase;
+}
+.headline-m {
+ font-weight: var(--font-weight-regular);
+ font-size: var(--font-size-l);
+ line-height: var(--font-line-height-m);
+ text-transform: uppercase;
+}
+.headline-l {
+ font-weight: var(--font-weight-regular);
+ font-size: 18px;
+ line-height: var(--font-line-height-s);
+ text-transform: uppercase;
+}
+.body-xs {
+ font-weight: var(--font-weight-regular);
+ font-size: var(--font-size-xs);
+ line-height: var(--font-line-height-s);
+}
+.body-s {
+ font-weight: var(--font-weight-regular);
+ font-size: var(--font-size-s);
+ line-height: var(--font-line-height-m);
+}
+.body-m {
+ font-weight: var(--font-weight-regular);
+ font-size: var(--font-size-m);
+ line-height: var(--font-line-height-l);
+}
+.body-l {
+ font-weight: var(--font-weight-regular);
+ font-size: var(--font-size-l);
+ line-height: var(--font-line-height-l);
+}
+.caption {
+ font-weight: var(--font-weight-regular);
+ font-size: var(--font-size-s);
+ line-height: var(--font-line-height-s);
+}
+code,
+.code-font {
+ font-weight: var(--font-weight-regular);
+ font-size: var(--font-size-s);
+ line-height: var(--font-line-height-l);
+}
+:root {
+ --spacing-4: 0.25rem;
+ --spacing-8: calc(var(--spacing-4) * 2);
+ --spacing-12: calc(var(--spacing-4) * 3);
+ --spacing-16: calc(var(--spacing-4) * 4);
+ --spacing-20: calc(var(--spacing-4) * 5);
+ --spacing-24: calc(var(--spacing-4) * 6);
+ --spacing-28: calc(var(--spacing-4) * 7);
+ --spacing-32: calc(var(--spacing-4) * 8);
+ --spacing-36: calc(var(--spacing-4) * 9);
+ --spacing-40: calc(var(--spacing-4) * 10);
+}
+:where([data-appearance]:is(button), [role='tab']:is(button)) {
+ border: 2px solid transparent;
+ font-weight: 500;
+ font-size: 12px;
+ border-radius: 8px;
+ line-height: 1.2;
+ padding: 8px 24px;
+ text-transform: uppercase;
+ font-family: inherit;
+ &:hover:not(:disabled) {
+ cursor: pointer;
+ }
+ &:focus-visible {
+ outline: none;
+ }
+}
+[data-theme='dark'] {
+ [data-appearance='primary']:is(button) {
+ background-color: var(--da-primary);
+ border: 2px solid transparent;
+ color: var(--db-secondary);
+ &:hover:not(:disabled) {
+ background-color: var(--da-tertiary);
+ border: 2px solid var(--da-tertiary);
+ }
+ &:focus:not(:disabled),
+ &:focus-visible:not(:disabled) {
+ border: 2px solid var(--da-primary);
+ background-color: var(--db-tertiary);
+ color: var(--df-secondary);
+ }
+ &:active:not(:disabled) {
+ border: 2px solid var(--da-tertiary);
+ }
+ &:disabled {
+ background-color: transparent;
+ border: 2px solid var(--db-quaternary);
+ color: var(--df-secondary);
+ }
+ &[data-variant='destructive'] {
+ background-color: var(--error-500);
+ border: 2px solid transparent;
+ &:hover:not(:disabled) {
+ background-color: var(--error-700);
+ border: 2px solid var(--error-700);
+ }
+ &:focus:not(:disabled),
+ &:focus-visible:not(:disabled) {
+ border: 2px solid var(--error-500);
+ }
+ &:active:not(:disabled) {
+ background-color: var(--app-red);
+ border: 2px solid var(--error-700);
+ }
+ &:disabled {
+ background-color: transparent;
+ border: var(--df-secondary);
+ }
+ }
+ }
+ [data-appearance='secondary']:is(button) {
+ background-color: var(--db-tertiary);
+ color: var(--df-secondary);
+ &:hover:not(:disabled) {
+ background-color: var(--db-quaternary);
+ color: var(--da-primary);
+ }
+ &:focus:not(:disabled),
+ &:focus-visible:not(:disabled) {
+ border: 2px solid var(--da-primary);
+ }
+ &:active:not(:disabled) {
+ color: var(--da-primary);
+ border: 2px solid var(--db-quaternary);
+ }
+ &:disabled {
+ background-color: transparent;
+ border: 2px solid var(--db-quaternary);
+ }
+ }
+}
+[data-theme='light'] {
+ [data-appearance='primary']:is(button) {
+ background-color: var(--la-primary);
+ color: var(--lb-primary);
+ &:hover:not(:disabled) {
+ background-color: var(--la-tertiary);
+ }
+ &:focus:not(:disabled),
+ &:focus-visible:not(:disabled) {
+ color: var(--lf-secondary);
+ background-color: var(--lb-tertiary);
+ border: 2px solid var(--la-primary);
+ }
+ &:active:not(:disabled) {
+ border: 2px solid var(--la-tertiary);
+ }
+ &:disabled {
+ background-color: transparent;
+ border: 2px solid var(--lb-quaternary);
+ color: var(--lf-secondary);
+ }
+ &[data-variant='destructive'] {
+ background-color: transparent;
+ border: 2px solid var(--error-200);
+ color: var(--lf-secondary);
+ &:hover:not(:disabled) {
+ background-color: var(--error-500);
+ color: var(--lb-secondary);
+ border: 2px solid var(--error-500);
+ }
+ &:focus:not(:disabled),
+ &:focus-visible:not(:disabled) {
+ background-color: var(--error-700);
+ color: var(--lb-secondary);
+ border: 2px solid var(--error-700);
+ }
+ &:active:not(:disabled) {
+ background-color: var(--app-red);
+ color: var(--lb-primary);
+ border: 2px solid var(--error-700);
+ }
+ &:disabled {
+ background-color: var(--error-500);
+ color: var(--lb-secondary);
+ }
+ }
+ }
+ [data-appearance='secondary']:is(button) {
+ background-color: var(--lb-tertiary);
+ color: var(--lf-secondary);
+ &:hover:not(:disabled) {
+ background-color: var(--lb-quaternary);
+ color: var(--la-primary);
+ }
+ &:focus:not(:disabled),
+ &:focus-visible:not(:disabled) {
+ background-color: var(--lb-tertiary);
+ border: 2px solid var(--la-primary);
+ color: var(--lf-secondary);
+ }
+ &:active:not(:disabled) {
+ background-color: var(--lb-tertiary);
+ color: var(--la-primary);
+ outline: 2px solid var(--lb-quaternary);
+ }
+ &:disabled {
+ background-color: transparent;
+ border: 2px solid var(--lb-quaternary);
+ }
+ }
+}
+.checkbox-container {
+ align-items: center;
+ color: var(--foreground-secondary);
+ display: flex;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ .checkbox-input[type='checkbox'] {
+ appearance: none;
+ block-size: var(--spacing-16);
+ border-radius: var(--spacing-4);
+ box-sizing: border-box;
+ cursor: pointer;
+ inline-size: var(--spacing-16);
+ margin: 0;
+ position: relative;
+ transition: 0.12s all ease-in-out;
+ &:after {
+ block-size: 8px;
+ border-style: solid;
+ border-width: 0;
+ content: '';
+ display: flex;
+ inline-size: 5px;
+ margin-block-start: 2px;
+ margin-inline-start: 5px;
+ -webkit-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ transform: rotate(45deg);
+ }
+ &:focus-visible,
+ &:focus-within {
+ outline: none;
+ }
+ }
+ & label {
+ cursor: pointer;
+ margin-inline-start: var(--spacing-8);
+ }
+}
+.checkbox-hidden {
+ block-size: 1px;
+ border: 0;
+ clip: rect(1px 1px 1px 1px);
+ clip: rect(1px, 1px, 1px, 1px);
+ clip-path: inset(50%);
+ inline-size: 1px;
+ margin: 0;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ white-space: nowrap;
+}
+[data-theme='dark'] {
+ .checkbox-input[type='checkbox'] {
+ background-color: var(--db-quaternary);
+ border: 1px solid var(--df-secondary);
+ &:after {
+ border-color: var(--db-primary);
+ }
+ &:hover {
+ background-color: var(--db-quaternary);
+ border: 1px solid var(--da-primary-muted);
+ }
+ &:focus {
+ background-color: var(--db-quaternary);
+ border: 1px solid var(--da-primary);
+ }
+ &:checked {
+ background-color: var(--da-primary);
+ border: 1px solid var(--da-primary);
+ }
+ &:checked:after {
+ border-color: var(--db-primary);
+ border-width: 0 2px 2px 0;
+ }
+ }
+}
+[data-theme='light'] {
+ .checkbox-input[type='checkbox'] {
+ background-color: var(--lb-quaternary);
+ border: 1px solid var(--la-primary);
+ &:after {
+ border-color: var(--db-primary);
+ }
+ &:hover {
+ background-color: var(--lf-secondary);
+ border: 1px solid var(--lf-secondary);
+ }
+ &:focus {
+ border: 1px solid var(--lf-secondary);
+ }
+ &:checked {
+ background-color: var(--la-primary);
+ border: 1px solid var(--la-primary);
+ }
+ &:checked:after {
+ border-color: var(--lb-primary);
+ border-width: 0 2px 2px 0;
+ }
+ }
+}
+.radio-container {
+ align-items: center;
+ display: flex;
+ &:not(:last-child) {
+ margin-block-end: var(--spacing-8);
+ }
+ .radio-input {
+ align-items: center;
+ appearance: none;
+ block-size: var(--spacing-16);
+ border-radius: 50%;
+ display: grid;
+ inline-size: var(--spacing-16);
+ justify-content: center;
+ margin: 0;
+ margin-block-start: 2px;
+ transform: translateY(-0.075em);
+ }
+ .radio-input:before {
+ border-radius: 50%;
+ content: '';
+ transform: scale(0);
+ transition: 0.12s transform ease-in-out;
+ }
+ .radio-input:checked:before {
+ transform: scale(1);
+ }
+ .radio-input:focus-within {
+ outline: none;
+ }
+ .radio-label {
+ color: var(--df-secondary);
+ cursor: pointer;
+ margin-inline-start: var(--spacing-8);
+ }
+}
+[data-theme='dark'] {
+ .radio-input {
+ background-color: var(--db-quaternary);
+ border: 1px solid var(--df-secondary);
+ }
+ .radio-input:before {
+ border: 5px solid var(--db-primary);
+ }
+ .radio-input:checked {
+ background-color: var(--da-primary);
+ border: 1px solid var(--da-primary);
+ }
+ .radio-input:hover {
+ border: 1px solid var(--da-primary-muted);
+ }
+ .radio-input:focus {
+ border: 1px solid var(--da-primary);
+ }
+}
+[data-theme='light'] {
+ .radio-input {
+ background-color: var(--lb-quaternary);
+ border: 1px solid var(--lf-secondary);
+ }
+ .radio-input:before {
+ border: 5px solid var(--lb-primary);
+ }
+ .radio-input:checked {
+ background-color: var(--la-primary);
+ border: 1px solid var(--la-primary);
+ }
+ .radio-input:hover {
+ border: 1px solid var(--la-primary-muted);
+ }
+ .radio-input:focus {
+ border: 1px solid var(--la-primary);
+ }
+}
+.icon {
+ display: flex;
+ align-items: center;
+ block-size: var(--spacing-16);
+ cursor: default;
+ font-family: var(--font-size-m);
+ font-size: var(--font-size-m);
+ inline-size: var(--spacing-16);
+ justify-content: center;
+ user-select: none;
+}
+.select {
+ appearance: none;
+ background-position: right 7px center;
+ background-image: url('data:image/svg+xml,%0A');
+ background-repeat: no-repeat;
+ block-size: 32px;
+ border: 1px solid;
+ border-radius: var(--spacing-8);
+ box-sizing: border-box;
+ cursor: pointer;
+ inline-size: 100%;
+ font-family: inherit;
+ font-size: var(--font-size-s);
+ font-weight: var(--font-weight-regular);
+ line-height: var(--font-line-height-m);
+ outline: none;
+ padding-inline: var(--spacing-8);
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ &:disabled {
+ cursor: not-allowed;
+ }
+}
+.select-label-hidden {
+ block-size: 1px;
+ border: 0;
+ clip: rect(1px 1px 1px 1px);
+ clip: rect(1px, 1px, 1px, 1px);
+ clip-path: inset(50%);
+ inline-size: 1px;
+ margin: 0;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ white-space: nowrap;
+}
+[data-theme='dark'] {
+ .select {
+ background-color: var(--db-tertiary);
+ border-color: var(--db-tertiary);
+ color: var(--df-primary);
+ &:hover {
+ background-color: var(--db-quaternary);
+ border-color: var(--db-quaternary);
+ }
+ &:focus {
+ background-color: var(--db-tertiary);
+ border-color: var(--da-primary);
+ }
+ &:disabled {
+ background-color: var(--db-primary);
+ border-color: var(--db-quaternary);
+ }
+ }
+}
+[data-theme='light'] {
+ .select {
+ background-color: var(--lb-tertiary);
+ border-color: var(--lb-tertiary);
+ color: var(--lf-primary);
+ &:hover {
+ background-color: var(--lb-quaternary);
+ border-color: var(--lb-quaternary);
+ }
+ &:focus {
+ background-color: var(--lb-tertiary);
+ border-color: var(--la-primary);
+ }
+ &:disabled {
+ background-color: var(--lb-primary);
+ border-color: var(--lb-quaternary);
+ }
+ }
+}
+.input-label-hidden {
+ block-size: 1px;
+ border: 0;
+ clip: rect(1px 1px 1px 1px);
+ clip: rect(1px, 1px, 1px, 1px);
+ clip-path: inset(50%);
+ inline-size: 1px;
+ margin: 0;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ white-space: nowrap;
+}
+[data-theme='dark'] {
+ .input {
+ background-color: var(--db-tertiary);
+ border-color: var(--db-tertiary);
+ color: var(--df-primary);
+ &:focus {
+ border-color: var(--da-primary);
+ }
+ &:hover {
+ background-color: var(--db-quaternary);
+ border-color: var(--db-quaternary);
+ }
+ &:focus {
+ background-color: var(--db-primary);
+ border-color: var(--da-primary);
+ }
+ &:disabled {
+ background-color: var(--db-primary);
+ border-color: var(--db-quaternary);
+ cursor: not-allowed;
+ }
+ &::placeholder {
+ color: var(--df-secondary);
+ }
+ &.success {
+ background-color: var(--db-primary);
+ border-color: var(--da-tertiary);
+ }
+ &.error {
+ background-color: var(--db-primary);
+ }
+ }
+}
+[data-theme='light'] {
+ .input {
+ background-color: var(--lb-tertiary);
+ border-color: var(--lb-tertiary);
+ color: var(--lf-primary);
+ &:focus {
+ background-color: var(--lb-secondary);
+ border-color: var(--la-primary);
+ }
+ &:hover {
+ background-color: var(--lb-quaternary);
+ border-color: var(--lb-quaternary);
+ }
+ &:focus {
+ background-color: var(--lb-primary);
+ border-color: var(--la-primary);
+ }
+ &:disabled {
+ background-color: var(--lb-primary);
+ border-color: var(--lb-quaternary);
+ cursor: not-allowed;
+ }
+ &::placeholder {
+ color: var(--lf-secondary);
+ }
+ &.success {
+ background-color: var(--lb-primary);
+ border-color: var(--la-tertiary);
+ }
+ &.error {
+ background-color: var(--lb-primary);
+ }
+ }
+}
+.input {
+ display: flex;
+ border: 1px solid;
+ border-radius: var(--spacing-8);
+ font-family: inherit;
+ font-size: var(--font-size-s);
+ font-weight: var(--font-weight-regular);
+ line-height: var(--font-line-height-m);
+ outline: none;
+ padding-block: var(--spacing-8);
+ padding-inline: var(--spacing-8);
+ &.error {
+ border-color: var(--error-500);
+ }
+}
diff --git a/docs/_app/immutable/assets/_page.DskD2IRI.css b/docs/_app/immutable/assets/_page.DskD2IRI.css
index 808fc3b..ba83e5a 100644
--- a/docs/_app/immutable/assets/_page.DskD2IRI.css
+++ b/docs/_app/immutable/assets/_page.DskD2IRI.css
@@ -1 +1,98 @@
-.checkbox-container.svelte-p1bwru{margin-bottom:var(--spacing-16)}div.container.svelte-klkcgv{border-radius:var(--spacing-4);padding:var(--spacing-8)}div.container.success.svelte-klkcgv{color:var(--success-50);background-color:(--success-950);border:1px solid var(--success-500)}div.container.error.svelte-klkcgv{color:var(--error-50);background-color:(--error-950);border:1px solid var(--error-500)}div.container.warning.svelte-klkcgv{color:var(--warning-50);background-color:(--warning-950);border:1px solid var(--warning-500)}div.container.info.svelte-klkcgv{color:var(--info-50);background-color:(--info-950);border:1px solid var(--info-500)}div.input-container.svelte-bupynw{margin-bottom:var(--spacing-16)}label.input-label.svelte-bupynw{display:block;margin-bottom:var(--spacing-4);color:var(--df-secondary)}div.add-rule-container.svelte-1hofekk{display:flex;flex-direction:column;gap:var(--spacing-16);margin-bottom:var(--spacing-16)}div.rule-list.svelte-1hofekk{margin-bottom:var(--spacing-16)}details.rule.svelte-1hofekk>summary:where(.svelte-1hofekk){cursor:pointer;>span:where(.svelte-1hofekk){margin:0;max-width:80%}}details.rule.svelte-1hofekk>div.details-content:where(.svelte-1hofekk){padding-left:var(--spacing-16);padding-top:var(--spacing-8);border-left:1px solid var(--df-secondary)}form.container.svelte-4jn5m5{width:100%}h2.svelte-4jn5m5{margin-bottom:var(--spacing-16);font-weight:700;color:var(--da-quaternary)}p,button,select{margin-bottom:var(--spacing-16)}label.select-label.svelte-4jn5m5{display:block;margin-bottom:var(--spacing-4);color:var(--df-secondary)}pre.svelte-4jn5m5{width:100%;white-space:pre-wrap;word-break:keep-all;overflow:hidden;background-color:var(--db-secondary);border:1px solid var(--db-tertiary);padding:var(--spacing-16)}div.container.svelte-qx79ab{width:100vw;height:100vh;padding:var(--spacing-24) 0;background-color:var(--db-primary);color:var(--df-primary)}h1.svelte-qx79ab{margin-bottom:var(--spacing-16);font-weight:700;color:var(--da-tertiary)}p.svelte-qx79ab{margin-bottom:var(--spacing-16)}
+.checkbox-container.svelte-p1bwru {
+ margin-bottom: var(--spacing-16);
+}
+div.container.svelte-klkcgv {
+ border-radius: var(--spacing-4);
+ padding: var(--spacing-8);
+}
+div.container.success.svelte-klkcgv {
+ color: var(--success-50);
+ background-color: (--success-950);
+ border: 1px solid var(--success-500);
+}
+div.container.error.svelte-klkcgv {
+ color: var(--error-50);
+ background-color: (--error-950);
+ border: 1px solid var(--error-500);
+}
+div.container.warning.svelte-klkcgv {
+ color: var(--warning-50);
+ background-color: (--warning-950);
+ border: 1px solid var(--warning-500);
+}
+div.container.info.svelte-klkcgv {
+ color: var(--info-50);
+ background-color: (--info-950);
+ border: 1px solid var(--info-500);
+}
+div.input-container.svelte-bupynw {
+ margin-bottom: var(--spacing-16);
+}
+label.input-label.svelte-bupynw {
+ display: block;
+ margin-bottom: var(--spacing-4);
+ color: var(--df-secondary);
+}
+div.add-rule-container.svelte-1hofekk {
+ display: flex;
+ flex-direction: column;
+ gap: var(--spacing-16);
+ margin-bottom: var(--spacing-16);
+}
+div.rule-list.svelte-1hofekk {
+ margin-bottom: var(--spacing-16);
+}
+details.rule.svelte-1hofekk > summary:where(.svelte-1hofekk) {
+ cursor: pointer;
+ > span:where(.svelte-1hofekk) {
+ margin: 0;
+ max-width: 80%;
+ }
+}
+details.rule.svelte-1hofekk > div.details-content:where(.svelte-1hofekk) {
+ padding-left: var(--spacing-16);
+ padding-top: var(--spacing-8);
+ border-left: 1px solid var(--df-secondary);
+}
+form.container.svelte-4jn5m5 {
+ width: 100%;
+}
+h2.svelte-4jn5m5 {
+ margin-bottom: var(--spacing-16);
+ font-weight: 700;
+ color: var(--da-quaternary);
+}
+p,
+button,
+select {
+ margin-bottom: var(--spacing-16);
+}
+label.select-label.svelte-4jn5m5 {
+ display: block;
+ margin-bottom: var(--spacing-4);
+ color: var(--df-secondary);
+}
+pre.svelte-4jn5m5 {
+ width: 100%;
+ white-space: pre-wrap;
+ word-break: keep-all;
+ overflow: hidden;
+ background-color: var(--db-secondary);
+ border: 1px solid var(--db-tertiary);
+ padding: var(--spacing-16);
+}
+div.container.svelte-qx79ab {
+ width: 100vw;
+ height: 100vh;
+ padding: var(--spacing-24) 0;
+ background-color: var(--db-primary);
+ color: var(--df-primary);
+}
+h1.svelte-qx79ab {
+ margin-bottom: var(--spacing-16);
+ font-weight: 700;
+ color: var(--da-tertiary);
+}
+p.svelte-qx79ab {
+ margin-bottom: var(--spacing-16);
+}
diff --git a/docs/_app/immutable/chunks/disclose-version.BmYXDLn2.js b/docs/_app/immutable/chunks/disclose-version.BmYXDLn2.js
index 1260b43..8e0b53e 100644
--- a/docs/_app/immutable/chunks/disclose-version.BmYXDLn2.js
+++ b/docs/_app/immutable/chunks/disclose-version.BmYXDLn2.js
@@ -1,2 +1,62 @@
-import{x as i,y as f,z as u,T as v,A as p,h as s,c as o,B as h,C as E}from"./runtime.C33mUz_z.js";function T(n){var t=document.createElement("template");return t.innerHTML=n,t.content}function r(n,t){var e=u;e.nodes_start===null&&(e.nodes_start=n,e.nodes_end=t)}function w(n,t){var e=(t&v)!==0,_=(t&p)!==0,a,c=!n.startsWith("");return()=>{if(s)return r(o,null),o;a===void 0&&(a=T(c?n:""+n),e||(a=f(a)));var d=_?document.importNode(a,!0):a.cloneNode(!0);if(e){var m=f(d),l=d.lastChild;r(m,l)}else r(d,d);return d}}function x(n=""){if(!s){var t=i(n+"");return r(t,t),t}var e=o;return e.nodeType!==3&&(e.before(e=i()),h(e)),r(e,e),e}function M(){if(s)return r(o,null),o;var n=document.createDocumentFragment(),t=document.createComment(""),e=i();return n.append(t,e),r(t,e),n}function N(n,t){if(s){u.nodes_end=o,E();return}n!==null&&n.before(t)}const y="5";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(y);export{N as a,x as b,M as c,r as d,w as t};
+import {
+ x as i,
+ y as f,
+ z as u,
+ T as v,
+ A as p,
+ h as s,
+ c as o,
+ B as h,
+ C as E
+} from './runtime.C33mUz_z.js';
+function T(n) {
+ var t = document.createElement('template');
+ return (t.innerHTML = n), t.content;
+}
+function r(n, t) {
+ var e = u;
+ e.nodes_start === null && ((e.nodes_start = n), (e.nodes_end = t));
+}
+function w(n, t) {
+ var e = (t & v) !== 0,
+ _ = (t & p) !== 0,
+ a,
+ c = !n.startsWith('');
+ return () => {
+ if (s) return r(o, null), o;
+ a === void 0 && ((a = T(c ? n : '' + n)), e || (a = f(a)));
+ var d = _ ? document.importNode(a, !0) : a.cloneNode(!0);
+ if (e) {
+ var m = f(d),
+ l = d.lastChild;
+ r(m, l);
+ } else r(d, d);
+ return d;
+ };
+}
+function x(n = '') {
+ if (!s) {
+ var t = i(n + '');
+ return r(t, t), t;
+ }
+ var e = o;
+ return e.nodeType !== 3 && (e.before((e = i())), h(e)), r(e, e), e;
+}
+function M() {
+ if (s) return r(o, null), o;
+ var n = document.createDocumentFragment(),
+ t = document.createComment(''),
+ e = i();
+ return n.append(t, e), r(t, e), n;
+}
+function N(n, t) {
+ if (s) {
+ (u.nodes_end = o), E();
+ return;
+ }
+ n !== null && n.before(t);
+}
+const y = '5';
+typeof window < 'u' && (window.__svelte || (window.__svelte = { v: new Set() })).v.add(y);
+export { N as a, x as b, M as c, r as d, w as t };
//# sourceMappingURL=disclose-version.BmYXDLn2.js.map
diff --git a/docs/_app/immutable/chunks/entry.Dy2RczJU.js b/docs/_app/immutable/chunks/entry.Dy2RczJU.js
index 429bc7a..8f4a236 100644
--- a/docs/_app/immutable/chunks/entry.Dy2RczJU.js
+++ b/docs/_app/immutable/chunks/entry.Dy2RczJU.js
@@ -1,4 +1,1568 @@
-import{n as le,aE as ut,ad as dt}from"./runtime.C33mUz_z.js";new URL("sveltekit-internal://");function ht(e,n){return e==="/"||n==="ignore"?e:n==="never"?e.endsWith("/")?e.slice(0,-1):e:n==="always"&&!e.endsWith("/")?e+"/":e}function pt(e){return e.split("%25").map(decodeURI).join("%25")}function gt(e){for(const n in e)e[n]=decodeURIComponent(e[n]);return e}function fe({href:e}){return e.split("#")[0]}const mt=["href","pathname","search","toString","toJSON"];function yt(e,n,t){const r=new URL(e);Object.defineProperty(r,"searchParams",{value:new Proxy(r.searchParams,{get(a,o){if(o==="get"||o==="getAll"||o==="has")return s=>(t(s),a[o](s));n();const i=Reflect.get(a,o);return typeof i=="function"?i.bind(a):i}}),enumerable:!0,configurable:!0});for(const a of mt)Object.defineProperty(r,a,{get(){return n(),e[a]},enumerable:!0,configurable:!0});return r}const _t="/__data.json",wt=".html__data.json";function vt(e){return e.endsWith(".html")?e.replace(/\.html$/,wt):e.replace(/\/$/,"")+_t}function bt(...e){let n=5381;for(const t of e)if(typeof t=="string"){let r=t.length;for(;r;)n=n*33^t.charCodeAt(--r)}else if(ArrayBuffer.isView(t)){const r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);let a=r.length;for(;a;)n=n*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(n>>>0).toString(36)}function At(e){const n=atob(e),t=new Uint8Array(n.length);for(let r=0;r((e instanceof Request?e.method:(n==null?void 0:n.method)||"GET")!=="GET"&&q.delete(me(e)),Ve(e,n));const q=new Map;function kt(e,n){const t=me(e,n),r=document.querySelector(t);if(r!=null&&r.textContent){let{body:a,...o}=JSON.parse(r.textContent);const i=r.getAttribute("data-ttl");return i&&q.set(t,{body:a,init:o,ttl:1e3*Number(i)}),r.getAttribute("data-b64")!==null&&(a=At(a)),Promise.resolve(new Response(a,o))}return window.fetch(e,n)}function Et(e,n,t){if(q.size>0){const r=me(e,t),a=q.get(r);if(a){if(performance.now(){const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return n.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/(.*))?";const o=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(o)return n.push({name:o[1],matcher:o[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const i=r.split(/\[(.+?)\](?!\])/);return"/"+i.map((c,l)=>{if(l%2){if(c.startsWith("x+"))return ue(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return ue(String.fromCharCode(...c.slice(2).split("-").map(f=>parseInt(f,16))));const d=St.exec(c),[,h,y,u,g]=d;return n.push({name:u,matcher:g,optional:!!h,rest:!!y,chained:y?l===1&&i[0]==="":!1}),y?"(.*?)":h?"([^/]*)?":"([^/]+?)"}return ue(c)}).join("")}).join("")}/?$`),params:n}}function It(e){return!/^\([^)]+\)$/.test(e)}function Tt(e){return e.slice(1).split("/").filter(It)}function Ut(e,n,t){const r={},a=e.slice(1),o=a.filter(s=>s!==void 0);let i=0;for(let s=0;sd).join("/"),i=0),l===void 0){c.rest&&(r[c.name]="");continue}if(!c.matcher||t[c.matcher](l)){r[c.name]=l;const d=n[s+1],h=a[s+1];d&&!d.rest&&d.optional&&h&&c.chained&&(i=0),!d&&!h&&Object.keys(r).length===o.length&&(i=0);continue}if(c.optional&&c.chained){i++;continue}return}if(!i)return r}function ue(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Lt({nodes:e,server_loads:n,dictionary:t,matchers:r}){const a=new Set(n);return Object.entries(t).map(([s,[c,l,d]])=>{const{pattern:h,params:y}=Rt(s),u={id:s,exec:g=>{const f=h.exec(g);if(f)return Ut(f,y,r)},errors:[1,...d||[]].map(g=>e[g]),layouts:[0,...l||[]].map(i),leaf:o(c)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function o(s){const c=s<0;return c&&(s=~s),[c,e[s]]}function i(s){return s===void 0?s:[a.has(s),e[s]]}}function Be(e,n=JSON.parse){try{return n(sessionStorage[e])}catch{}}function Ue(e,n,t=JSON.stringify){const r=t(n);try{sessionStorage[e]=r}catch{}}const N=[];function ye(e,n=le){let t=null;const r=new Set;function a(s){if(ut(e,s)&&(e=s,t)){const c=!N.length;for(const l of r)l[1](),N.push(l,e);if(c){for(let l=0;l{r.delete(l),r.size===0&&t&&(t(),t=null)}}return{set:a,update:o,subscribe:i}}var $e;const U=(($e=globalThis.__sveltekit_18ojnr2)==null?void 0:$e.base)??"";var Fe;const Pt=((Fe=globalThis.__sveltekit_18ojnr2)==null?void 0:Fe.assets)??U,xt="1734294154162",qe="sveltekit:snapshot",Ge="sveltekit:scroll",Me="sveltekit:states",Ct="sveltekit:pageurl",D="sveltekit:history",M="sveltekit:navigation",z={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},W=location.origin;function He(e){if(e instanceof URL)return e;let n=document.baseURI;if(!n){const t=document.getElementsByTagName("base");n=t.length?t[0].href:document.URL}return new URL(e,n)}function _e(){return{x:pageXOffset,y:pageYOffset}}function O(e,n){return e.getAttribute(`data-sveltekit-${n}`)}const Le={...z,"":z.hover};function Ke(e){let n=e.assignedSlot??e.parentNode;return(n==null?void 0:n.nodeType)===11&&(n=n.host),n}function We(e,n){for(;e&&e!==n;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=Ke(e)}}function he(e,n){let t;try{t=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI)}catch{}const r=e instanceof SVGAElement?e.target.baseVal:e.target,a=!t||!!r||re(t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),o=(t==null?void 0:t.origin)===W&&e.hasAttribute("download");return{url:t,external:a,target:r,download:o}}function J(e){let n=null,t=null,r=null,a=null,o=null,i=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=O(s,"preload-code")),a===null&&(a=O(s,"preload-data")),n===null&&(n=O(s,"keepfocus")),t===null&&(t=O(s,"noscroll")),o===null&&(o=O(s,"reload")),i===null&&(i=O(s,"replacestate")),s=Ke(s);function c(l){switch(l){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:Le[r??"off"],preload_data:Le[a??"off"],keepfocus:c(n),noscroll:c(t),reload:c(o),replace_state:c(i)}}function Pe(e){const n=ye(e);let t=!0;function r(){t=!0,n.update(i=>i)}function a(i){t=!1,n.set(i)}function o(i){let s;return n.subscribe(c=>{(s===void 0||t&&c!==s)&&i(s=c)})}return{notify:r,set:a,subscribe:o}}function Nt(){const{set:e,subscribe:n}=ye(!1);let t;async function r(){clearTimeout(t);try{const a=await fetch(`${Pt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const i=(await a.json()).version!==xt;return i&&(e(!0),clearTimeout(t)),i}catch{return!1}}return{subscribe:n,check:r}}function re(e,n){return e.origin!==W||!e.pathname.startsWith(n)}function xe(e){const n=jt(e),t=new ArrayBuffer(n.length),r=new DataView(t);for(let a=0;a>16),n+=String.fromCharCode((t&65280)>>8),n+=String.fromCharCode(t&255),t=r=0);return r===12?(t>>=4,n+=String.fromCharCode(t)):r===18&&(t>>=2,n+=String.fromCharCode((t&65280)>>8),n+=String.fromCharCode(t&255)),n}const Dt=-1,$t=-2,Ft=-3,Vt=-4,Bt=-5,qt=-6;function Gt(e,n){if(typeof e=="number")return a(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const t=e,r=Array(t.length);function a(o,i=!1){if(o===Dt)return;if(o===Ft)return NaN;if(o===Vt)return 1/0;if(o===Bt)return-1/0;if(o===qt)return-0;if(i)throw new Error("Invalid input");if(o in r)return r[o];const s=t[o];if(!s||typeof s!="object")r[o]=s;else if(Array.isArray(s))if(typeof s[0]=="string"){const c=s[0],l=n==null?void 0:n[c];if(l)return r[o]=l(a(s[1]));switch(c){case"Date":r[o]=new Date(s[1]);break;case"Set":const d=new Set;r[o]=d;for(let u=1;un!=null)}class ae{constructor(n,t){this.status=n,typeof t=="string"?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${n}`}}toString(){return JSON.stringify(this.body)}}class ze{constructor(n,t){this.status=n,this.location=t}}class we extends Error{constructor(n,t,r){super(r),this.status=n,this.text=t}}const Kt="x-sveltekit-invalidated",Wt="x-sveltekit-trailing-slash";function X(e){return e instanceof ae||e instanceof we?e.status:500}function Yt(e){return e instanceof we?e.text:"Internal Error"}const zt=new Set(["icon","shortcut icon","apple-touch-icon"]),C=Be(Ge)??{},H=Be(qe)??{},P={url:Pe({}),page:Pe({}),navigating:ye(null),updated:Nt()};function ve(e){C[e]=_e()}function Jt(e,n){let t=e+1;for(;C[t];)delete C[t],t+=1;for(t=n+1;H[t];)delete H[t],t+=1}function F(e){return location.href=e.href,new Promise(()=>{})}async function Je(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(U||"/");e&&await e.update()}}function Ce(){}let oe,pe,Z,L,ge,V;const Xe=[],Q=[];let R=null;const Ze=[],Xt=[];let j=[],_={branch:[],error:null,url:null},be=!1,ee=!1,Ne=!0,K=!1,B=!1,Qe=!1,Ae=!1,ke,S,T,I,te;const G=new Set;async function ln(e,n,t){var a,o;document.URL!==location.href&&(location.href=location.href),V=e,oe=Lt(e),L=document.documentElement,ge=n,pe=e.nodes[0],Z=e.nodes[1],pe(),Z(),S=(a=history.state)==null?void 0:a[D],T=(o=history.state)==null?void 0:o[M],S||(S=T=Date.now(),history.replaceState({...history.state,[D]:S,[M]:T},""));const r=C[S];r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y)),t?await on(ge,t):rn(location.href,{replaceState:!0}),an()}function Zt(){Xe.length=0,Ae=!1}function et(e){Q.some(n=>n==null?void 0:n.snapshot)&&(H[e]=Q.map(n=>{var t;return(t=n==null?void 0:n.snapshot)==null?void 0:t.capture()}))}function tt(e){var n;(n=H[e])==null||n.forEach((t,r)=>{var a,o;(o=(a=Q[r])==null?void 0:a.snapshot)==null||o.restore(t)})}function Oe(){ve(S),Ue(Ge,C),et(T),Ue(qe,H)}async function nt(e,n,t,r){return Y({type:"goto",url:He(e),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:t,nav_token:r,accept:()=>{n.invalidateAll&&(Ae=!0)}})}async function Qt(e){if(e.id!==(R==null?void 0:R.id)){const n={};G.add(n),R={id:e.id,token:n,promise:at({...e,preload:n}).then(t=>(G.delete(n),t.type==="loaded"&&t.state.error&&(R=null),t))}}return R.promise}async function de(e){const n=oe.find(t=>t.exec(ot(e)));n&&await Promise.all([...n.layouts,n.leaf].map(t=>t==null?void 0:t[1]()))}function rt(e,n,t){var o;_=e.state;const r=document.querySelector("style[data-sveltekit]");r&&r.remove(),I=e.props.page,ke=new V.root({target:n,props:{...e.props,stores:P,components:Q},hydrate:t,sync:!1}),tt(T);const a={from:null,to:{params:_.params,route:{id:((o=_.route)==null?void 0:o.id)??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};j.forEach(i=>i(a)),ee=!0}function ne({url:e,params:n,branch:t,status:r,error:a,route:o,form:i}){let s="never";if(U&&(e.pathname===U||e.pathname===U+"/"))s="always";else for(const u of t)(u==null?void 0:u.slash)!==void 0&&(s=u.slash);e.pathname=ht(e.pathname,s),e.search=e.search;const c={type:"loaded",state:{url:e,params:n,branch:t,error:a,route:o},props:{constructors:Ht(t).map(u=>u.node.component),page:I}};i!==void 0&&(c.props.form=i);let l={},d=!I,h=0;for(let u=0;u(s&&(c.route=!0),f[p])}),params:new Proxy(r,{get:(f,p)=>(s&&c.params.add(p),f[p])}),data:(o==null?void 0:o.data)??null,url:yt(t,()=>{s&&(c.url=!0)},f=>{s&&c.search_params.add(f)}),async fetch(f,p){let b;f instanceof Request?(b=f.url,p={body:f.method==="GET"||f.method==="HEAD"?void 0:await f.blob(),cache:f.cache,credentials:f.credentials,headers:[...f.headers].length?f.headers:void 0,integrity:f.integrity,keepalive:f.keepalive,method:f.method,mode:f.mode,redirect:f.redirect,referrer:f.referrer,referrerPolicy:f.referrerPolicy,signal:f.signal,...p}):b=f;const k=new URL(b,t);return s&&u(k.href),k.origin===t.origin&&(b=k.href.slice(t.origin.length)),ee?Et(b,k.href,p):kt(b,p)},setHeaders:()=>{},depends:u,parent(){return s&&(c.parent=!0),n()},untrack(f){s=!1;try{return f()}finally{s=!0}}};i=await l.universal.load.call(null,g)??null}return{node:l,loader:e,server:o,universal:(h=l.universal)!=null&&h.load?{type:"data",data:i,uses:c}:null,data:i??(o==null?void 0:o.data)??null,slash:((y=l.universal)==null?void 0:y.trailingSlash)??(o==null?void 0:o.slash)}}function je(e,n,t,r,a,o){if(Ae)return!0;if(!a)return!1;if(a.parent&&e||a.route&&n||a.url&&t)return!0;for(const i of a.search_params)if(r.has(i))return!0;for(const i of a.params)if(o[i]!==_.params[i])return!0;for(const i of a.dependencies)if(Xe.some(s=>s(new URL(i))))return!0;return!1}function Se(e,n){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?n??null:null}function en(e,n){if(!e)return new Set(n.searchParams.keys());const t=new Set([...e.searchParams.keys(),...n.searchParams.keys()]);for(const r of t){const a=e.searchParams.getAll(r),o=n.searchParams.getAll(r);a.every(i=>o.includes(i))&&o.every(i=>a.includes(i))&&t.delete(r)}return t}function De({error:e,url:n,route:t,params:r}){return{type:"loaded",state:{error:e,url:n,route:t,params:r,branch:[]},props:{page:I,constructors:[]}}}async function at({id:e,invalidating:n,url:t,params:r,route:a,preload:o}){if((R==null?void 0:R.id)===e)return G.delete(R.token),R.promise;const{errors:i,layouts:s,leaf:c}=a,l=[...s,c];i.forEach(m=>m==null?void 0:m().catch(()=>{})),l.forEach(m=>m==null?void 0:m[1]().catch(()=>{}));let d=null;const h=_.url?e!==_.url.pathname+_.url.search:!1,y=_.route?a.id!==_.route.id:!1,u=en(_.url,t);let g=!1;const f=l.map((m,v)=>{var x;const A=_.branch[v],E=!!(m!=null&&m[0])&&((A==null?void 0:A.loader)!==m[1]||je(g,y,h,u,(x=A.server)==null?void 0:x.uses,r));return E&&(g=!0),E});if(f.some(Boolean)){try{d=await ct(t,f)}catch(m){const v=await $(m,{url:t,params:r,route:{id:e}});return G.has(o)?De({error:v,url:t,params:r,route:a}):se({status:X(m),error:v,url:t,route:a})}if(d.type==="redirect")return d}const p=d==null?void 0:d.nodes;let b=!1;const k=l.map(async(m,v)=>{var ie;if(!m)return;const A=_.branch[v],E=p==null?void 0:p[v];if((!E||E.type==="skip")&&m[1]===(A==null?void 0:A.loader)&&!je(b,y,h,u,(ie=A.universal)==null?void 0:ie.uses,r))return A;if(b=!0,(E==null?void 0:E.type)==="error")throw E;return Ee({loader:m[1],url:t,params:r,route:a,parent:async()=>{var Te;const Ie={};for(let ce=0;ce{});const w=[];for(let m=0;mPromise.resolve({}),server_data_node:Se(o)}),c={node:await Z(),loader:Z,universal:null,server:null,data:null};return ne({url:t,params:a,branch:[s,c],status:e,error:n,route:null})}function Re(e,n){if(!e||re(e,U))return;let t;try{t=V.hooks.reroute({url:new URL(e)})??e.pathname}catch{return}const r=ot(t);for(const a of oe){const o=a.exec(r);if(o)return{id:e.pathname+e.search,invalidating:n,route:a,params:gt(o),url:e}}}function ot(e){return pt(e.slice(U.length)||"/")}function st({url:e,type:n,intent:t,delta:r}){let a=!1;const o=ft(_,t,e,n);r!==void 0&&(o.navigation.delta=r);const i={...o.navigation,cancel:()=>{a=!0,o.reject(new Error("navigation cancelled"))}};return K||Ze.forEach(s=>s(i)),a?null:o}async function Y({type:e,url:n,popped:t,keepfocus:r,noscroll:a,replace_state:o,state:i={},redirect_count:s=0,nav_token:c={},accept:l=Ce,block:d=Ce}){const h=Re(n,!1),y=st({url:n,type:e,delta:t==null?void 0:t.delta,intent:h});if(!y){d();return}const u=S,g=T;l(),K=!0,ee&&P.navigating.set(y.navigation),te=c;let f=h&&await at(h);if(!f){if(re(n,U))return await F(n);f=await it(n,{id:null},await $(new we(404,"Not Found",`Not found: ${n.pathname}`),{url:n,params:{},route:{id:null}}),404)}if(n=(h==null?void 0:h.url)||n,te!==c)return y.reject(new Error("navigation aborted")),!1;if(f.type==="redirect")if(s>=20)f=await se({status:500,error:await $(new Error("Redirect loop"),{url:n,params:{},route:{id:null}}),url:n,route:{id:null}});else return nt(new URL(f.location,n).href,{},s+1,c),!1;else f.props.page.status>=400&&await P.updated.check()&&(await Je(),await F(n));if(Zt(),ve(u),et(g),f.props.page.url.pathname!==n.pathname&&(n.pathname=f.props.page.url.pathname),i=t?t.state:i,!t){const w=o?0:1,m={[D]:S+=w,[M]:T+=w,[Me]:i};(o?history.replaceState:history.pushState).call(history,m,"",n),o||Jt(S,T)}if(R=null,f.props.page.state=i,ee){_=f.state,f.props.page&&(f.props.page.url=n);const w=(await Promise.all(Xt.map(m=>m(y.navigation)))).filter(m=>typeof m=="function");if(w.length>0){let m=function(){j=j.filter(v=>!w.includes(v))};w.push(m),j.push(...w)}ke.$set(f.props),Qe=!0}else rt(f,ge,!1);const{activeElement:p}=document;await dt();const b=t?t.scroll:a?_e():null;if(Ne){const w=n.hash&&document.getElementById(decodeURIComponent(n.hash.slice(1)));b?scrollTo(b.x,b.y):w?w.scrollIntoView():scrollTo(0,0)}const k=document.activeElement!==p&&document.activeElement!==document.body;!r&&!k&&sn(),Ne=!0,f.props.page&&(I=f.props.page),K=!1,e==="popstate"&&tt(T),y.fulfil(void 0),j.forEach(w=>w(y.navigation)),P.navigating.set(null)}async function it(e,n,t,r){return e.origin===W&&e.pathname===location.pathname&&!be?await se({status:r,error:t,url:e,route:n}):await F(e)}function nn(){let e;L.addEventListener("mousemove",o=>{const i=o.target;clearTimeout(e),e=setTimeout(()=>{r(i,2)},20)});function n(o){o.defaultPrevented||r(o.composedPath()[0],1)}L.addEventListener("mousedown",n),L.addEventListener("touchstart",n,{passive:!0});const t=new IntersectionObserver(o=>{for(const i of o)i.isIntersecting&&(de(i.target.href),t.unobserve(i.target))},{threshold:0});function r(o,i){const s=We(o,L);if(!s)return;const{url:c,external:l,download:d}=he(s,U);if(l||d)return;const h=J(s),y=c&&_.url.pathname+_.url.search===c.pathname+c.search;if(!h.reload&&!y)if(i<=h.preload_data){const u=Re(c,!1);u&&Qt(u)}else i<=h.preload_code&&de(c.pathname)}function a(){t.disconnect();for(const o of L.querySelectorAll("a")){const{url:i,external:s,download:c}=he(o,U);if(s||c)continue;const l=J(o);l.reload||(l.preload_code===z.viewport&&t.observe(o),l.preload_code===z.eager&&de(i.pathname))}}j.push(a),a()}function $(e,n){if(e instanceof ae)return e.body;const t=X(e),r=Yt(e);return V.hooks.handleError({error:e,event:n,status:t,message:r})??{message:r}}function rn(e,n={}){return e=He(e),e.origin!==W?Promise.reject(new Error("goto: invalid URL")):nt(e,n,0)}function an(){var n;history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let r=!1;if(Oe(),!K){const a=ft(_,void 0,null,"leave"),o={...a.navigation,cancel:()=>{r=!0,a.reject(new Error("navigation cancelled"))}};Ze.forEach(i=>i(o))}r?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Oe()}),(n=navigator.connection)!=null&&n.saveData||nn(),L.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const r=We(t.composedPath()[0],L);if(!r)return;const{url:a,external:o,target:i,download:s}=he(r,U);if(!a)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const c=J(r);if(!(r instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||s)return;const[d,h]=a.href.split("#"),y=d===fe(location);if(o||c.reload&&(!y||!h)){st({url:a,type:"link"})?K=!0:t.preventDefault();return}if(h!==void 0&&y){const[,u]=_.url.href.split("#");if(u===h){if(t.preventDefault(),h===""||h==="top"&&r.ownerDocument.getElementById("top")===null)window.scrollTo({top:0});else{const g=r.ownerDocument.getElementById(decodeURIComponent(h));g&&(g.scrollIntoView(),g.focus())}return}if(B=!0,ve(S),e(a),!c.replace_state)return;B=!1}t.preventDefault(),await new Promise(u=>{requestAnimationFrame(()=>{setTimeout(u,0)}),setTimeout(u,100)}),Y({type:"link",url:a,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??a.href===location.href})}),L.addEventListener("submit",t=>{if(t.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(t.target),a=t.submitter;if(((a==null?void 0:a.formTarget)||r.target)==="_blank"||((a==null?void 0:a.formMethod)||r.method)!=="get")return;const s=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||r.action);if(re(s,U))return;const c=t.target,l=J(c);if(l.reload)return;t.preventDefault(),t.stopPropagation();const d=new FormData(c),h=a==null?void 0:a.getAttribute("name");h&&d.append(h,(a==null?void 0:a.getAttribute("value"))??""),s.search=new URLSearchParams(d).toString(),Y({type:"form",url:s,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??s.href===location.href})}),addEventListener("popstate",async t=>{var r;if((r=t.state)!=null&&r[D]){const a=t.state[D];if(te={},a===S)return;const o=C[a],i=t.state[Me]??{},s=new URL(t.state[Ct]??location.href),c=t.state[M],l=fe(location)===fe(_.url);if(c===T&&(Qe||l)){e(s),C[S]=_e(),o&&scrollTo(o.x,o.y),i!==I.state&&(I={...I,state:i},ke.$set({page:I})),S=a;return}const h=a-S;await Y({type:"popstate",url:s,popped:{state:i,scroll:o,delta:h},accept:()=>{S=a,T=c},block:()=>{history.go(-h)},nav_token:te})}else if(!B){const a=new URL(location.href);e(a)}}),addEventListener("hashchange",()=>{B&&(B=!1,history.replaceState({...history.state,[D]:++S,[M]:T},"",location.href))});for(const t of document.querySelectorAll("link"))zt.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&P.navigating.set(null)});function e(t){_.url=t,P.page.set({...I,url:t}),P.page.notify()}}async function on(e,{status:n=200,error:t,node_ids:r,params:a,route:o,data:i,form:s}){be=!0;const c=new URL(location.href);({params:a={},route:o={id:null}}=Re(c,!1)||{});let l,d=!0;try{const h=r.map(async(g,f)=>{const p=i[f];return p!=null&&p.uses&&(p.uses=lt(p.uses)),Ee({loader:V.nodes[g],url:c,params:a,route:o,parent:async()=>{const b={};for(let k=0;kg===o.id);if(u){const g=u.layouts;for(let f=0;fo?"1":"0").join(""));const r=await Ve(t.href);if(!r.ok){let o;throw(a=r.headers.get("content-type"))!=null&&a.includes("application/json")?o=await r.json():r.status===404?o="Not Found":r.status===500&&(o="Internal Error"),new ae(r.status,o)}return new Promise(async o=>{var h;const i=new Map,s=r.body.getReader(),c=new TextDecoder;function l(y){return Gt(y,{Promise:u=>new Promise((g,f)=>{i.set(u,{fulfil:g,reject:f})})})}let d="";for(;;){const{done:y,value:u}=await s.read();if(y&&!d)break;for(d+=!u&&d?`
-`:c.decode(u,{stream:!0});;){const g=d.indexOf(`
-`);if(g===-1)break;const f=JSON.parse(d.slice(0,g));if(d=d.slice(g+1),f.type==="redirect")return o(f);if(f.type==="data")(h=f.nodes)==null||h.forEach(p=>{(p==null?void 0:p.type)==="data"&&(p.uses=lt(p.uses),p.data=l(p.data))}),o(f);else if(f.type==="chunk"){const{id:p,data:b,error:k}=f,w=i.get(p);i.delete(p),k?w.reject(l(k)):w.fulfil(l(b))}}}})}function lt(e){return{dependencies:new Set((e==null?void 0:e.dependencies)??[]),params:new Set((e==null?void 0:e.params)??[]),parent:!!(e!=null&&e.parent),route:!!(e!=null&&e.route),url:!!(e!=null&&e.url),search_params:new Set((e==null?void 0:e.search_params)??[])}}function sn(){const e=document.querySelector("[autofocus]");if(e)e.focus();else{const n=document.body,t=n.getAttribute("tabindex");n.tabIndex=-1,n.focus({preventScroll:!0,focusVisible:!1}),t!==null?n.setAttribute("tabindex",t):n.removeAttribute("tabindex");const r=getSelection();if(r&&r.type!=="None"){const a=[];for(let o=0;o{if(r.rangeCount===a.length){for(let o=0;o{a=d,o=h});return i.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:((c=e.route)==null?void 0:c.id)??null},url:e.url},to:t&&{params:(n==null?void 0:n.params)??null,route:{id:((l=n==null?void 0:n.route)==null?void 0:l.id)??null},url:t},willUnload:!n,type:r,complete:i},fulfil:a,reject:o}}export{ln as a,P as s};
+import { n as le, aE as ut, ad as dt } from './runtime.C33mUz_z.js';
+new URL('sveltekit-internal://');
+function ht(e, n) {
+ return e === '/' || n === 'ignore'
+ ? e
+ : n === 'never'
+ ? e.endsWith('/')
+ ? e.slice(0, -1)
+ : e
+ : n === 'always' && !e.endsWith('/')
+ ? e + '/'
+ : e;
+}
+function pt(e) {
+ return e.split('%25').map(decodeURI).join('%25');
+}
+function gt(e) {
+ for (const n in e) e[n] = decodeURIComponent(e[n]);
+ return e;
+}
+function fe({ href: e }) {
+ return e.split('#')[0];
+}
+const mt = ['href', 'pathname', 'search', 'toString', 'toJSON'];
+function yt(e, n, t) {
+ const r = new URL(e);
+ Object.defineProperty(r, 'searchParams', {
+ value: new Proxy(r.searchParams, {
+ get(a, o) {
+ if (o === 'get' || o === 'getAll' || o === 'has') return (s) => (t(s), a[o](s));
+ n();
+ const i = Reflect.get(a, o);
+ return typeof i == 'function' ? i.bind(a) : i;
+ }
+ }),
+ enumerable: !0,
+ configurable: !0
+ });
+ for (const a of mt)
+ Object.defineProperty(r, a, {
+ get() {
+ return n(), e[a];
+ },
+ enumerable: !0,
+ configurable: !0
+ });
+ return r;
+}
+const _t = '/__data.json',
+ wt = '.html__data.json';
+function vt(e) {
+ return e.endsWith('.html') ? e.replace(/\.html$/, wt) : e.replace(/\/$/, '') + _t;
+}
+function bt(...e) {
+ let n = 5381;
+ for (const t of e)
+ if (typeof t == 'string') {
+ let r = t.length;
+ for (; r; ) n = (n * 33) ^ t.charCodeAt(--r);
+ } else if (ArrayBuffer.isView(t)) {
+ const r = new Uint8Array(t.buffer, t.byteOffset, t.byteLength);
+ let a = r.length;
+ for (; a; ) n = (n * 33) ^ r[--a];
+ } else throw new TypeError('value must be a string or TypedArray');
+ return (n >>> 0).toString(36);
+}
+function At(e) {
+ const n = atob(e),
+ t = new Uint8Array(n.length);
+ for (let r = 0; r < n.length; r++) t[r] = n.charCodeAt(r);
+ return t.buffer;
+}
+const Ve = window.fetch;
+window.fetch = (e, n) => (
+ (e instanceof Request ? e.method : (n == null ? void 0 : n.method) || 'GET') !== 'GET' &&
+ q.delete(me(e)),
+ Ve(e, n)
+);
+const q = new Map();
+function kt(e, n) {
+ const t = me(e, n),
+ r = document.querySelector(t);
+ if (r != null && r.textContent) {
+ let { body: a, ...o } = JSON.parse(r.textContent);
+ const i = r.getAttribute('data-ttl');
+ return (
+ i && q.set(t, { body: a, init: o, ttl: 1e3 * Number(i) }),
+ r.getAttribute('data-b64') !== null && (a = At(a)),
+ Promise.resolve(new Response(a, o))
+ );
+ }
+ return window.fetch(e, n);
+}
+function Et(e, n, t) {
+ if (q.size > 0) {
+ const r = me(e, t),
+ a = q.get(r);
+ if (a) {
+ if (
+ performance.now() < a.ttl &&
+ ['default', 'force-cache', 'only-if-cached', void 0].includes(t == null ? void 0 : t.cache)
+ )
+ return new Response(a.body, a.init);
+ q.delete(r);
+ }
+ }
+ return window.fetch(n, t);
+}
+function me(e, n) {
+ let r = `script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request ? e.url : e)}]`;
+ if ((n != null && n.headers) || (n != null && n.body)) {
+ const a = [];
+ n.headers && a.push([...new Headers(n.headers)].join(',')),
+ n.body && (typeof n.body == 'string' || ArrayBuffer.isView(n.body)) && a.push(n.body),
+ (r += `[data-hash="${bt(...a)}"]`);
+ }
+ return r;
+}
+const St = /^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;
+function Rt(e) {
+ const n = [];
+ return {
+ pattern:
+ e === '/'
+ ? /^\/$/
+ : new RegExp(
+ `^${Tt(e)
+ .map((r) => {
+ const a = /^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);
+ if (a)
+ return (
+ n.push({ name: a[1], matcher: a[2], optional: !1, rest: !0, chained: !0 }),
+ '(?:/(.*))?'
+ );
+ const o = /^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);
+ if (o)
+ return (
+ n.push({ name: o[1], matcher: o[2], optional: !0, rest: !1, chained: !0 }),
+ '(?:/([^/]+))?'
+ );
+ if (!r) return;
+ const i = r.split(/\[(.+?)\](?!\])/);
+ return (
+ '/' +
+ i
+ .map((c, l) => {
+ if (l % 2) {
+ if (c.startsWith('x+'))
+ return ue(String.fromCharCode(parseInt(c.slice(2), 16)));
+ if (c.startsWith('u+'))
+ return ue(
+ String.fromCharCode(
+ ...c
+ .slice(2)
+ .split('-')
+ .map((f) => parseInt(f, 16))
+ )
+ );
+ const d = St.exec(c),
+ [, h, y, u, g] = d;
+ return (
+ n.push({
+ name: u,
+ matcher: g,
+ optional: !!h,
+ rest: !!y,
+ chained: y ? l === 1 && i[0] === '' : !1
+ }),
+ y ? '(.*?)' : h ? '([^/]*)?' : '([^/]+?)'
+ );
+ }
+ return ue(c);
+ })
+ .join('')
+ );
+ })
+ .join('')}/?$`
+ ),
+ params: n
+ };
+}
+function It(e) {
+ return !/^\([^)]+\)$/.test(e);
+}
+function Tt(e) {
+ return e.slice(1).split('/').filter(It);
+}
+function Ut(e, n, t) {
+ const r = {},
+ a = e.slice(1),
+ o = a.filter((s) => s !== void 0);
+ let i = 0;
+ for (let s = 0; s < n.length; s += 1) {
+ const c = n[s];
+ let l = a[s - i];
+ if (
+ (c.chained &&
+ c.rest &&
+ i &&
+ ((l = a
+ .slice(s - i, s + 1)
+ .filter((d) => d)
+ .join('/')),
+ (i = 0)),
+ l === void 0)
+ ) {
+ c.rest && (r[c.name] = '');
+ continue;
+ }
+ if (!c.matcher || t[c.matcher](l)) {
+ r[c.name] = l;
+ const d = n[s + 1],
+ h = a[s + 1];
+ d && !d.rest && d.optional && h && c.chained && (i = 0),
+ !d && !h && Object.keys(r).length === o.length && (i = 0);
+ continue;
+ }
+ if (c.optional && c.chained) {
+ i++;
+ continue;
+ }
+ return;
+ }
+ if (!i) return r;
+}
+function ue(e) {
+ return e
+ .normalize()
+ .replace(/[[\]]/g, '\\$&')
+ .replace(/%/g, '%25')
+ .replace(/\//g, '%2[Ff]')
+ .replace(/\?/g, '%3[Ff]')
+ .replace(/#/g, '%23')
+ .replace(/[.*+?^${}()|\\]/g, '\\$&');
+}
+function Lt({ nodes: e, server_loads: n, dictionary: t, matchers: r }) {
+ const a = new Set(n);
+ return Object.entries(t).map(([s, [c, l, d]]) => {
+ const { pattern: h, params: y } = Rt(s),
+ u = {
+ id: s,
+ exec: (g) => {
+ const f = h.exec(g);
+ if (f) return Ut(f, y, r);
+ },
+ errors: [1, ...(d || [])].map((g) => e[g]),
+ layouts: [0, ...(l || [])].map(i),
+ leaf: o(c)
+ };
+ return (u.errors.length = u.layouts.length = Math.max(u.errors.length, u.layouts.length)), u;
+ });
+ function o(s) {
+ const c = s < 0;
+ return c && (s = ~s), [c, e[s]];
+ }
+ function i(s) {
+ return s === void 0 ? s : [a.has(s), e[s]];
+ }
+}
+function Be(e, n = JSON.parse) {
+ try {
+ return n(sessionStorage[e]);
+ } catch {}
+}
+function Ue(e, n, t = JSON.stringify) {
+ const r = t(n);
+ try {
+ sessionStorage[e] = r;
+ } catch {}
+}
+const N = [];
+function ye(e, n = le) {
+ let t = null;
+ const r = new Set();
+ function a(s) {
+ if (ut(e, s) && ((e = s), t)) {
+ const c = !N.length;
+ for (const l of r) l[1](), N.push(l, e);
+ if (c) {
+ for (let l = 0; l < N.length; l += 2) N[l][0](N[l + 1]);
+ N.length = 0;
+ }
+ }
+ }
+ function o(s) {
+ a(s(e));
+ }
+ function i(s, c = le) {
+ const l = [s, c];
+ return (
+ r.add(l),
+ r.size === 1 && (t = n(a, o) || le),
+ s(e),
+ () => {
+ r.delete(l), r.size === 0 && t && (t(), (t = null));
+ }
+ );
+ }
+ return { set: a, update: o, subscribe: i };
+}
+var $e;
+const U = (($e = globalThis.__sveltekit_18ojnr2) == null ? void 0 : $e.base) ?? '';
+var Fe;
+const Pt = ((Fe = globalThis.__sveltekit_18ojnr2) == null ? void 0 : Fe.assets) ?? U,
+ xt = '1734294154162',
+ qe = 'sveltekit:snapshot',
+ Ge = 'sveltekit:scroll',
+ Me = 'sveltekit:states',
+ Ct = 'sveltekit:pageurl',
+ D = 'sveltekit:history',
+ M = 'sveltekit:navigation',
+ z = { tap: 1, hover: 2, viewport: 3, eager: 4, off: -1, false: -1 },
+ W = location.origin;
+function He(e) {
+ if (e instanceof URL) return e;
+ let n = document.baseURI;
+ if (!n) {
+ const t = document.getElementsByTagName('base');
+ n = t.length ? t[0].href : document.URL;
+ }
+ return new URL(e, n);
+}
+function _e() {
+ return { x: pageXOffset, y: pageYOffset };
+}
+function O(e, n) {
+ return e.getAttribute(`data-sveltekit-${n}`);
+}
+const Le = { ...z, '': z.hover };
+function Ke(e) {
+ let n = e.assignedSlot ?? e.parentNode;
+ return (n == null ? void 0 : n.nodeType) === 11 && (n = n.host), n;
+}
+function We(e, n) {
+ for (; e && e !== n; ) {
+ if (e.nodeName.toUpperCase() === 'A' && e.hasAttribute('href')) return e;
+ e = Ke(e);
+ }
+}
+function he(e, n) {
+ let t;
+ try {
+ t = new URL(e instanceof SVGAElement ? e.href.baseVal : e.href, document.baseURI);
+ } catch {}
+ const r = e instanceof SVGAElement ? e.target.baseVal : e.target,
+ a = !t || !!r || re(t, n) || (e.getAttribute('rel') || '').split(/\s+/).includes('external'),
+ o = (t == null ? void 0 : t.origin) === W && e.hasAttribute('download');
+ return { url: t, external: a, target: r, download: o };
+}
+function J(e) {
+ let n = null,
+ t = null,
+ r = null,
+ a = null,
+ o = null,
+ i = null,
+ s = e;
+ for (; s && s !== document.documentElement; )
+ r === null && (r = O(s, 'preload-code')),
+ a === null && (a = O(s, 'preload-data')),
+ n === null && (n = O(s, 'keepfocus')),
+ t === null && (t = O(s, 'noscroll')),
+ o === null && (o = O(s, 'reload')),
+ i === null && (i = O(s, 'replacestate')),
+ (s = Ke(s));
+ function c(l) {
+ switch (l) {
+ case '':
+ case 'true':
+ return !0;
+ case 'off':
+ case 'false':
+ return !1;
+ default:
+ return;
+ }
+ }
+ return {
+ preload_code: Le[r ?? 'off'],
+ preload_data: Le[a ?? 'off'],
+ keepfocus: c(n),
+ noscroll: c(t),
+ reload: c(o),
+ replace_state: c(i)
+ };
+}
+function Pe(e) {
+ const n = ye(e);
+ let t = !0;
+ function r() {
+ (t = !0), n.update((i) => i);
+ }
+ function a(i) {
+ (t = !1), n.set(i);
+ }
+ function o(i) {
+ let s;
+ return n.subscribe((c) => {
+ (s === void 0 || (t && c !== s)) && i((s = c));
+ });
+ }
+ return { notify: r, set: a, subscribe: o };
+}
+function Nt() {
+ const { set: e, subscribe: n } = ye(!1);
+ let t;
+ async function r() {
+ clearTimeout(t);
+ try {
+ const a = await fetch(`${Pt}/_app/version.json`, {
+ headers: { pragma: 'no-cache', 'cache-control': 'no-cache' }
+ });
+ if (!a.ok) return !1;
+ const i = (await a.json()).version !== xt;
+ return i && (e(!0), clearTimeout(t)), i;
+ } catch {
+ return !1;
+ }
+ }
+ return { subscribe: n, check: r };
+}
+function re(e, n) {
+ return e.origin !== W || !e.pathname.startsWith(n);
+}
+function xe(e) {
+ const n = jt(e),
+ t = new ArrayBuffer(n.length),
+ r = new DataView(t);
+ for (let a = 0; a < t.byteLength; a++) r.setUint8(a, n.charCodeAt(a));
+ return t;
+}
+const Ot = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
+function jt(e) {
+ e.length % 4 === 0 && (e = e.replace(/==?$/, ''));
+ let n = '',
+ t = 0,
+ r = 0;
+ for (let a = 0; a < e.length; a++)
+ (t <<= 6),
+ (t |= Ot.indexOf(e[a])),
+ (r += 6),
+ r === 24 &&
+ ((n += String.fromCharCode((t & 16711680) >> 16)),
+ (n += String.fromCharCode((t & 65280) >> 8)),
+ (n += String.fromCharCode(t & 255)),
+ (t = r = 0));
+ return (
+ r === 12
+ ? ((t >>= 4), (n += String.fromCharCode(t)))
+ : r === 18 &&
+ ((t >>= 2),
+ (n += String.fromCharCode((t & 65280) >> 8)),
+ (n += String.fromCharCode(t & 255))),
+ n
+ );
+}
+const Dt = -1,
+ $t = -2,
+ Ft = -3,
+ Vt = -4,
+ Bt = -5,
+ qt = -6;
+function Gt(e, n) {
+ if (typeof e == 'number') return a(e, !0);
+ if (!Array.isArray(e) || e.length === 0) throw new Error('Invalid input');
+ const t = e,
+ r = Array(t.length);
+ function a(o, i = !1) {
+ if (o === Dt) return;
+ if (o === Ft) return NaN;
+ if (o === Vt) return 1 / 0;
+ if (o === Bt) return -1 / 0;
+ if (o === qt) return -0;
+ if (i) throw new Error('Invalid input');
+ if (o in r) return r[o];
+ const s = t[o];
+ if (!s || typeof s != 'object') r[o] = s;
+ else if (Array.isArray(s))
+ if (typeof s[0] == 'string') {
+ const c = s[0],
+ l = n == null ? void 0 : n[c];
+ if (l) return (r[o] = l(a(s[1])));
+ switch (c) {
+ case 'Date':
+ r[o] = new Date(s[1]);
+ break;
+ case 'Set':
+ const d = new Set();
+ r[o] = d;
+ for (let u = 1; u < s.length; u += 1) d.add(a(s[u]));
+ break;
+ case 'Map':
+ const h = new Map();
+ r[o] = h;
+ for (let u = 1; u < s.length; u += 2) h.set(a(s[u]), a(s[u + 1]));
+ break;
+ case 'RegExp':
+ r[o] = new RegExp(s[1], s[2]);
+ break;
+ case 'Object':
+ r[o] = Object(s[1]);
+ break;
+ case 'BigInt':
+ r[o] = BigInt(s[1]);
+ break;
+ case 'null':
+ const y = Object.create(null);
+ r[o] = y;
+ for (let u = 1; u < s.length; u += 2) y[s[u]] = a(s[u + 1]);
+ break;
+ case 'Int8Array':
+ case 'Uint8Array':
+ case 'Uint8ClampedArray':
+ case 'Int16Array':
+ case 'Uint16Array':
+ case 'Int32Array':
+ case 'Uint32Array':
+ case 'Float32Array':
+ case 'Float64Array':
+ case 'BigInt64Array':
+ case 'BigUint64Array': {
+ const u = globalThis[c],
+ g = s[1],
+ f = xe(g),
+ p = new u(f);
+ r[o] = p;
+ break;
+ }
+ case 'ArrayBuffer': {
+ const u = s[1],
+ g = xe(u);
+ r[o] = g;
+ break;
+ }
+ default:
+ throw new Error(`Unknown type ${c}`);
+ }
+ } else {
+ const c = new Array(s.length);
+ r[o] = c;
+ for (let l = 0; l < s.length; l += 1) {
+ const d = s[l];
+ d !== $t && (c[l] = a(d));
+ }
+ }
+ else {
+ const c = {};
+ r[o] = c;
+ for (const l in s) {
+ const d = s[l];
+ c[l] = a(d);
+ }
+ }
+ return r[o];
+ }
+ return a(0);
+}
+const Ye = new Set(['load', 'prerender', 'csr', 'ssr', 'trailingSlash', 'config']);
+[...Ye];
+const Mt = new Set([...Ye]);
+[...Mt];
+function Ht(e) {
+ return e.filter((n) => n != null);
+}
+class ae {
+ constructor(n, t) {
+ (this.status = n),
+ typeof t == 'string'
+ ? (this.body = { message: t })
+ : t
+ ? (this.body = t)
+ : (this.body = { message: `Error: ${n}` });
+ }
+ toString() {
+ return JSON.stringify(this.body);
+ }
+}
+class ze {
+ constructor(n, t) {
+ (this.status = n), (this.location = t);
+ }
+}
+class we extends Error {
+ constructor(n, t, r) {
+ super(r), (this.status = n), (this.text = t);
+ }
+}
+const Kt = 'x-sveltekit-invalidated',
+ Wt = 'x-sveltekit-trailing-slash';
+function X(e) {
+ return e instanceof ae || e instanceof we ? e.status : 500;
+}
+function Yt(e) {
+ return e instanceof we ? e.text : 'Internal Error';
+}
+const zt = new Set(['icon', 'shortcut icon', 'apple-touch-icon']),
+ C = Be(Ge) ?? {},
+ H = Be(qe) ?? {},
+ P = { url: Pe({}), page: Pe({}), navigating: ye(null), updated: Nt() };
+function ve(e) {
+ C[e] = _e();
+}
+function Jt(e, n) {
+ let t = e + 1;
+ for (; C[t]; ) delete C[t], (t += 1);
+ for (t = n + 1; H[t]; ) delete H[t], (t += 1);
+}
+function F(e) {
+ return (location.href = e.href), new Promise(() => {});
+}
+async function Je() {
+ if ('serviceWorker' in navigator) {
+ const e = await navigator.serviceWorker.getRegistration(U || '/');
+ e && (await e.update());
+ }
+}
+function Ce() {}
+let oe, pe, Z, L, ge, V;
+const Xe = [],
+ Q = [];
+let R = null;
+const Ze = [],
+ Xt = [];
+let j = [],
+ _ = { branch: [], error: null, url: null },
+ be = !1,
+ ee = !1,
+ Ne = !0,
+ K = !1,
+ B = !1,
+ Qe = !1,
+ Ae = !1,
+ ke,
+ S,
+ T,
+ I,
+ te;
+const G = new Set();
+async function ln(e, n, t) {
+ var a, o;
+ document.URL !== location.href && (location.href = location.href),
+ (V = e),
+ (oe = Lt(e)),
+ (L = document.documentElement),
+ (ge = n),
+ (pe = e.nodes[0]),
+ (Z = e.nodes[1]),
+ pe(),
+ Z(),
+ (S = (a = history.state) == null ? void 0 : a[D]),
+ (T = (o = history.state) == null ? void 0 : o[M]),
+ S || ((S = T = Date.now()), history.replaceState({ ...history.state, [D]: S, [M]: T }, ''));
+ const r = C[S];
+ r && ((history.scrollRestoration = 'manual'), scrollTo(r.x, r.y)),
+ t ? await on(ge, t) : rn(location.href, { replaceState: !0 }),
+ an();
+}
+function Zt() {
+ (Xe.length = 0), (Ae = !1);
+}
+function et(e) {
+ Q.some((n) => (n == null ? void 0 : n.snapshot)) &&
+ (H[e] = Q.map((n) => {
+ var t;
+ return (t = n == null ? void 0 : n.snapshot) == null ? void 0 : t.capture();
+ }));
+}
+function tt(e) {
+ var n;
+ (n = H[e]) == null ||
+ n.forEach((t, r) => {
+ var a, o;
+ (o = (a = Q[r]) == null ? void 0 : a.snapshot) == null || o.restore(t);
+ });
+}
+function Oe() {
+ ve(S), Ue(Ge, C), et(T), Ue(qe, H);
+}
+async function nt(e, n, t, r) {
+ return Y({
+ type: 'goto',
+ url: He(e),
+ keepfocus: n.keepFocus,
+ noscroll: n.noScroll,
+ replace_state: n.replaceState,
+ state: n.state,
+ redirect_count: t,
+ nav_token: r,
+ accept: () => {
+ n.invalidateAll && (Ae = !0);
+ }
+ });
+}
+async function Qt(e) {
+ if (e.id !== (R == null ? void 0 : R.id)) {
+ const n = {};
+ G.add(n),
+ (R = {
+ id: e.id,
+ token: n,
+ promise: at({ ...e, preload: n }).then(
+ (t) => (G.delete(n), t.type === 'loaded' && t.state.error && (R = null), t)
+ )
+ });
+ }
+ return R.promise;
+}
+async function de(e) {
+ const n = oe.find((t) => t.exec(ot(e)));
+ n && (await Promise.all([...n.layouts, n.leaf].map((t) => (t == null ? void 0 : t[1]()))));
+}
+function rt(e, n, t) {
+ var o;
+ _ = e.state;
+ const r = document.querySelector('style[data-sveltekit]');
+ r && r.remove(),
+ (I = e.props.page),
+ (ke = new V.root({
+ target: n,
+ props: { ...e.props, stores: P, components: Q },
+ hydrate: t,
+ sync: !1
+ })),
+ tt(T);
+ const a = {
+ from: null,
+ to: {
+ params: _.params,
+ route: { id: ((o = _.route) == null ? void 0 : o.id) ?? null },
+ url: new URL(location.href)
+ },
+ willUnload: !1,
+ type: 'enter',
+ complete: Promise.resolve()
+ };
+ j.forEach((i) => i(a)), (ee = !0);
+}
+function ne({ url: e, params: n, branch: t, status: r, error: a, route: o, form: i }) {
+ let s = 'never';
+ if (U && (e.pathname === U || e.pathname === U + '/')) s = 'always';
+ else for (const u of t) (u == null ? void 0 : u.slash) !== void 0 && (s = u.slash);
+ (e.pathname = ht(e.pathname, s)), (e.search = e.search);
+ const c = {
+ type: 'loaded',
+ state: { url: e, params: n, branch: t, error: a, route: o },
+ props: { constructors: Ht(t).map((u) => u.node.component), page: I }
+ };
+ i !== void 0 && (c.props.form = i);
+ let l = {},
+ d = !I,
+ h = 0;
+ for (let u = 0; u < Math.max(t.length, _.branch.length); u += 1) {
+ const g = t[u],
+ f = _.branch[u];
+ (g == null ? void 0 : g.data) !== (f == null ? void 0 : f.data) && (d = !0),
+ g && ((l = { ...l, ...g.data }), d && (c.props[`data_${h}`] = l), (h += 1));
+ }
+ return (
+ (!_.url || e.href !== _.url.href || _.error !== a || (i !== void 0 && i !== I.form) || d) &&
+ (c.props.page = {
+ error: a,
+ params: n,
+ route: { id: (o == null ? void 0 : o.id) ?? null },
+ state: {},
+ status: r,
+ url: new URL(e),
+ form: i ?? null,
+ data: d ? l : I.data
+ }),
+ c
+ );
+}
+async function Ee({ loader: e, parent: n, url: t, params: r, route: a, server_data_node: o }) {
+ var d, h, y;
+ let i = null,
+ s = !0;
+ const c = {
+ dependencies: new Set(),
+ params: new Set(),
+ parent: !1,
+ route: !1,
+ url: !1,
+ search_params: new Set()
+ },
+ l = await e();
+ if ((d = l.universal) != null && d.load) {
+ let u = function (...f) {
+ for (const p of f) {
+ const { href: b } = new URL(p, t);
+ c.dependencies.add(b);
+ }
+ };
+ const g = {
+ route: new Proxy(a, { get: (f, p) => (s && (c.route = !0), f[p]) }),
+ params: new Proxy(r, { get: (f, p) => (s && c.params.add(p), f[p]) }),
+ data: (o == null ? void 0 : o.data) ?? null,
+ url: yt(
+ t,
+ () => {
+ s && (c.url = !0);
+ },
+ (f) => {
+ s && c.search_params.add(f);
+ }
+ ),
+ async fetch(f, p) {
+ let b;
+ f instanceof Request
+ ? ((b = f.url),
+ (p = {
+ body: f.method === 'GET' || f.method === 'HEAD' ? void 0 : await f.blob(),
+ cache: f.cache,
+ credentials: f.credentials,
+ headers: [...f.headers].length ? f.headers : void 0,
+ integrity: f.integrity,
+ keepalive: f.keepalive,
+ method: f.method,
+ mode: f.mode,
+ redirect: f.redirect,
+ referrer: f.referrer,
+ referrerPolicy: f.referrerPolicy,
+ signal: f.signal,
+ ...p
+ }))
+ : (b = f);
+ const k = new URL(b, t);
+ return (
+ s && u(k.href),
+ k.origin === t.origin && (b = k.href.slice(t.origin.length)),
+ ee ? Et(b, k.href, p) : kt(b, p)
+ );
+ },
+ setHeaders: () => {},
+ depends: u,
+ parent() {
+ return s && (c.parent = !0), n();
+ },
+ untrack(f) {
+ s = !1;
+ try {
+ return f();
+ } finally {
+ s = !0;
+ }
+ }
+ };
+ i = (await l.universal.load.call(null, g)) ?? null;
+ }
+ return {
+ node: l,
+ loader: e,
+ server: o,
+ universal: (h = l.universal) != null && h.load ? { type: 'data', data: i, uses: c } : null,
+ data: i ?? (o == null ? void 0 : o.data) ?? null,
+ slash: ((y = l.universal) == null ? void 0 : y.trailingSlash) ?? (o == null ? void 0 : o.slash)
+ };
+}
+function je(e, n, t, r, a, o) {
+ if (Ae) return !0;
+ if (!a) return !1;
+ if ((a.parent && e) || (a.route && n) || (a.url && t)) return !0;
+ for (const i of a.search_params) if (r.has(i)) return !0;
+ for (const i of a.params) if (o[i] !== _.params[i]) return !0;
+ for (const i of a.dependencies) if (Xe.some((s) => s(new URL(i)))) return !0;
+ return !1;
+}
+function Se(e, n) {
+ return (e == null ? void 0 : e.type) === 'data'
+ ? e
+ : (e == null ? void 0 : e.type) === 'skip'
+ ? (n ?? null)
+ : null;
+}
+function en(e, n) {
+ if (!e) return new Set(n.searchParams.keys());
+ const t = new Set([...e.searchParams.keys(), ...n.searchParams.keys()]);
+ for (const r of t) {
+ const a = e.searchParams.getAll(r),
+ o = n.searchParams.getAll(r);
+ a.every((i) => o.includes(i)) && o.every((i) => a.includes(i)) && t.delete(r);
+ }
+ return t;
+}
+function De({ error: e, url: n, route: t, params: r }) {
+ return {
+ type: 'loaded',
+ state: { error: e, url: n, route: t, params: r, branch: [] },
+ props: { page: I, constructors: [] }
+ };
+}
+async function at({ id: e, invalidating: n, url: t, params: r, route: a, preload: o }) {
+ if ((R == null ? void 0 : R.id) === e) return G.delete(R.token), R.promise;
+ const { errors: i, layouts: s, leaf: c } = a,
+ l = [...s, c];
+ i.forEach((m) => (m == null ? void 0 : m().catch(() => {}))),
+ l.forEach((m) => (m == null ? void 0 : m[1]().catch(() => {})));
+ let d = null;
+ const h = _.url ? e !== _.url.pathname + _.url.search : !1,
+ y = _.route ? a.id !== _.route.id : !1,
+ u = en(_.url, t);
+ let g = !1;
+ const f = l.map((m, v) => {
+ var x;
+ const A = _.branch[v],
+ E =
+ !!(m != null && m[0]) &&
+ ((A == null ? void 0 : A.loader) !== m[1] ||
+ je(g, y, h, u, (x = A.server) == null ? void 0 : x.uses, r));
+ return E && (g = !0), E;
+ });
+ if (f.some(Boolean)) {
+ try {
+ d = await ct(t, f);
+ } catch (m) {
+ const v = await $(m, { url: t, params: r, route: { id: e } });
+ return G.has(o)
+ ? De({ error: v, url: t, params: r, route: a })
+ : se({ status: X(m), error: v, url: t, route: a });
+ }
+ if (d.type === 'redirect') return d;
+ }
+ const p = d == null ? void 0 : d.nodes;
+ let b = !1;
+ const k = l.map(async (m, v) => {
+ var ie;
+ if (!m) return;
+ const A = _.branch[v],
+ E = p == null ? void 0 : p[v];
+ if (
+ (!E || E.type === 'skip') &&
+ m[1] === (A == null ? void 0 : A.loader) &&
+ !je(b, y, h, u, (ie = A.universal) == null ? void 0 : ie.uses, r)
+ )
+ return A;
+ if (((b = !0), (E == null ? void 0 : E.type) === 'error')) throw E;
+ return Ee({
+ loader: m[1],
+ url: t,
+ params: r,
+ route: a,
+ parent: async () => {
+ var Te;
+ const Ie = {};
+ for (let ce = 0; ce < v; ce += 1)
+ Object.assign(Ie, (Te = await k[ce]) == null ? void 0 : Te.data);
+ return Ie;
+ },
+ server_data_node: Se(
+ E === void 0 && m[0] ? { type: 'skip' } : (E ?? null),
+ m[0] ? (A == null ? void 0 : A.server) : void 0
+ )
+ });
+ });
+ for (const m of k) m.catch(() => {});
+ const w = [];
+ for (let m = 0; m < l.length; m += 1)
+ if (l[m])
+ try {
+ w.push(await k[m]);
+ } catch (v) {
+ if (v instanceof ze) return { type: 'redirect', location: v.location };
+ if (G.has(o))
+ return De({
+ error: await $(v, { params: r, url: t, route: { id: a.id } }),
+ url: t,
+ params: r,
+ route: a
+ });
+ let A = X(v),
+ E;
+ if (p != null && p.includes(v)) (A = v.status ?? A), (E = v.error);
+ else if (v instanceof ae) E = v.body;
+ else {
+ if (await P.updated.check()) return await Je(), await F(t);
+ E = await $(v, { params: r, url: t, route: { id: a.id } });
+ }
+ const x = await tn(m, w, i);
+ return x
+ ? ne({
+ url: t,
+ params: r,
+ branch: w.slice(0, x.idx).concat(x.node),
+ status: A,
+ error: E,
+ route: a
+ })
+ : await it(t, { id: a.id }, E, A);
+ }
+ else w.push(void 0);
+ return ne({
+ url: t,
+ params: r,
+ branch: w,
+ status: 200,
+ error: null,
+ route: a,
+ form: n ? void 0 : null
+ });
+}
+async function tn(e, n, t) {
+ for (; e--; )
+ if (t[e]) {
+ let r = e;
+ for (; !n[r]; ) r -= 1;
+ try {
+ return {
+ idx: r + 1,
+ node: { node: await t[e](), loader: t[e], data: {}, server: null, universal: null }
+ };
+ } catch {
+ continue;
+ }
+ }
+}
+async function se({ status: e, error: n, url: t, route: r }) {
+ const a = {};
+ let o = null;
+ if (V.server_loads[0] === 0)
+ try {
+ const l = await ct(t, [!0]);
+ if (l.type !== 'data' || (l.nodes[0] && l.nodes[0].type !== 'data')) throw 0;
+ o = l.nodes[0] ?? null;
+ } catch {
+ (t.origin !== W || t.pathname !== location.pathname || be) && (await F(t));
+ }
+ const s = await Ee({
+ loader: pe,
+ url: t,
+ params: a,
+ route: r,
+ parent: () => Promise.resolve({}),
+ server_data_node: Se(o)
+ }),
+ c = { node: await Z(), loader: Z, universal: null, server: null, data: null };
+ return ne({ url: t, params: a, branch: [s, c], status: e, error: n, route: null });
+}
+function Re(e, n) {
+ if (!e || re(e, U)) return;
+ let t;
+ try {
+ t = V.hooks.reroute({ url: new URL(e) }) ?? e.pathname;
+ } catch {
+ return;
+ }
+ const r = ot(t);
+ for (const a of oe) {
+ const o = a.exec(r);
+ if (o) return { id: e.pathname + e.search, invalidating: n, route: a, params: gt(o), url: e };
+ }
+}
+function ot(e) {
+ return pt(e.slice(U.length) || '/');
+}
+function st({ url: e, type: n, intent: t, delta: r }) {
+ let a = !1;
+ const o = ft(_, t, e, n);
+ r !== void 0 && (o.navigation.delta = r);
+ const i = {
+ ...o.navigation,
+ cancel: () => {
+ (a = !0), o.reject(new Error('navigation cancelled'));
+ }
+ };
+ return K || Ze.forEach((s) => s(i)), a ? null : o;
+}
+async function Y({
+ type: e,
+ url: n,
+ popped: t,
+ keepfocus: r,
+ noscroll: a,
+ replace_state: o,
+ state: i = {},
+ redirect_count: s = 0,
+ nav_token: c = {},
+ accept: l = Ce,
+ block: d = Ce
+}) {
+ const h = Re(n, !1),
+ y = st({ url: n, type: e, delta: t == null ? void 0 : t.delta, intent: h });
+ if (!y) {
+ d();
+ return;
+ }
+ const u = S,
+ g = T;
+ l(), (K = !0), ee && P.navigating.set(y.navigation), (te = c);
+ let f = h && (await at(h));
+ if (!f) {
+ if (re(n, U)) return await F(n);
+ f = await it(
+ n,
+ { id: null },
+ await $(new we(404, 'Not Found', `Not found: ${n.pathname}`), {
+ url: n,
+ params: {},
+ route: { id: null }
+ }),
+ 404
+ );
+ }
+ if (((n = (h == null ? void 0 : h.url) || n), te !== c))
+ return y.reject(new Error('navigation aborted')), !1;
+ if (f.type === 'redirect')
+ if (s >= 20)
+ f = await se({
+ status: 500,
+ error: await $(new Error('Redirect loop'), { url: n, params: {}, route: { id: null } }),
+ url: n,
+ route: { id: null }
+ });
+ else return nt(new URL(f.location, n).href, {}, s + 1, c), !1;
+ else f.props.page.status >= 400 && (await P.updated.check()) && (await Je(), await F(n));
+ if (
+ (Zt(),
+ ve(u),
+ et(g),
+ f.props.page.url.pathname !== n.pathname && (n.pathname = f.props.page.url.pathname),
+ (i = t ? t.state : i),
+ !t)
+ ) {
+ const w = o ? 0 : 1,
+ m = { [D]: (S += w), [M]: (T += w), [Me]: i };
+ (o ? history.replaceState : history.pushState).call(history, m, '', n), o || Jt(S, T);
+ }
+ if (((R = null), (f.props.page.state = i), ee)) {
+ (_ = f.state), f.props.page && (f.props.page.url = n);
+ const w = (await Promise.all(Xt.map((m) => m(y.navigation)))).filter(
+ (m) => typeof m == 'function'
+ );
+ if (w.length > 0) {
+ let m = function () {
+ j = j.filter((v) => !w.includes(v));
+ };
+ w.push(m), j.push(...w);
+ }
+ ke.$set(f.props), (Qe = !0);
+ } else rt(f, ge, !1);
+ const { activeElement: p } = document;
+ await dt();
+ const b = t ? t.scroll : a ? _e() : null;
+ if (Ne) {
+ const w = n.hash && document.getElementById(decodeURIComponent(n.hash.slice(1)));
+ b ? scrollTo(b.x, b.y) : w ? w.scrollIntoView() : scrollTo(0, 0);
+ }
+ const k = document.activeElement !== p && document.activeElement !== document.body;
+ !r && !k && sn(),
+ (Ne = !0),
+ f.props.page && (I = f.props.page),
+ (K = !1),
+ e === 'popstate' && tt(T),
+ y.fulfil(void 0),
+ j.forEach((w) => w(y.navigation)),
+ P.navigating.set(null);
+}
+async function it(e, n, t, r) {
+ return e.origin === W && e.pathname === location.pathname && !be
+ ? await se({ status: r, error: t, url: e, route: n })
+ : await F(e);
+}
+function nn() {
+ let e;
+ L.addEventListener('mousemove', (o) => {
+ const i = o.target;
+ clearTimeout(e),
+ (e = setTimeout(() => {
+ r(i, 2);
+ }, 20));
+ });
+ function n(o) {
+ o.defaultPrevented || r(o.composedPath()[0], 1);
+ }
+ L.addEventListener('mousedown', n), L.addEventListener('touchstart', n, { passive: !0 });
+ const t = new IntersectionObserver(
+ (o) => {
+ for (const i of o) i.isIntersecting && (de(i.target.href), t.unobserve(i.target));
+ },
+ { threshold: 0 }
+ );
+ function r(o, i) {
+ const s = We(o, L);
+ if (!s) return;
+ const { url: c, external: l, download: d } = he(s, U);
+ if (l || d) return;
+ const h = J(s),
+ y = c && _.url.pathname + _.url.search === c.pathname + c.search;
+ if (!h.reload && !y)
+ if (i <= h.preload_data) {
+ const u = Re(c, !1);
+ u && Qt(u);
+ } else i <= h.preload_code && de(c.pathname);
+ }
+ function a() {
+ t.disconnect();
+ for (const o of L.querySelectorAll('a')) {
+ const { url: i, external: s, download: c } = he(o, U);
+ if (s || c) continue;
+ const l = J(o);
+ l.reload ||
+ (l.preload_code === z.viewport && t.observe(o),
+ l.preload_code === z.eager && de(i.pathname));
+ }
+ }
+ j.push(a), a();
+}
+function $(e, n) {
+ if (e instanceof ae) return e.body;
+ const t = X(e),
+ r = Yt(e);
+ return V.hooks.handleError({ error: e, event: n, status: t, message: r }) ?? { message: r };
+}
+function rn(e, n = {}) {
+ return (e = He(e)), e.origin !== W ? Promise.reject(new Error('goto: invalid URL')) : nt(e, n, 0);
+}
+function an() {
+ var n;
+ (history.scrollRestoration = 'manual'),
+ addEventListener('beforeunload', (t) => {
+ let r = !1;
+ if ((Oe(), !K)) {
+ const a = ft(_, void 0, null, 'leave'),
+ o = {
+ ...a.navigation,
+ cancel: () => {
+ (r = !0), a.reject(new Error('navigation cancelled'));
+ }
+ };
+ Ze.forEach((i) => i(o));
+ }
+ r ? (t.preventDefault(), (t.returnValue = '')) : (history.scrollRestoration = 'auto');
+ }),
+ addEventListener('visibilitychange', () => {
+ document.visibilityState === 'hidden' && Oe();
+ }),
+ ((n = navigator.connection) != null && n.saveData) || nn(),
+ L.addEventListener('click', async (t) => {
+ if (
+ t.button ||
+ t.which !== 1 ||
+ t.metaKey ||
+ t.ctrlKey ||
+ t.shiftKey ||
+ t.altKey ||
+ t.defaultPrevented
+ )
+ return;
+ const r = We(t.composedPath()[0], L);
+ if (!r) return;
+ const { url: a, external: o, target: i, download: s } = he(r, U);
+ if (!a) return;
+ if (i === '_parent' || i === '_top') {
+ if (window.parent !== window) return;
+ } else if (i && i !== '_self') return;
+ const c = J(r);
+ if (
+ (!(r instanceof SVGAElement) &&
+ a.protocol !== location.protocol &&
+ !(a.protocol === 'https:' || a.protocol === 'http:')) ||
+ s
+ )
+ return;
+ const [d, h] = a.href.split('#'),
+ y = d === fe(location);
+ if (o || (c.reload && (!y || !h))) {
+ st({ url: a, type: 'link' }) ? (K = !0) : t.preventDefault();
+ return;
+ }
+ if (h !== void 0 && y) {
+ const [, u] = _.url.href.split('#');
+ if (u === h) {
+ if (
+ (t.preventDefault(),
+ h === '' || (h === 'top' && r.ownerDocument.getElementById('top') === null))
+ )
+ window.scrollTo({ top: 0 });
+ else {
+ const g = r.ownerDocument.getElementById(decodeURIComponent(h));
+ g && (g.scrollIntoView(), g.focus());
+ }
+ return;
+ }
+ if (((B = !0), ve(S), e(a), !c.replace_state)) return;
+ B = !1;
+ }
+ t.preventDefault(),
+ await new Promise((u) => {
+ requestAnimationFrame(() => {
+ setTimeout(u, 0);
+ }),
+ setTimeout(u, 100);
+ }),
+ Y({
+ type: 'link',
+ url: a,
+ keepfocus: c.keepfocus,
+ noscroll: c.noscroll,
+ replace_state: c.replace_state ?? a.href === location.href
+ });
+ }),
+ L.addEventListener('submit', (t) => {
+ if (t.defaultPrevented) return;
+ const r = HTMLFormElement.prototype.cloneNode.call(t.target),
+ a = t.submitter;
+ if (
+ ((a == null ? void 0 : a.formTarget) || r.target) === '_blank' ||
+ ((a == null ? void 0 : a.formMethod) || r.method) !== 'get'
+ )
+ return;
+ const s = new URL(
+ ((a == null ? void 0 : a.hasAttribute('formaction')) &&
+ (a == null ? void 0 : a.formAction)) ||
+ r.action
+ );
+ if (re(s, U)) return;
+ const c = t.target,
+ l = J(c);
+ if (l.reload) return;
+ t.preventDefault(), t.stopPropagation();
+ const d = new FormData(c),
+ h = a == null ? void 0 : a.getAttribute('name');
+ h && d.append(h, (a == null ? void 0 : a.getAttribute('value')) ?? ''),
+ (s.search = new URLSearchParams(d).toString()),
+ Y({
+ type: 'form',
+ url: s,
+ keepfocus: l.keepfocus,
+ noscroll: l.noscroll,
+ replace_state: l.replace_state ?? s.href === location.href
+ });
+ }),
+ addEventListener('popstate', async (t) => {
+ var r;
+ if ((r = t.state) != null && r[D]) {
+ const a = t.state[D];
+ if (((te = {}), a === S)) return;
+ const o = C[a],
+ i = t.state[Me] ?? {},
+ s = new URL(t.state[Ct] ?? location.href),
+ c = t.state[M],
+ l = fe(location) === fe(_.url);
+ if (c === T && (Qe || l)) {
+ e(s),
+ (C[S] = _e()),
+ o && scrollTo(o.x, o.y),
+ i !== I.state && ((I = { ...I, state: i }), ke.$set({ page: I })),
+ (S = a);
+ return;
+ }
+ const h = a - S;
+ await Y({
+ type: 'popstate',
+ url: s,
+ popped: { state: i, scroll: o, delta: h },
+ accept: () => {
+ (S = a), (T = c);
+ },
+ block: () => {
+ history.go(-h);
+ },
+ nav_token: te
+ });
+ } else if (!B) {
+ const a = new URL(location.href);
+ e(a);
+ }
+ }),
+ addEventListener('hashchange', () => {
+ B &&
+ ((B = !1), history.replaceState({ ...history.state, [D]: ++S, [M]: T }, '', location.href));
+ });
+ for (const t of document.querySelectorAll('link')) zt.has(t.rel) && (t.href = t.href);
+ addEventListener('pageshow', (t) => {
+ t.persisted && P.navigating.set(null);
+ });
+ function e(t) {
+ (_.url = t), P.page.set({ ...I, url: t }), P.page.notify();
+ }
+}
+async function on(
+ e,
+ { status: n = 200, error: t, node_ids: r, params: a, route: o, data: i, form: s }
+) {
+ be = !0;
+ const c = new URL(location.href);
+ ({ params: a = {}, route: o = { id: null } } = Re(c, !1) || {});
+ let l,
+ d = !0;
+ try {
+ const h = r.map(async (g, f) => {
+ const p = i[f];
+ return (
+ p != null && p.uses && (p.uses = lt(p.uses)),
+ Ee({
+ loader: V.nodes[g],
+ url: c,
+ params: a,
+ route: o,
+ parent: async () => {
+ const b = {};
+ for (let k = 0; k < f; k += 1) Object.assign(b, (await h[k]).data);
+ return b;
+ },
+ server_data_node: Se(p)
+ })
+ );
+ }),
+ y = await Promise.all(h),
+ u = oe.find(({ id: g }) => g === o.id);
+ if (u) {
+ const g = u.layouts;
+ for (let f = 0; f < g.length; f++) g[f] || y.splice(f, 0, void 0);
+ }
+ l = ne({ url: c, params: a, branch: y, status: n, error: t, form: s, route: u ?? null });
+ } catch (h) {
+ if (h instanceof ze) {
+ await F(new URL(h.location, location.href));
+ return;
+ }
+ (l = await se({
+ status: X(h),
+ error: await $(h, { url: c, params: a, route: o }),
+ url: c,
+ route: o
+ })),
+ (e.textContent = ''),
+ (d = !1);
+ }
+ l.props.page && (l.props.page.state = {}), rt(l, e, d);
+}
+async function ct(e, n) {
+ var a;
+ const t = new URL(e);
+ (t.pathname = vt(e.pathname)),
+ e.pathname.endsWith('/') && t.searchParams.append(Wt, '1'),
+ t.searchParams.append(Kt, n.map((o) => (o ? '1' : '0')).join(''));
+ const r = await Ve(t.href);
+ if (!r.ok) {
+ let o;
+ throw (
+ ((a = r.headers.get('content-type')) != null && a.includes('application/json')
+ ? (o = await r.json())
+ : r.status === 404
+ ? (o = 'Not Found')
+ : r.status === 500 && (o = 'Internal Error'),
+ new ae(r.status, o))
+ );
+ }
+ return new Promise(async (o) => {
+ var h;
+ const i = new Map(),
+ s = r.body.getReader(),
+ c = new TextDecoder();
+ function l(y) {
+ return Gt(y, {
+ Promise: (u) =>
+ new Promise((g, f) => {
+ i.set(u, { fulfil: g, reject: f });
+ })
+ });
+ }
+ let d = '';
+ for (;;) {
+ const { done: y, value: u } = await s.read();
+ if (y && !d) break;
+ for (
+ d +=
+ !u && d
+ ? `
+`
+ : c.decode(u, { stream: !0 });
+ ;
+
+ ) {
+ const g = d.indexOf(`
+`);
+ if (g === -1) break;
+ const f = JSON.parse(d.slice(0, g));
+ if (((d = d.slice(g + 1)), f.type === 'redirect')) return o(f);
+ if (f.type === 'data')
+ (h = f.nodes) == null ||
+ h.forEach((p) => {
+ (p == null ? void 0 : p.type) === 'data' &&
+ ((p.uses = lt(p.uses)), (p.data = l(p.data)));
+ }),
+ o(f);
+ else if (f.type === 'chunk') {
+ const { id: p, data: b, error: k } = f,
+ w = i.get(p);
+ i.delete(p), k ? w.reject(l(k)) : w.fulfil(l(b));
+ }
+ }
+ }
+ });
+}
+function lt(e) {
+ return {
+ dependencies: new Set((e == null ? void 0 : e.dependencies) ?? []),
+ params: new Set((e == null ? void 0 : e.params) ?? []),
+ parent: !!(e != null && e.parent),
+ route: !!(e != null && e.route),
+ url: !!(e != null && e.url),
+ search_params: new Set((e == null ? void 0 : e.search_params) ?? [])
+ };
+}
+function sn() {
+ const e = document.querySelector('[autofocus]');
+ if (e) e.focus();
+ else {
+ const n = document.body,
+ t = n.getAttribute('tabindex');
+ (n.tabIndex = -1),
+ n.focus({ preventScroll: !0, focusVisible: !1 }),
+ t !== null ? n.setAttribute('tabindex', t) : n.removeAttribute('tabindex');
+ const r = getSelection();
+ if (r && r.type !== 'None') {
+ const a = [];
+ for (let o = 0; o < r.rangeCount; o += 1) a.push(r.getRangeAt(o));
+ setTimeout(() => {
+ if (r.rangeCount === a.length) {
+ for (let o = 0; o < r.rangeCount; o += 1) {
+ const i = a[o],
+ s = r.getRangeAt(o);
+ if (
+ i.commonAncestorContainer !== s.commonAncestorContainer ||
+ i.startContainer !== s.startContainer ||
+ i.endContainer !== s.endContainer ||
+ i.startOffset !== s.startOffset ||
+ i.endOffset !== s.endOffset
+ )
+ return;
+ }
+ r.removeAllRanges();
+ }
+ });
+ }
+ }
+}
+function ft(e, n, t, r) {
+ var c, l;
+ let a, o;
+ const i = new Promise((d, h) => {
+ (a = d), (o = h);
+ });
+ return (
+ i.catch(() => {}),
+ {
+ navigation: {
+ from: {
+ params: e.params,
+ route: { id: ((c = e.route) == null ? void 0 : c.id) ?? null },
+ url: e.url
+ },
+ to: t && {
+ params: (n == null ? void 0 : n.params) ?? null,
+ route: { id: ((l = n == null ? void 0 : n.route) == null ? void 0 : l.id) ?? null },
+ url: t
+ },
+ willUnload: !n,
+ type: r,
+ complete: i
+ },
+ fulfil: a,
+ reject: o
+ }
+ );
+}
+export { ln as a, P as s };
//# sourceMappingURL=entry.Dy2RczJU.js.map
diff --git a/docs/_app/immutable/chunks/index-client.DkFXpaO1.js b/docs/_app/immutable/chunks/index-client.DkFXpaO1.js
index a8f3453..9866f49 100644
--- a/docs/_app/immutable/chunks/index-client.DkFXpaO1.js
+++ b/docs/_app/immutable/chunks/index-client.DkFXpaO1.js
@@ -1,2 +1,304 @@
-import{S as m,D as J,F as Q,G as E,H as W,I as h,J as N,U as o,k as P,z as q,K as X,L as p,M as ee,b as re,N as Y,a as j,O as U,h as C,C as ae,E as te,P as ne,Q as ie,B as fe,R as G,c as se,V as ue,W as le,j as D,X as _e,Y as ce,Z as de,_ as ve,$ as oe,a0 as ye,a1 as be,a2 as H,a3 as ge,a4 as k,a5 as he,a6 as Pe,a7 as Ee,o as K,a8 as Re,a9 as me,aa as we,i as F,g as Ie}from"./runtime.C33mUz_z.js";import{c as Se}from"./store.Cu2WRErR.js";function S(e,t=null,c){if(typeof e!="object"||e===null||m in e)return e;const b=p(e);if(b!==J&&b!==Q)return e;var f=new Map,u=ee(e),d=E(0);u&&f.set("length",E(e.length));var v;return new Proxy(e,{defineProperty(s,r,a){(!("value"in a)||a.configurable===!1||a.enumerable===!1||a.writable===!1)&&W();var n=f.get(r);return n===void 0?(n=E(a.value),f.set(r,n)):h(n,S(a.value,v)),!0},deleteProperty(s,r){var a=f.get(r);if(a===void 0)r in s&&f.set(r,E(o));else{if(u&&typeof r=="string"){var n=f.get("length"),i=Number(r);Number.isInteger(i)&&i=O.v&&h(O,T+1)}Z(d)}return!0},ownKeys(s){P(d);var r=Reflect.ownKeys(s).filter(i=>{var l=f.get(i);return l===void 0||l.v!==o});for(var[a,n]of f)n.v!==o&&!(a in s)&&r.push(a);return r},setPrototypeOf(){X()}})}function Z(e,t=1){h(e,e.v+t)}function $(e){return e!==null&&typeof e=="object"&&m in e?e[m]:e}function De(e,t){return Object.is($(e),$(t))}function Oe(e){throw new Error("lifecycle_outside_component")}function xe(e,t,c,b=null,f=!1){C&&ae();var u=e,d=null,v=null,s=null,r=f?te:0;re(()=>{if(s===(s=!!t()))return;let a=!1;if(C){const n=u.data===ne;s===n&&(u=ie(),fe(u),G(!1),a=!0)}s?(d?Y(d):d=j(()=>c(u)),v&&U(v,()=>{v=null})):(v?Y(v):b&&(v=j(()=>b(u))),d&&U(d,()=>{d=null})),a&&G(!0)},r),C&&(u=se)}function z(e,t){return e===t||(e==null?void 0:e[m])===t}function Le(e={},t,c,b){return ue(()=>{var f,u;return le(()=>{f=u,u=[],D(()=>{e!==c(...u)&&(t(e,...u),f&&z(c(...f),e)&&t(null,...f))})}),()=>{_e(()=>{u&&z(c(...u),e)&&t(null,...u)})}}),e}function V(e){for(var t=q,c=q;t!==null&&!(t.f&(ye|be));)t=t.parent;try{return H(t),e()}finally{H(c)}}function Ce(e,t,c,b){var M;var f=(c&ge)!==0,u=!k||(c&he)!==0,d=(c&Pe)!==0,v=(c&me)!==0,s=!1,r;d?[r,s]=Se(()=>e[t]):r=e[t];var a=m in e||Ee in e,n=((M=N(e,t))==null?void 0:M.set)??(a&&d&&t in e?_=>e[t]=_:void 0),i=b,l=!0,y=!1,R=()=>(y=!0,l&&(l=!1,v?i=D(b):i=b),i);r===void 0&&b!==void 0&&(n&&u&&ce(),r=R(),n&&n(r));var g;if(u)g=()=>{var _=e[t];return _===void 0?R():(l=!0,y=!1,_)};else{var O=V(()=>(f?K:Re)(()=>e[t]));O.f|=de,g=()=>{var _=P(O);return _!==void 0&&(i=void 0),_===void 0?i:_}}if(!(c&ve))return g;if(n){var T=e.$$legacy;return function(_,I){return arguments.length>0?((!u||!I||T||s)&&n(I?g():_),_):g()}}var w=!1,B=!1,x=we(r),A=V(()=>K(()=>{var _=g(),I=P(x);return w?(w=!1,B=!0,I):(B=!1,x.v=_)}));return f||(A.equals=oe),function(_,I){if(arguments.length>0){const L=I?P(A):u&&d?S(_):_;return A.equals(L)||(w=!0,h(x,L),y&&i!==void 0&&(i=L),D(()=>P(A))),_}return P(A)}}function Fe(e){F===null&&Oe(),k&&F.l!==null?Te(F).m.push(e):Ie(()=>{const t=D(e);if(typeof t=="function")return t})}function Te(e){var t=e.l;return t.u??(t.u={a:[],b:[],m:[]})}export{S as a,Le as b,De as c,xe as i,Fe as o,Ce as p};
+import {
+ S as m,
+ D as J,
+ F as Q,
+ G as E,
+ H as W,
+ I as h,
+ J as N,
+ U as o,
+ k as P,
+ z as q,
+ K as X,
+ L as p,
+ M as ee,
+ b as re,
+ N as Y,
+ a as j,
+ O as U,
+ h as C,
+ C as ae,
+ E as te,
+ P as ne,
+ Q as ie,
+ B as fe,
+ R as G,
+ c as se,
+ V as ue,
+ W as le,
+ j as D,
+ X as _e,
+ Y as ce,
+ Z as de,
+ _ as ve,
+ $ as oe,
+ a0 as ye,
+ a1 as be,
+ a2 as H,
+ a3 as ge,
+ a4 as k,
+ a5 as he,
+ a6 as Pe,
+ a7 as Ee,
+ o as K,
+ a8 as Re,
+ a9 as me,
+ aa as we,
+ i as F,
+ g as Ie
+} from './runtime.C33mUz_z.js';
+import { c as Se } from './store.Cu2WRErR.js';
+function S(e, t = null, c) {
+ if (typeof e != 'object' || e === null || m in e) return e;
+ const b = p(e);
+ if (b !== J && b !== Q) return e;
+ var f = new Map(),
+ u = ee(e),
+ d = E(0);
+ u && f.set('length', E(e.length));
+ var v;
+ return new Proxy(e, {
+ defineProperty(s, r, a) {
+ (!('value' in a) || a.configurable === !1 || a.enumerable === !1 || a.writable === !1) && W();
+ var n = f.get(r);
+ return n === void 0 ? ((n = E(a.value)), f.set(r, n)) : h(n, S(a.value, v)), !0;
+ },
+ deleteProperty(s, r) {
+ var a = f.get(r);
+ if (a === void 0) r in s && f.set(r, E(o));
+ else {
+ if (u && typeof r == 'string') {
+ var n = f.get('length'),
+ i = Number(r);
+ Number.isInteger(i) && i < n.v && h(n, i);
+ }
+ h(a, o), Z(d);
+ }
+ return !0;
+ },
+ get(s, r, a) {
+ var y;
+ if (r === m) return e;
+ var n = f.get(r),
+ i = r in s;
+ if (
+ (n === void 0 &&
+ (!i || ((y = N(s, r)) != null && y.writable)) &&
+ ((n = E(S(i ? s[r] : o, v))), f.set(r, n)),
+ n !== void 0)
+ ) {
+ var l = P(n);
+ return l === o ? void 0 : l;
+ }
+ return Reflect.get(s, r, a);
+ },
+ getOwnPropertyDescriptor(s, r) {
+ var a = Reflect.getOwnPropertyDescriptor(s, r);
+ if (a && 'value' in a) {
+ var n = f.get(r);
+ n && (a.value = P(n));
+ } else if (a === void 0) {
+ var i = f.get(r),
+ l = i == null ? void 0 : i.v;
+ if (i !== void 0 && l !== o)
+ return { enumerable: !0, configurable: !0, value: l, writable: !0 };
+ }
+ return a;
+ },
+ has(s, r) {
+ var l;
+ if (r === m) return !0;
+ var a = f.get(r),
+ n = (a !== void 0 && a.v !== o) || Reflect.has(s, r);
+ if (a !== void 0 || (q !== null && (!n || ((l = N(s, r)) != null && l.writable)))) {
+ a === void 0 && ((a = E(n ? S(s[r], v) : o)), f.set(r, a));
+ var i = P(a);
+ if (i === o) return !1;
+ }
+ return n;
+ },
+ set(s, r, a, n) {
+ var w;
+ var i = f.get(r),
+ l = r in s;
+ if (u && r === 'length')
+ for (var y = a; y < i.v; y += 1) {
+ var R = f.get(y + '');
+ R !== void 0 ? h(R, o) : y in s && ((R = E(o)), f.set(y + '', R));
+ }
+ i === void 0
+ ? (!l || ((w = N(s, r)) != null && w.writable)) &&
+ ((i = E(void 0)), h(i, S(a, v)), f.set(r, i))
+ : ((l = i.v !== o), h(i, S(a, v)));
+ var g = Reflect.getOwnPropertyDescriptor(s, r);
+ if ((g != null && g.set && g.set.call(n, a), !l)) {
+ if (u && typeof r == 'string') {
+ var O = f.get('length'),
+ T = Number(r);
+ Number.isInteger(T) && T >= O.v && h(O, T + 1);
+ }
+ Z(d);
+ }
+ return !0;
+ },
+ ownKeys(s) {
+ P(d);
+ var r = Reflect.ownKeys(s).filter((i) => {
+ var l = f.get(i);
+ return l === void 0 || l.v !== o;
+ });
+ for (var [a, n] of f) n.v !== o && !(a in s) && r.push(a);
+ return r;
+ },
+ setPrototypeOf() {
+ X();
+ }
+ });
+}
+function Z(e, t = 1) {
+ h(e, e.v + t);
+}
+function $(e) {
+ return e !== null && typeof e == 'object' && m in e ? e[m] : e;
+}
+function De(e, t) {
+ return Object.is($(e), $(t));
+}
+function Oe(e) {
+ throw new Error('lifecycle_outside_component');
+}
+function xe(e, t, c, b = null, f = !1) {
+ C && ae();
+ var u = e,
+ d = null,
+ v = null,
+ s = null,
+ r = f ? te : 0;
+ re(() => {
+ if (s === (s = !!t())) return;
+ let a = !1;
+ if (C) {
+ const n = u.data === ne;
+ s === n && ((u = ie()), fe(u), G(!1), (a = !0));
+ }
+ s
+ ? (d ? Y(d) : (d = j(() => c(u))),
+ v &&
+ U(v, () => {
+ v = null;
+ }))
+ : (v ? Y(v) : b && (v = j(() => b(u))),
+ d &&
+ U(d, () => {
+ d = null;
+ })),
+ a && G(!0);
+ }, r),
+ C && (u = se);
+}
+function z(e, t) {
+ return e === t || (e == null ? void 0 : e[m]) === t;
+}
+function Le(e = {}, t, c, b) {
+ return (
+ ue(() => {
+ var f, u;
+ return (
+ le(() => {
+ (f = u),
+ (u = []),
+ D(() => {
+ e !== c(...u) && (t(e, ...u), f && z(c(...f), e) && t(null, ...f));
+ });
+ }),
+ () => {
+ _e(() => {
+ u && z(c(...u), e) && t(null, ...u);
+ });
+ }
+ );
+ }),
+ e
+ );
+}
+function V(e) {
+ for (var t = q, c = q; t !== null && !(t.f & (ye | be)); ) t = t.parent;
+ try {
+ return H(t), e();
+ } finally {
+ H(c);
+ }
+}
+function Ce(e, t, c, b) {
+ var M;
+ var f = (c & ge) !== 0,
+ u = !k || (c & he) !== 0,
+ d = (c & Pe) !== 0,
+ v = (c & me) !== 0,
+ s = !1,
+ r;
+ d ? ([r, s] = Se(() => e[t])) : (r = e[t]);
+ var a = m in e || Ee in e,
+ n = ((M = N(e, t)) == null ? void 0 : M.set) ?? (a && d && t in e ? (_) => (e[t] = _) : void 0),
+ i = b,
+ l = !0,
+ y = !1,
+ R = () => ((y = !0), l && ((l = !1), v ? (i = D(b)) : (i = b)), i);
+ r === void 0 && b !== void 0 && (n && u && ce(), (r = R()), n && n(r));
+ var g;
+ if (u)
+ g = () => {
+ var _ = e[t];
+ return _ === void 0 ? R() : ((l = !0), (y = !1), _);
+ };
+ else {
+ var O = V(() => (f ? K : Re)(() => e[t]));
+ (O.f |= de),
+ (g = () => {
+ var _ = P(O);
+ return _ !== void 0 && (i = void 0), _ === void 0 ? i : _;
+ });
+ }
+ if (!(c & ve)) return g;
+ if (n) {
+ var T = e.$$legacy;
+ return function (_, I) {
+ return arguments.length > 0 ? ((!u || !I || T || s) && n(I ? g() : _), _) : g();
+ };
+ }
+ var w = !1,
+ B = !1,
+ x = we(r),
+ A = V(() =>
+ K(() => {
+ var _ = g(),
+ I = P(x);
+ return w ? ((w = !1), (B = !0), I) : ((B = !1), (x.v = _));
+ })
+ );
+ return (
+ f || (A.equals = oe),
+ function (_, I) {
+ if (arguments.length > 0) {
+ const L = I ? P(A) : u && d ? S(_) : _;
+ return A.equals(L) || ((w = !0), h(x, L), y && i !== void 0 && (i = L), D(() => P(A))), _;
+ }
+ return P(A);
+ }
+ );
+}
+function Fe(e) {
+ F === null && Oe(),
+ k && F.l !== null
+ ? Te(F).m.push(e)
+ : Ie(() => {
+ const t = D(e);
+ if (typeof t == 'function') return t;
+ });
+}
+function Te(e) {
+ var t = e.l;
+ return t.u ?? (t.u = { a: [], b: [], m: [] });
+}
+export { S as a, Le as b, De as c, xe as i, Fe as o, Ce as p };
//# sourceMappingURL=index-client.DkFXpaO1.js.map
diff --git a/docs/_app/immutable/chunks/runtime.C33mUz_z.js b/docs/_app/immutable/chunks/runtime.C33mUz_z.js
index 9f740fc..7e921aa 100644
--- a/docs/_app/immutable/chunks/runtime.C33mUz_z.js
+++ b/docs/_app/immutable/chunks/runtime.C33mUz_z.js
@@ -1,2 +1,978 @@
-var Ot=Array.isArray,Ct=Array.from,Nt=Object.defineProperty,vn=Object.getOwnPropertyDescriptor,Wn=Object.getOwnPropertyDescriptors,bt=Object.prototype,qt=Array.prototype,Xn=Object.getPrototypeOf;const Pt=()=>{};function Ft(n){return n()}function yn(n){for(var t=0;t{P(t)}}function bn(n){return q(wn,n,!1)}function ht(n){return q(Y,n,!0)}function Tr(n){return dt(n)}function dt(n,t=0){return q(Y|ln|t,n,!0)}function mr(n,t=!0){return q(Y|m,n,!0,t)}function qn(n){var t=n.teardown;if(t!==null){const r=on,e=o;En(!0),$(null);try{t.call(null)}finally{En(r),$(e)}}}function Pn(n){var t=n.deriveds;if(t!==null){n.deriveds=null;for(var r=0;r{P(n),t&&t()})}function yt(n,t){var r=n.length;if(r>0){var e=()=>--r||t();for(var s of n)s.out(e)}else t()}function Mn(n,t,r){if(!(n.f&N)){if(n.f^=N,n.transitions!==null)for(const a of n.transitions)(a.is_global||r)&&t.push(a);for(var e=n.first;e!==null;){var s=e.next,l=(e.f&Tn)!==0||(e.f&m)!==0;Mn(e,t,l?r:!1),e=s}}}function gr(n){Yn(n,!0)}function Yn(n,t){if(n.f&N){H(n)&&X(n),n.f^=N;for(var r=n.first;r!==null;){var e=r.next,s=(r.f&Tn)!==0||(r.f&m)!==0;Yn(r,s?t:!1),r=e}if(n.transitions!==null)for(const l of n.transitions)(l.is_global||t)&&l.in()}}const wt=typeof requestIdleCallback>"u"?n=>setTimeout(n,1):requestIdleCallback;let G=!1,K=!1,rn=[],en=[];function jn(){G=!1;const n=rn.slice();rn=[],yn(n)}function Hn(){K=!1;const n=en.slice();en=[],yn(n)}function kr(n){G||(G=!0,queueMicrotask(jn)),rn.push(n)}function Rr(n){K||(K=!0,wt(Hn)),en.push(n)}function Tt(){G&&jn(),K&&Hn()}const Bn=0,mt=1;let B=!1,U=Bn,L=!1,O=!1,on=!1;function dn(n){O=n}function En(n){on=n}let R=[],C=0;let o=null;function $(n){o=n}let u=null;function Z(n){u=n}let T=null;function At(n){T=n}let v=null,E=0,g=null;function gt(n){g=n}let Un=0,I=!1,f=null;function Vn(){return++Un}function fn(){return!W||f!==null&&f.l===null}function H(n){var a,i;var t=n.f;if(t&k)return!0;if(t&j){var r=n.deps,e=(t&S)!==0;if(r!==null){var s;if(t&V){for(s=0;sn.version)return!0}}e||A(n,h)}return!1}function kt(n,t){for(var r=t;r!==null;){if(r.f&Q)try{r.fn(n);return}catch{r.f^=Q}r=r.parent}throw B=!1,n}function Rt(n){return(n.f&b)===0&&(n.parent===null||(n.parent.f&Q)===0)}function _n(n,t,r,e){if(B){if(r===null&&(B=!1),Rt(t))throw n;return}r!==null&&(B=!0);{kt(n,t);return}}function Gn(n){var cn;var t=v,r=E,e=g,s=o,l=I,a=T,i=f,p=n.f;v=null,E=0,g=null,o=p&(m|z)?null:n,I=!O&&(p&S)!==0,T=null,f=n.ctx;try{var d=(0,n.fn)(),_=n.deps;if(v!==null){var c;if(M(n,E),_!==null&&E>0)for(_.length=E+v.length,c=0;c1e3&&(C=0,st()),C++}function $n(n){var t=n.length;if(t!==0){Kn();var r=O;O=!0;try{for(var e=0;e1001)return;const n=R;R=[],$n(n),L||(C=0)}function J(n){U===Bn&&(L||(L=!0,queueMicrotask(Dt)));for(var t=n;t.parent!==null;){t=t.parent;var r=t.f;if(r&(z|m)){if(!(r&h))return;t.f^=h}}R.push(t)}function Zn(n,t){var r=n.first,e=[];n:for(;r!==null;){var s=r.f,l=(s&m)!==0,a=l&&(s&h)!==0,i=r.next;if(!a&&!(s&N))if(s&Y){if(l)r.f^=h;else try{H(r)&&X(r)}catch(c){_n(c,r,null,r.ctx)}var p=r.first;if(p!==null){r=p;continue}}else s&wn&&e.push(r);if(i===null){let c=r.parent;for(;c!==null;){if(n===c)break n;var d=c.next;if(d!==null){r=d;continue n}c=c.parent}}r=i}for(var _=0;_0||s.length>0)&&zn(),C=0,e}finally{U=t,R=r}}async function xr(){await Promise.resolve(),zn()}function Sr(n){var _;var t=n.f,r=(t&y)!==0;if(r&&t&b){var e=On(n);return un(n),e}if(o!==null){T!==null&&T.includes(n)&<();var s=o.deps;v===null&&s!==null&&s[E]===n?E++:v===null?v=[n]:v.push(n),g!==null&&u!==null&&u.f&h&&!(u.f&m)&&g.includes(n)&&(A(u,k),J(u))}else if(r&&n.deps===null)for(var l=n,a=l.parent,i=l;a!==null;)if(a.f&y){var p=a;i=p,a=p.parent}else{var d=a;(_=d.deriveds)!=null&&_.includes(i)||(d.deriveds??(d.deriveds=[])).push(i);break}return r&&(l=n,H(l)&&Cn(l)),n.v}function Dr(n){const t=o;try{return o=null,n()}finally{o=t}}const It=~(k|j|h);function A(n,t){n.f=n.f&It|t}function Ir(n,t=!1,r){f={p:f,c:null,e:null,m:!1,s:n,x:null,l:null},W&&!t&&(f.l={s:null,u:null,r1:[],r2:an(!1)})}function Or(n){const t=f;if(t!==null){const a=t.e;if(a!==null){var r=u,e=o;t.e=null;try{for(var s=0;s {};
+function Ft(n) {
+ return n();
+}
+function yn(n) {
+ for (var t = 0; t < n.length; t++) n[t]();
+}
+const y = 2,
+ wn = 4,
+ Y = 8,
+ ln = 16,
+ m = 32,
+ z = 64,
+ Q = 128,
+ S = 256,
+ V = 512,
+ h = 1024,
+ k = 2048,
+ j = 4096,
+ N = 8192,
+ b = 16384,
+ Jn = 32768,
+ Tn = 65536,
+ Lt = 1 << 17,
+ Qn = 1 << 19,
+ mn = 1 << 20,
+ pn = Symbol('$state'),
+ Mt = Symbol('legacy props'),
+ Yt = Symbol('');
+function An(n) {
+ return n === this.v;
+}
+function nt(n, t) {
+ return n != n
+ ? t == t
+ : n !== t || (n !== null && typeof n == 'object') || typeof n == 'function';
+}
+function gn(n) {
+ return !nt(n, this.v);
+}
+function tt(n) {
+ throw new Error('effect_in_teardown');
+}
+function rt() {
+ throw new Error('effect_in_unowned_derived');
+}
+function et(n) {
+ throw new Error('effect_orphan');
+}
+function st() {
+ throw new Error('effect_update_depth_exceeded');
+}
+function jt() {
+ throw new Error('hydration_failed');
+}
+function Ht(n) {
+ throw new Error('props_invalid_value');
+}
+function Bt() {
+ throw new Error('state_descriptors_fixed');
+}
+function Ut() {
+ throw new Error('state_prototype_fixed');
+}
+function lt() {
+ throw new Error('state_unsafe_local_read');
+}
+function at() {
+ throw new Error('state_unsafe_mutation');
+}
+let W = !1;
+function Vt() {
+ W = !0;
+}
+function an(n) {
+ return { f: 0, v: n, reactions: null, equals: An, version: 0 };
+}
+function Gt(n) {
+ return ut(an(n));
+}
+function Kt(n, t = !1) {
+ var e;
+ const r = an(n);
+ return (
+ t || (r.equals = gn), W && f !== null && f.l !== null && ((e = f.l).s ?? (e.s = [])).push(r), r
+ );
+}
+function ut(n) {
+ return o !== null && o.f & y && (T === null ? At([n]) : T.push(n)), n;
+}
+function $t(n, t) {
+ return o !== null && fn() && o.f & (y | ln) && (T === null || !T.includes(n)) && at(), ot(n, t);
+}
+function ot(n, t) {
+ return (
+ n.equals(t) ||
+ ((n.v = t),
+ (n.version = Vn()),
+ kn(n, k),
+ fn() &&
+ u !== null &&
+ u.f & h &&
+ !(u.f & m) &&
+ (v !== null && v.includes(n) ? (A(u, k), J(u)) : g === null ? gt([n]) : g.push(n))),
+ t
+ );
+}
+function kn(n, t) {
+ var r = n.reactions;
+ if (r !== null)
+ for (var e = fn(), s = r.length, l = 0; l < s; l++) {
+ var a = r[l],
+ i = a.f;
+ i & k || (!e && a === u) || (A(a, t), i & (h | S) && (i & y ? kn(a, j) : J(a)));
+ }
+}
+const Zt = 1,
+ zt = 2,
+ Wt = 16,
+ Xt = 1,
+ Jt = 2,
+ Qt = 4,
+ nr = 8,
+ tr = 16,
+ rr = 1,
+ er = 2,
+ it = '[',
+ ft = '[!',
+ _t = ']',
+ Rn = {},
+ sr = Symbol();
+function xn(n) {
+ console.warn('hydration_mismatch');
+}
+let x = !1;
+function lr(n) {
+ x = n;
+}
+let w;
+function F(n) {
+ if (n === null) throw (xn(), Rn);
+ return (w = n);
+}
+function ar() {
+ return F(D(w));
+}
+function ur(n) {
+ if (x) {
+ if (D(w) !== null) throw (xn(), Rn);
+ w = n;
+ }
+}
+function or(n = 1) {
+ if (x) {
+ for (var t = n, r = w; t--; ) r = D(r);
+ w = r;
+ }
+}
+function ir() {
+ for (var n = 0, t = w; ; ) {
+ if (t.nodeType === 8) {
+ var r = t.data;
+ if (r === _t) {
+ if (n === 0) return t;
+ n -= 1;
+ } else (r === it || r === ft) && (n += 1);
+ }
+ var e = D(t);
+ t.remove(), (t = e);
+ }
+}
+var hn, Sn, Dn;
+function fr() {
+ if (hn === void 0) {
+ hn = window;
+ var n = Element.prototype,
+ t = Node.prototype;
+ (Sn = vn(t, 'firstChild').get),
+ (Dn = vn(t, 'nextSibling').get),
+ (n.__click = void 0),
+ (n.__className = ''),
+ (n.__attributes = null),
+ (n.__styles = null),
+ (n.__e = void 0),
+ (Text.prototype.__t = void 0);
+ }
+}
+function nn(n = '') {
+ return document.createTextNode(n);
+}
+function tn(n) {
+ return Sn.call(n);
+}
+function D(n) {
+ return Dn.call(n);
+}
+function _r(n, t) {
+ if (!x) return tn(n);
+ var r = tn(w);
+ if (r === null) r = w.appendChild(nn());
+ else if (t && r.nodeType !== 3) {
+ var e = nn();
+ return r == null || r.before(e), F(e), e;
+ }
+ return F(r), r;
+}
+function cr(n, t) {
+ if (!x) {
+ var r = tn(n);
+ return r instanceof Comment && r.data === '' ? D(r) : r;
+ }
+ return w;
+}
+function vr(n, t = 1, r = !1) {
+ let e = x ? w : n;
+ for (var s; t--; ) (s = e), (e = D(e));
+ if (!x) return e;
+ var l = e == null ? void 0 : e.nodeType;
+ if (r && l !== 3) {
+ var a = nn();
+ return e === null ? s == null || s.after(a) : e.before(a), F(a), a;
+ }
+ return F(e), e;
+}
+function pr(n) {
+ n.textContent = '';
+}
+function ct(n) {
+ var t = y | k;
+ u === null ? (t |= S) : (u.f |= mn);
+ var r = o !== null && o.f & y ? o : null;
+ const e = {
+ children: null,
+ ctx: f,
+ deps: null,
+ equals: An,
+ f: t,
+ fn: n,
+ reactions: null,
+ v: null,
+ version: 0,
+ parent: r ?? u
+ };
+ return r !== null && (r.children ?? (r.children = [])).push(e), e;
+}
+function hr(n) {
+ const t = ct(n);
+ return (t.equals = gn), t;
+}
+function In(n) {
+ var t = n.children;
+ if (t !== null) {
+ n.children = null;
+ for (var r = 0; r < t.length; r += 1) {
+ var e = t[r];
+ e.f & y ? un(e) : P(e);
+ }
+ }
+}
+function vt(n) {
+ for (var t = n.parent; t !== null; ) {
+ if (!(t.f & y)) return t;
+ t = t.parent;
+ }
+ return null;
+}
+function On(n) {
+ var t,
+ r = u;
+ Z(vt(n));
+ try {
+ In(n), (t = Gn(n));
+ } finally {
+ Z(r);
+ }
+ return t;
+}
+function Cn(n) {
+ var t = On(n),
+ r = (I || n.f & S) && n.deps !== null ? j : h;
+ A(n, r), n.equals(t) || ((n.v = t), (n.version = Vn()));
+}
+function un(n) {
+ In(n), M(n, 0), A(n, b), (n.v = n.children = n.deps = n.ctx = n.reactions = null);
+}
+function Nn(n) {
+ u === null && o === null && et(), o !== null && o.f & S && rt(), on && tt();
+}
+function pt(n, t) {
+ var r = t.last;
+ r === null ? (t.last = t.first = n) : ((r.next = n), (n.prev = r), (t.last = n));
+}
+function q(n, t, r, e = !0) {
+ var s = (n & z) !== 0,
+ l = u,
+ a = {
+ ctx: f,
+ deps: null,
+ deriveds: null,
+ nodes_start: null,
+ nodes_end: null,
+ f: n | k,
+ first: null,
+ fn: t,
+ last: null,
+ next: null,
+ parent: s ? null : l,
+ prev: null,
+ teardown: null,
+ transitions: null,
+ version: 0
+ };
+ if (r) {
+ var i = O;
+ try {
+ dn(!0), X(a), (a.f |= Jn);
+ } catch (_) {
+ throw (P(a), _);
+ } finally {
+ dn(i);
+ }
+ } else t !== null && J(a);
+ var p =
+ r &&
+ a.deps === null &&
+ a.first === null &&
+ a.nodes_start === null &&
+ a.teardown === null &&
+ (a.f & mn) === 0;
+ if (!p && !s && e && (l !== null && pt(a, l), o !== null && o.f & y)) {
+ var d = o;
+ (d.children ?? (d.children = [])).push(a);
+ }
+ return a;
+}
+function dr(n) {
+ const t = q(Y, null, !1);
+ return A(t, h), (t.teardown = n), t;
+}
+function Er(n) {
+ Nn();
+ var t = u !== null && (u.f & m) !== 0 && f !== null && !f.m;
+ if (t) {
+ var r = f;
+ (r.e ?? (r.e = [])).push({ fn: n, effect: u, reaction: o });
+ } else {
+ var e = bn(n);
+ return e;
+ }
+}
+function yr(n) {
+ return Nn(), ht(n);
+}
+function wr(n) {
+ const t = q(z, n, !0);
+ return () => {
+ P(t);
+ };
+}
+function bn(n) {
+ return q(wn, n, !1);
+}
+function ht(n) {
+ return q(Y, n, !0);
+}
+function Tr(n) {
+ return dt(n);
+}
+function dt(n, t = 0) {
+ return q(Y | ln | t, n, !0);
+}
+function mr(n, t = !0) {
+ return q(Y | m, n, !0, t);
+}
+function qn(n) {
+ var t = n.teardown;
+ if (t !== null) {
+ const r = on,
+ e = o;
+ En(!0), $(null);
+ try {
+ t.call(null);
+ } finally {
+ En(r), $(e);
+ }
+ }
+}
+function Pn(n) {
+ var t = n.deriveds;
+ if (t !== null) {
+ n.deriveds = null;
+ for (var r = 0; r < t.length; r += 1) un(t[r]);
+ }
+}
+function Fn(n, t = !1) {
+ var r = n.first;
+ for (n.first = n.last = null; r !== null; ) {
+ var e = r.next;
+ P(r, t), (r = e);
+ }
+}
+function Et(n) {
+ for (var t = n.first; t !== null; ) {
+ var r = t.next;
+ t.f & m || P(t), (t = r);
+ }
+}
+function P(n, t = !0) {
+ var r = !1;
+ if ((t || n.f & Qn) && n.nodes_start !== null) {
+ for (var e = n.nodes_start, s = n.nodes_end; e !== null; ) {
+ var l = e === s ? null : D(e);
+ e.remove(), (e = l);
+ }
+ r = !0;
+ }
+ Fn(n, t && !r), Pn(n), M(n, 0), A(n, b);
+ var a = n.transitions;
+ if (a !== null) for (const p of a) p.stop();
+ qn(n);
+ var i = n.parent;
+ i !== null && i.first !== null && Ln(n),
+ (n.next = n.prev = n.teardown = n.ctx = n.deps = n.fn = n.nodes_start = n.nodes_end = null);
+}
+function Ln(n) {
+ var t = n.parent,
+ r = n.prev,
+ e = n.next;
+ r !== null && (r.next = e),
+ e !== null && (e.prev = r),
+ t !== null && (t.first === n && (t.first = e), t.last === n && (t.last = r));
+}
+function Ar(n, t) {
+ var r = [];
+ Mn(n, r, !0),
+ yt(r, () => {
+ P(n), t && t();
+ });
+}
+function yt(n, t) {
+ var r = n.length;
+ if (r > 0) {
+ var e = () => --r || t();
+ for (var s of n) s.out(e);
+ } else t();
+}
+function Mn(n, t, r) {
+ if (!(n.f & N)) {
+ if (((n.f ^= N), n.transitions !== null))
+ for (const a of n.transitions) (a.is_global || r) && t.push(a);
+ for (var e = n.first; e !== null; ) {
+ var s = e.next,
+ l = (e.f & Tn) !== 0 || (e.f & m) !== 0;
+ Mn(e, t, l ? r : !1), (e = s);
+ }
+ }
+}
+function gr(n) {
+ Yn(n, !0);
+}
+function Yn(n, t) {
+ if (n.f & N) {
+ H(n) && X(n), (n.f ^= N);
+ for (var r = n.first; r !== null; ) {
+ var e = r.next,
+ s = (r.f & Tn) !== 0 || (r.f & m) !== 0;
+ Yn(r, s ? t : !1), (r = e);
+ }
+ if (n.transitions !== null) for (const l of n.transitions) (l.is_global || t) && l.in();
+ }
+}
+const wt = typeof requestIdleCallback > 'u' ? (n) => setTimeout(n, 1) : requestIdleCallback;
+let G = !1,
+ K = !1,
+ rn = [],
+ en = [];
+function jn() {
+ G = !1;
+ const n = rn.slice();
+ (rn = []), yn(n);
+}
+function Hn() {
+ K = !1;
+ const n = en.slice();
+ (en = []), yn(n);
+}
+function kr(n) {
+ G || ((G = !0), queueMicrotask(jn)), rn.push(n);
+}
+function Rr(n) {
+ K || ((K = !0), wt(Hn)), en.push(n);
+}
+function Tt() {
+ G && jn(), K && Hn();
+}
+const Bn = 0,
+ mt = 1;
+let B = !1,
+ U = Bn,
+ L = !1,
+ O = !1,
+ on = !1;
+function dn(n) {
+ O = n;
+}
+function En(n) {
+ on = n;
+}
+let R = [],
+ C = 0;
+let o = null;
+function $(n) {
+ o = n;
+}
+let u = null;
+function Z(n) {
+ u = n;
+}
+let T = null;
+function At(n) {
+ T = n;
+}
+let v = null,
+ E = 0,
+ g = null;
+function gt(n) {
+ g = n;
+}
+let Un = 0,
+ I = !1,
+ f = null;
+function Vn() {
+ return ++Un;
+}
+function fn() {
+ return !W || (f !== null && f.l === null);
+}
+function H(n) {
+ var a, i;
+ var t = n.f;
+ if (t & k) return !0;
+ if (t & j) {
+ var r = n.deps,
+ e = (t & S) !== 0;
+ if (r !== null) {
+ var s;
+ if (t & V) {
+ for (s = 0; s < r.length; s++) ((a = r[s]).reactions ?? (a.reactions = [])).push(n);
+ n.f ^= V;
+ }
+ for (s = 0; s < r.length; s++) {
+ var l = r[s];
+ if (
+ (H(l) && Cn(l),
+ e &&
+ u !== null &&
+ !I &&
+ !((i = l == null ? void 0 : l.reactions) != null && i.includes(n)) &&
+ (l.reactions ?? (l.reactions = [])).push(n),
+ l.version > n.version)
+ )
+ return !0;
+ }
+ }
+ e || A(n, h);
+ }
+ return !1;
+}
+function kt(n, t) {
+ for (var r = t; r !== null; ) {
+ if (r.f & Q)
+ try {
+ r.fn(n);
+ return;
+ } catch {
+ r.f ^= Q;
+ }
+ r = r.parent;
+ }
+ throw ((B = !1), n);
+}
+function Rt(n) {
+ return (n.f & b) === 0 && (n.parent === null || (n.parent.f & Q) === 0);
+}
+function _n(n, t, r, e) {
+ if (B) {
+ if ((r === null && (B = !1), Rt(t))) throw n;
+ return;
+ }
+ r !== null && (B = !0);
+ {
+ kt(n, t);
+ return;
+ }
+}
+function Gn(n) {
+ var cn;
+ var t = v,
+ r = E,
+ e = g,
+ s = o,
+ l = I,
+ a = T,
+ i = f,
+ p = n.f;
+ (v = null),
+ (E = 0),
+ (g = null),
+ (o = p & (m | z) ? null : n),
+ (I = !O && (p & S) !== 0),
+ (T = null),
+ (f = n.ctx);
+ try {
+ var d = (0, n.fn)(),
+ _ = n.deps;
+ if (v !== null) {
+ var c;
+ if ((M(n, E), _ !== null && E > 0))
+ for (_.length = E + v.length, c = 0; c < v.length; c++) _[E + c] = v[c];
+ else n.deps = _ = v;
+ if (!I) for (c = E; c < _.length; c++) ((cn = _[c]).reactions ?? (cn.reactions = [])).push(n);
+ } else _ !== null && E < _.length && (M(n, E), (_.length = E));
+ return d;
+ } finally {
+ (v = t), (E = r), (g = e), (o = s), (I = l), (T = a), (f = i);
+ }
+}
+function xt(n, t) {
+ let r = t.reactions;
+ if (r !== null) {
+ var e = r.indexOf(n);
+ if (e !== -1) {
+ var s = r.length - 1;
+ s === 0 ? (r = t.reactions = null) : ((r[e] = r[s]), r.pop());
+ }
+ }
+ r === null &&
+ t.f & y &&
+ (v === null || !v.includes(t)) &&
+ (A(t, j), t.f & (S | V) || (t.f ^= V), M(t, 0));
+}
+function M(n, t) {
+ var r = n.deps;
+ if (r !== null) for (var e = t; e < r.length; e++) xt(n, r[e]);
+}
+function X(n) {
+ var t = n.f;
+ if (!(t & b)) {
+ A(n, h);
+ var r = u,
+ e = f;
+ u = n;
+ try {
+ t & ln ? Et(n) : Fn(n), Pn(n), qn(n);
+ var s = Gn(n);
+ (n.teardown = typeof s == 'function' ? s : null), (n.version = Un);
+ } catch (l) {
+ _n(l, n, r, e || n.ctx);
+ } finally {
+ u = r;
+ }
+ }
+}
+function Kn() {
+ C > 1e3 && ((C = 0), st()), C++;
+}
+function $n(n) {
+ var t = n.length;
+ if (t !== 0) {
+ Kn();
+ var r = O;
+ O = !0;
+ try {
+ for (var e = 0; e < t; e++) {
+ var s = n[e];
+ s.f & h || (s.f ^= h);
+ var l = [];
+ Zn(s, l), St(l);
+ }
+ } finally {
+ O = r;
+ }
+ }
+}
+function St(n) {
+ var t = n.length;
+ if (t !== 0)
+ for (var r = 0; r < t; r++) {
+ var e = n[r];
+ if (!(e.f & (b | N)))
+ try {
+ H(e) &&
+ (X(e),
+ e.deps === null &&
+ e.first === null &&
+ e.nodes_start === null &&
+ (e.teardown === null ? Ln(e) : (e.fn = null)));
+ } catch (s) {
+ _n(s, e, null, e.ctx);
+ }
+ }
+}
+function Dt() {
+ if (((L = !1), C > 1001)) return;
+ const n = R;
+ (R = []), $n(n), L || (C = 0);
+}
+function J(n) {
+ U === Bn && (L || ((L = !0), queueMicrotask(Dt)));
+ for (var t = n; t.parent !== null; ) {
+ t = t.parent;
+ var r = t.f;
+ if (r & (z | m)) {
+ if (!(r & h)) return;
+ t.f ^= h;
+ }
+ }
+ R.push(t);
+}
+function Zn(n, t) {
+ var r = n.first,
+ e = [];
+ n: for (; r !== null; ) {
+ var s = r.f,
+ l = (s & m) !== 0,
+ a = l && (s & h) !== 0,
+ i = r.next;
+ if (!a && !(s & N))
+ if (s & Y) {
+ if (l) r.f ^= h;
+ else
+ try {
+ H(r) && X(r);
+ } catch (c) {
+ _n(c, r, null, r.ctx);
+ }
+ var p = r.first;
+ if (p !== null) {
+ r = p;
+ continue;
+ }
+ } else s & wn && e.push(r);
+ if (i === null) {
+ let c = r.parent;
+ for (; c !== null; ) {
+ if (n === c) break n;
+ var d = c.next;
+ if (d !== null) {
+ r = d;
+ continue n;
+ }
+ c = c.parent;
+ }
+ }
+ r = i;
+ }
+ for (var _ = 0; _ < e.length; _++) (p = e[_]), t.push(p), Zn(p, t);
+}
+function zn(n) {
+ var t = U,
+ r = R;
+ try {
+ Kn();
+ const s = [];
+ (U = mt), (R = s), (L = !1), $n(r);
+ var e = n == null ? void 0 : n();
+ return Tt(), (R.length > 0 || s.length > 0) && zn(), (C = 0), e;
+ } finally {
+ (U = t), (R = r);
+ }
+}
+async function xr() {
+ await Promise.resolve(), zn();
+}
+function Sr(n) {
+ var _;
+ var t = n.f,
+ r = (t & y) !== 0;
+ if (r && t & b) {
+ var e = On(n);
+ return un(n), e;
+ }
+ if (o !== null) {
+ T !== null && T.includes(n) && lt();
+ var s = o.deps;
+ v === null && s !== null && s[E] === n ? E++ : v === null ? (v = [n]) : v.push(n),
+ g !== null && u !== null && u.f & h && !(u.f & m) && g.includes(n) && (A(u, k), J(u));
+ } else if (r && n.deps === null)
+ for (var l = n, a = l.parent, i = l; a !== null; )
+ if (a.f & y) {
+ var p = a;
+ (i = p), (a = p.parent);
+ } else {
+ var d = a;
+ ((_ = d.deriveds) != null && _.includes(i)) || (d.deriveds ?? (d.deriveds = [])).push(i);
+ break;
+ }
+ return r && ((l = n), H(l) && Cn(l)), n.v;
+}
+function Dr(n) {
+ const t = o;
+ try {
+ return (o = null), n();
+ } finally {
+ o = t;
+ }
+}
+const It = ~(k | j | h);
+function A(n, t) {
+ n.f = (n.f & It) | t;
+}
+function Ir(n, t = !1, r) {
+ (f = { p: f, c: null, e: null, m: !1, s: n, x: null, l: null }),
+ W && !t && (f.l = { s: null, u: null, r1: [], r2: an(!1) });
+}
+function Or(n) {
+ const t = f;
+ if (t !== null) {
+ const a = t.e;
+ if (a !== null) {
+ var r = u,
+ e = o;
+ t.e = null;
+ try {
+ for (var s = 0; s < a.length; s++) {
+ var l = a[s];
+ Z(l.effect), $(l.reaction), bn(l.fn);
+ }
+ } finally {
+ Z(r), $(e);
+ }
+ }
+ (f = t.p), (t.m = !0);
+ }
+ return {};
+}
+function Cr(n) {
+ if (!(typeof n != 'object' || !n || n instanceof EventTarget)) {
+ if (pn in n) sn(n);
+ else if (!Array.isArray(n))
+ for (let t in n) {
+ const r = n[t];
+ typeof r == 'object' && r && pn in r && sn(r);
+ }
+ }
+}
+function sn(n, t = new Set()) {
+ if (typeof n == 'object' && n !== null && !(n instanceof EventTarget) && !t.has(n)) {
+ t.add(n), n instanceof Date && n.getTime();
+ for (let e in n)
+ try {
+ sn(n[e], t);
+ } catch {}
+ const r = Xn(n);
+ if (
+ r !== Object.prototype &&
+ r !== Array.prototype &&
+ r !== Map.prototype &&
+ r !== Set.prototype &&
+ r !== Date.prototype
+ ) {
+ const e = Wn(r);
+ for (let s in e) {
+ const l = e[s].get;
+ if (l)
+ try {
+ l.call(n);
+ } catch {}
+ }
+ }
+ }
+}
+export {
+ gn as $,
+ er as A,
+ F as B,
+ ar as C,
+ bt as D,
+ Tn as E,
+ qt as F,
+ an as G,
+ Bt as H,
+ $t as I,
+ vn as J,
+ Ut as K,
+ Xn as L,
+ Ot as M,
+ gr as N,
+ Ar as O,
+ ft as P,
+ ir as Q,
+ lr as R,
+ pn as S,
+ rr as T,
+ sr as U,
+ bn as V,
+ ht as W,
+ kr as X,
+ Ht as Y,
+ Lt as Z,
+ Qt as _,
+ mr as a,
+ m as a0,
+ z as a1,
+ Z as a2,
+ Xt as a3,
+ W as a4,
+ Jt as a5,
+ nr as a6,
+ Mt as a7,
+ hr as a8,
+ tr as a9,
+ Yt as aA,
+ Wn as aB,
+ fn as aC,
+ or as aD,
+ nt as aE,
+ Kt as aa,
+ zn as ab,
+ Nt as ac,
+ xr as ad,
+ Gt as ae,
+ $ as af,
+ o as ag,
+ dr as ah,
+ fr as ai,
+ it as aj,
+ D as ak,
+ Rn as al,
+ _t as am,
+ xn as an,
+ jt as ao,
+ pr as ap,
+ Ct as aq,
+ wr as ar,
+ N as as,
+ ot as at,
+ Mn as au,
+ yt as av,
+ zt as aw,
+ Zt as ax,
+ Wt as ay,
+ Rr as az,
+ dt as b,
+ w as c,
+ P as d,
+ Or as e,
+ cr as f,
+ Er as g,
+ x as h,
+ f as i,
+ Dr as j,
+ Sr as k,
+ Ft as l,
+ Cr as m,
+ Pt as n,
+ ct as o,
+ Ir as p,
+ Vt as q,
+ yn as r,
+ _r as s,
+ Tr as t,
+ yr as u,
+ ur as v,
+ vr as w,
+ nn as x,
+ tn as y,
+ u as z
+};
//# sourceMappingURL=runtime.C33mUz_z.js.map
diff --git a/docs/_app/immutable/chunks/store.Cu2WRErR.js b/docs/_app/immutable/chunks/store.Cu2WRErR.js
index 10c857e..00c1cc7 100644
--- a/docs/_app/immutable/chunks/store.Cu2WRErR.js
+++ b/docs/_app/immutable/chunks/store.Cu2WRErR.js
@@ -1,2 +1,291 @@
-import{af as E,a2 as T,ag as P,z as A,ah as V,X as W,ac as Y,M as $,ai as R,y as z,aj as X,ak as x,al as m,R as y,B as I,C as F,c as b,am as G,an as J,ao as K,ap as Q,aq as U,ar as Z,x as ee,a as re,p as te,h as S,e as ae,i as ne,n as N,j as se,aa as ie,k as ue,I as oe}from"./runtime.C33mUz_z.js";import{d as fe}from"./disclose-version.BmYXDLn2.js";let M=!1;function ce(){M||(M=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var r;if(!e.defaultPrevented)for(const a of e.target.elements)(r=a.__on_r)==null||r.call(a)})},{capture:!0}))}function j(e){var r=P,a=A;E(null),T(null);try{return e()}finally{E(r),T(a)}}function ge(e,r,a,n=a){e.addEventListener(r,()=>j(a));const s=e.__on_r;s?e.__on_r=()=>{s(),n()}:e.__on_r=n,ce()}const q=new Set,k=new Set;function le(e,r,a,n){function s(t){if(n.capture||p.call(r,t),!t.cancelBubble)return j(()=>a.call(this,t))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?W(()=>{r.addEventListener(e,s,n)}):r.addEventListener(e,s,n),s}function ye(e,r,a,n,s){var t={capture:n,passive:s},o=le(e,r,a,t);(r===document.body||r===window||r===document)&&V(()=>{r.removeEventListener(e,o,t)})}function we(e){for(var r=0;r{throw g});throw i}}finally{e.__root=r,delete e.currentTarget,E(L),T(f)}}}const de=["touchstart","touchmove"];function _e(e){return de.includes(e)}function Ee(e,r){var a=r==null?"":typeof r=="object"?r+"":r;a!==(e.__t??(e.__t=e.nodeValue))&&(e.__t=a,e.nodeValue=a==null?"":a+"")}function ve(e,r){return B(e,r)}function Te(e,r){R(),r.intro=r.intro??!1;const a=r.target,n=S,s=b;try{for(var t=z(a);t&&(t.nodeType!==8||t.data!==X);)t=x(t);if(!t)throw m;y(!0),I(t),F();const o=B(e,{...r,anchor:t});if(b===null||b.nodeType!==8||b.data!==G)throw J(),m;return y(!1),o}catch(o){if(o===m)return r.recover===!1&&K(),R(),Q(a),y(!1),ve(e,r);throw o}finally{y(n),I(s)}}const h=new Map;function B(e,{target:r,anchor:a,props:n={},events:s,context:t,intro:o=!0}){R();var v=new Set,l=f=>{for(var i=0;i{var f=a??r.appendChild(ee());return re(()=>{if(t){te({});var i=ne;i.c=t}s&&(n.$$events=s),S&&fe(f,null),d=e(f,n)||{},S&&(A.nodes_end=b),t&&ae()}),()=>{var c;for(var i of v){r.removeEventListener(i,p);var u=h.get(i);--u===0?(document.removeEventListener(i,p),h.delete(i)):h.set(i,u)}k.delete(l),O.delete(d),f!==a&&((c=f.parentNode)==null||c.removeChild(f))}});return O.set(d,L),d}let O=new WeakMap;function Le(e){const r=O.get(e);r&&r()}function he(e,r,a){if(e==null)return r(void 0),N;const n=se(()=>e.subscribe(r,a));return n.unsubscribe?()=>n.unsubscribe():n}let w=!1;function me(e,r,a){const n=a[r]??(a[r]={store:null,source:ie(void 0),unsubscribe:N});if(n.store!==e)if(n.unsubscribe(),n.store=e??null,e==null)n.source.v=void 0,n.unsubscribe=N;else{var s=!0;n.unsubscribe=he(e,t=>{s?n.source.v=t:oe(n.source,t)}),s=!1}return ue(n.source)}function Re(){const e={};return V(()=>{for(var r in e)e[r].unsubscribe()}),e}function Se(e){var r=w;try{return w=!1,[e(),w]}finally{w=r}}export{Ee as a,me as b,Se as c,ce as d,we as e,ye as f,Te as h,ge as l,ve as m,Re as s,Le as u};
+import {
+ af as E,
+ a2 as T,
+ ag as P,
+ z as A,
+ ah as V,
+ X as W,
+ ac as Y,
+ M as $,
+ ai as R,
+ y as z,
+ aj as X,
+ ak as x,
+ al as m,
+ R as y,
+ B as I,
+ C as F,
+ c as b,
+ am as G,
+ an as J,
+ ao as K,
+ ap as Q,
+ aq as U,
+ ar as Z,
+ x as ee,
+ a as re,
+ p as te,
+ h as S,
+ e as ae,
+ i as ne,
+ n as N,
+ j as se,
+ aa as ie,
+ k as ue,
+ I as oe
+} from './runtime.C33mUz_z.js';
+import { d as fe } from './disclose-version.BmYXDLn2.js';
+let M = !1;
+function ce() {
+ M ||
+ ((M = !0),
+ document.addEventListener(
+ 'reset',
+ (e) => {
+ Promise.resolve().then(() => {
+ var r;
+ if (!e.defaultPrevented)
+ for (const a of e.target.elements) (r = a.__on_r) == null || r.call(a);
+ });
+ },
+ { capture: !0 }
+ ));
+}
+function j(e) {
+ var r = P,
+ a = A;
+ E(null), T(null);
+ try {
+ return e();
+ } finally {
+ E(r), T(a);
+ }
+}
+function ge(e, r, a, n = a) {
+ e.addEventListener(r, () => j(a));
+ const s = e.__on_r;
+ s
+ ? (e.__on_r = () => {
+ s(), n();
+ })
+ : (e.__on_r = n),
+ ce();
+}
+const q = new Set(),
+ k = new Set();
+function le(e, r, a, n) {
+ function s(t) {
+ if ((n.capture || p.call(r, t), !t.cancelBubble)) return j(() => a.call(this, t));
+ }
+ return (
+ e.startsWith('pointer') || e.startsWith('touch') || e === 'wheel'
+ ? W(() => {
+ r.addEventListener(e, s, n);
+ })
+ : r.addEventListener(e, s, n),
+ s
+ );
+}
+function ye(e, r, a, n, s) {
+ var t = { capture: n, passive: s },
+ o = le(e, r, a, t);
+ (r === document.body || r === window || r === document) &&
+ V(() => {
+ r.removeEventListener(e, o, t);
+ });
+}
+function we(e) {
+ for (var r = 0; r < e.length; r++) q.add(e[r]);
+ for (var a of k) a(e);
+}
+function p(e) {
+ var D;
+ var r = this,
+ a = r.ownerDocument,
+ n = e.type,
+ s = ((D = e.composedPath) == null ? void 0 : D.call(e)) || [],
+ t = s[0] || e.target,
+ o = 0,
+ v = e.__root;
+ if (v) {
+ var l = s.indexOf(v);
+ if (l !== -1 && (r === document || r === window)) {
+ e.__root = r;
+ return;
+ }
+ var d = s.indexOf(r);
+ if (d === -1) return;
+ l <= d && (o = l);
+ }
+ if (((t = s[o] || e.target), t !== r)) {
+ Y(e, 'currentTarget', {
+ configurable: !0,
+ get() {
+ return t || a;
+ }
+ });
+ var L = P,
+ f = A;
+ E(null), T(null);
+ try {
+ for (var i, u = []; t !== null; ) {
+ var c = t.assignedSlot || t.parentNode || t.host || null;
+ try {
+ var _ = t['__' + n];
+ if (_ !== void 0 && !t.disabled)
+ if ($(_)) {
+ var [C, ...H] = _;
+ C.apply(t, [e, ...H]);
+ } else _.call(t, e);
+ } catch (g) {
+ i ? u.push(g) : (i = g);
+ }
+ if (e.cancelBubble || c === r || c === null) break;
+ t = c;
+ }
+ if (i) {
+ for (let g of u)
+ queueMicrotask(() => {
+ throw g;
+ });
+ throw i;
+ }
+ } finally {
+ (e.__root = r), delete e.currentTarget, E(L), T(f);
+ }
+ }
+}
+const de = ['touchstart', 'touchmove'];
+function _e(e) {
+ return de.includes(e);
+}
+function Ee(e, r) {
+ var a = r == null ? '' : typeof r == 'object' ? r + '' : r;
+ a !== (e.__t ?? (e.__t = e.nodeValue)) && ((e.__t = a), (e.nodeValue = a == null ? '' : a + ''));
+}
+function ve(e, r) {
+ return B(e, r);
+}
+function Te(e, r) {
+ R(), (r.intro = r.intro ?? !1);
+ const a = r.target,
+ n = S,
+ s = b;
+ try {
+ for (var t = z(a); t && (t.nodeType !== 8 || t.data !== X); ) t = x(t);
+ if (!t) throw m;
+ y(!0), I(t), F();
+ const o = B(e, { ...r, anchor: t });
+ if (b === null || b.nodeType !== 8 || b.data !== G) throw (J(), m);
+ return y(!1), o;
+ } catch (o) {
+ if (o === m) return r.recover === !1 && K(), R(), Q(a), y(!1), ve(e, r);
+ throw o;
+ } finally {
+ y(n), I(s);
+ }
+}
+const h = new Map();
+function B(e, { target: r, anchor: a, props: n = {}, events: s, context: t, intro: o = !0 }) {
+ R();
+ var v = new Set(),
+ l = (f) => {
+ for (var i = 0; i < f.length; i++) {
+ var u = f[i];
+ if (!v.has(u)) {
+ v.add(u);
+ var c = _e(u);
+ r.addEventListener(u, p, { passive: c });
+ var _ = h.get(u);
+ _ === void 0
+ ? (document.addEventListener(u, p, { passive: c }), h.set(u, 1))
+ : h.set(u, _ + 1);
+ }
+ }
+ };
+ l(U(q)), k.add(l);
+ var d = void 0,
+ L = Z(() => {
+ var f = a ?? r.appendChild(ee());
+ return (
+ re(() => {
+ if (t) {
+ te({});
+ var i = ne;
+ i.c = t;
+ }
+ s && (n.$$events = s),
+ S && fe(f, null),
+ (d = e(f, n) || {}),
+ S && (A.nodes_end = b),
+ t && ae();
+ }),
+ () => {
+ var c;
+ for (var i of v) {
+ r.removeEventListener(i, p);
+ var u = h.get(i);
+ --u === 0 ? (document.removeEventListener(i, p), h.delete(i)) : h.set(i, u);
+ }
+ k.delete(l), O.delete(d), f !== a && ((c = f.parentNode) == null || c.removeChild(f));
+ }
+ );
+ });
+ return O.set(d, L), d;
+}
+let O = new WeakMap();
+function Le(e) {
+ const r = O.get(e);
+ r && r();
+}
+function he(e, r, a) {
+ if (e == null) return r(void 0), N;
+ const n = se(() => e.subscribe(r, a));
+ return n.unsubscribe ? () => n.unsubscribe() : n;
+}
+let w = !1;
+function me(e, r, a) {
+ const n = a[r] ?? (a[r] = { store: null, source: ie(void 0), unsubscribe: N });
+ if (n.store !== e)
+ if ((n.unsubscribe(), (n.store = e ?? null), e == null))
+ (n.source.v = void 0), (n.unsubscribe = N);
+ else {
+ var s = !0;
+ (n.unsubscribe = he(e, (t) => {
+ s ? (n.source.v = t) : oe(n.source, t);
+ })),
+ (s = !1);
+ }
+ return ue(n.source);
+}
+function Re() {
+ const e = {};
+ return (
+ V(() => {
+ for (var r in e) e[r].unsubscribe();
+ }),
+ e
+ );
+}
+function Se(e) {
+ var r = w;
+ try {
+ return (w = !1), [e(), w];
+ } finally {
+ w = r;
+ }
+}
+export {
+ Ee as a,
+ me as b,
+ Se as c,
+ ce as d,
+ we as e,
+ ye as f,
+ Te as h,
+ ge as l,
+ ve as m,
+ Re as s,
+ Le as u
+};
//# sourceMappingURL=store.Cu2WRErR.js.map
diff --git a/docs/_app/immutable/entry/app.DhUw0QHD.js b/docs/_app/immutable/entry/app.DhUw0QHD.js
index 708d12c..79290d0 100644
--- a/docs/_app/immutable/entry/app.DhUw0QHD.js
+++ b/docs/_app/immutable/entry/app.DhUw0QHD.js
@@ -1,3 +1,368 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.B1oL47pf.js","../chunks/disclose-version.BmYXDLn2.js","../chunks/runtime.C33mUz_z.js","../assets/0.DJJo6TNW.css","../nodes/1.CrOjg6w7.js","../chunks/store.Cu2WRErR.js","../chunks/entry.Dy2RczJU.js","../nodes/2.EXMsSH2w.js","../chunks/index-client.DkFXpaO1.js","../assets/2.rx19SAyp.css"])))=>i.map(i=>d[i]);
-var F=n=>{throw TypeError(n)};var U=(n,e,r)=>e.has(n)||F("Cannot "+r);var l=(n,e,r)=>(U(n,e,"read from private field"),r?r.call(n):e.get(n)),S=(n,e,r)=>e.has(n)?F("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,r),A=(n,e,r,a)=>(U(n,e,"write to private field"),a?a.call(n,r):e.set(n,r),r);import{h as G,C as J,b as K,E as Q,a as X,c as Z,O as M,k as v,a7 as p,I as k,ab as $,ac as ee,aa as te,p as re,u as se,g as ne,ad as ae,f as w,e as oe,ae as L,w as ce,s as ie,t as le,v as ue,o as O}from"../chunks/runtime.C33mUz_z.js";import{h as fe,m as de,u as me,a as he}from"../chunks/store.Cu2WRErR.js";import{c as T,a as P,t as W,b as _e}from"../chunks/disclose-version.BmYXDLn2.js";import{p as I,o as ve,a as ge,i as j,b as B}from"../chunks/index-client.DkFXpaO1.js";function D(n,e,r){G&&J();var a=n,o,i;K(()=>{o!==(o=e())&&(i&&(M(i),i=null),o&&(i=X(()=>r(a,o))))},Q),G&&(a=Z)}function ye(n){return class extends be{constructor(e){super({component:n,...e})}}}var g,f;class be{constructor(e){S(this,g);S(this,f);var i;var r=new Map,a=(s,t)=>{var d=te(t);return r.set(s,d),d};const o=new Proxy({...e.props||{},$$events:{}},{get(s,t){return v(r.get(t)??a(t,Reflect.get(s,t)))},has(s,t){return t===p?!0:(v(r.get(t)??a(t,Reflect.get(s,t))),Reflect.has(s,t))},set(s,t,d){return k(r.get(t)??a(t,d),d),Reflect.set(s,t,d)}});A(this,f,(e.hydrate?fe:de)(e.component,{target:e.target,anchor:e.anchor,props:o,context:e.context,intro:e.intro??!1,recover:e.recover})),(!((i=e==null?void 0:e.props)!=null&&i.$$host)||e.sync===!1)&&$(),A(this,g,o.$$events);for(const s of Object.keys(l(this,f)))s==="$set"||s==="$destroy"||s==="$on"||ee(this,s,{get(){return l(this,f)[s]},set(t){l(this,f)[s]=t},enumerable:!0});l(this,f).$set=s=>{Object.assign(o,s)},l(this,f).$destroy=()=>{me(l(this,f))}}$set(e){l(this,f).$set(e)}$on(e,r){l(this,g)[e]=l(this,g)[e]||[];const a=(...o)=>r.call(this,...o);return l(this,g)[e].push(a),()=>{l(this,g)[e]=l(this,g)[e].filter(o=>o!==a)}}$destroy(){l(this,f).$destroy()}}g=new WeakMap,f=new WeakMap;const Ee="modulepreload",Pe=function(n,e){return new URL(n,e).href},N={},V=function(e,r,a){let o=Promise.resolve();if(r&&r.length>0){const s=document.getElementsByTagName("link"),t=document.querySelector("meta[property=csp-nonce]"),d=(t==null?void 0:t.nonce)||(t==null?void 0:t.getAttribute("nonce"));o=Promise.allSettled(r.map(u=>{if(u=Pe(u,a),u in N)return;N[u]=!0;const y=u.endsWith(".css"),x=y?'[rel="stylesheet"]':"";if(!!a)for(let m=s.length-1;m>=0;m--){const _=s[m];if(_.href===u&&(!y||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${u}"]${x}`))return;const c=document.createElement("link");if(c.rel=y?"stylesheet":Ee,y||(c.as="script"),c.crossOrigin="",c.href=u,d&&c.setAttribute("nonce",d),document.head.appendChild(c),y)return new Promise((m,_)=>{c.addEventListener("load",m),c.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(s){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=s,window.dispatchEvent(t),!t.defaultPrevented)throw s}return o.then(s=>{for(const t of s||[])t.status==="rejected"&&i(t.reason);return e().catch(i)})},Te={};var Re=W(''),we=W(" ",1);function ke(n,e){re(e,!0);let r=I(e,"components",23,()=>[]),a=I(e,"data_0",3,null),o=I(e,"data_1",3,null);se(()=>e.stores.page.set(e.page)),ne(()=>{e.stores,e.page,e.constructors,r(),e.form,a(),o(),e.stores.page.notify()});let i=L(!1),s=L(!1),t=L(null);ve(()=>{const b=e.stores.page.subscribe(()=>{v(i)&&(k(s,!0),ae().then(()=>{k(t,ge(document.title||"untitled page"))}))});return k(i,!0),b});const d=O(()=>e.constructors[1]);var u=we(),y=w(u);j(y,()=>e.constructors[1],b=>{var c=T();const m=O(()=>e.constructors[0]);var _=w(c);D(_,()=>v(m),(E,C)=>{B(C(E,{get data(){return a()},get form(){return e.form},children:(h,xe)=>{var q=T(),Y=w(q);D(Y,()=>v(d),(z,H)=>{B(H(z,{get data(){return o()},get form(){return e.form}}),R=>r()[1]=R,()=>{var R;return(R=r())==null?void 0:R[1]})}),P(h,q)},$$slots:{default:!0}}),h=>r()[0]=h,()=>{var h;return(h=r())==null?void 0:h[0]})}),P(b,c)},b=>{var c=T();const m=O(()=>e.constructors[0]);var _=w(c);D(_,()=>v(m),(E,C)=>{B(C(E,{get data(){return a()},get form(){return e.form}}),h=>r()[0]=h,()=>{var h;return(h=r())==null?void 0:h[0]})}),P(b,c)});var x=ce(y,2);j(x,()=>v(i),b=>{var c=Re(),m=ie(c);j(m,()=>v(s),_=>{var E=_e();le(()=>he(E,v(t))),P(_,E)}),ue(c),P(b,c)}),P(n,u),oe()}const Ie=ye(ke),je=[()=>V(()=>import("../nodes/0.B1oL47pf.js"),__vite__mapDeps([0,1,2,3]),import.meta.url),()=>V(()=>import("../nodes/1.CrOjg6w7.js"),__vite__mapDeps([4,1,2,5,6]),import.meta.url),()=>V(()=>import("../nodes/2.EXMsSH2w.js"),__vite__mapDeps([7,1,2,5,8,9]),import.meta.url)],Be=[],De={"/":[2]},Ve={handleError:({error:n})=>{console.error(n)},reroute:()=>{}};export{De as dictionary,Ve as hooks,Te as matchers,je as nodes,Ie as root,Be as server_loads};
+const __vite__mapDeps = (
+ i,
+ m = __vite__mapDeps,
+ d = m.f ||
+ (m.f = [
+ '../nodes/0.B1oL47pf.js',
+ '../chunks/disclose-version.BmYXDLn2.js',
+ '../chunks/runtime.C33mUz_z.js',
+ '../assets/0.DJJo6TNW.css',
+ '../nodes/1.CrOjg6w7.js',
+ '../chunks/store.Cu2WRErR.js',
+ '../chunks/entry.Dy2RczJU.js',
+ '../nodes/2.EXMsSH2w.js',
+ '../chunks/index-client.DkFXpaO1.js',
+ '../assets/2.rx19SAyp.css'
+ ])
+) => i.map((i) => d[i]);
+var F = (n) => {
+ throw TypeError(n);
+};
+var U = (n, e, r) => e.has(n) || F('Cannot ' + r);
+var l = (n, e, r) => (U(n, e, 'read from private field'), r ? r.call(n) : e.get(n)),
+ S = (n, e, r) =>
+ e.has(n)
+ ? F('Cannot add the same private member more than once')
+ : e instanceof WeakSet
+ ? e.add(n)
+ : e.set(n, r),
+ A = (n, e, r, a) => (U(n, e, 'write to private field'), a ? a.call(n, r) : e.set(n, r), r);
+import {
+ h as G,
+ C as J,
+ b as K,
+ E as Q,
+ a as X,
+ c as Z,
+ O as M,
+ k as v,
+ a7 as p,
+ I as k,
+ ab as $,
+ ac as ee,
+ aa as te,
+ p as re,
+ u as se,
+ g as ne,
+ ad as ae,
+ f as w,
+ e as oe,
+ ae as L,
+ w as ce,
+ s as ie,
+ t as le,
+ v as ue,
+ o as O
+} from '../chunks/runtime.C33mUz_z.js';
+import { h as fe, m as de, u as me, a as he } from '../chunks/store.Cu2WRErR.js';
+import { c as T, a as P, t as W, b as _e } from '../chunks/disclose-version.BmYXDLn2.js';
+import { p as I, o as ve, a as ge, i as j, b as B } from '../chunks/index-client.DkFXpaO1.js';
+function D(n, e, r) {
+ G && J();
+ var a = n,
+ o,
+ i;
+ K(() => {
+ o !== (o = e()) && (i && (M(i), (i = null)), o && (i = X(() => r(a, o))));
+ }, Q),
+ G && (a = Z);
+}
+function ye(n) {
+ return class extends be {
+ constructor(e) {
+ super({ component: n, ...e });
+ }
+ };
+}
+var g, f;
+class be {
+ constructor(e) {
+ S(this, g);
+ S(this, f);
+ var i;
+ var r = new Map(),
+ a = (s, t) => {
+ var d = te(t);
+ return r.set(s, d), d;
+ };
+ const o = new Proxy(
+ { ...(e.props || {}), $$events: {} },
+ {
+ get(s, t) {
+ return v(r.get(t) ?? a(t, Reflect.get(s, t)));
+ },
+ has(s, t) {
+ return t === p ? !0 : (v(r.get(t) ?? a(t, Reflect.get(s, t))), Reflect.has(s, t));
+ },
+ set(s, t, d) {
+ return k(r.get(t) ?? a(t, d), d), Reflect.set(s, t, d);
+ }
+ }
+ );
+ A(
+ this,
+ f,
+ (e.hydrate ? fe : de)(e.component, {
+ target: e.target,
+ anchor: e.anchor,
+ props: o,
+ context: e.context,
+ intro: e.intro ?? !1,
+ recover: e.recover
+ })
+ ),
+ (!((i = e == null ? void 0 : e.props) != null && i.$$host) || e.sync === !1) && $(),
+ A(this, g, o.$$events);
+ for (const s of Object.keys(l(this, f)))
+ s === '$set' ||
+ s === '$destroy' ||
+ s === '$on' ||
+ ee(this, s, {
+ get() {
+ return l(this, f)[s];
+ },
+ set(t) {
+ l(this, f)[s] = t;
+ },
+ enumerable: !0
+ });
+ (l(this, f).$set = (s) => {
+ Object.assign(o, s);
+ }),
+ (l(this, f).$destroy = () => {
+ me(l(this, f));
+ });
+ }
+ $set(e) {
+ l(this, f).$set(e);
+ }
+ $on(e, r) {
+ l(this, g)[e] = l(this, g)[e] || [];
+ const a = (...o) => r.call(this, ...o);
+ return (
+ l(this, g)[e].push(a),
+ () => {
+ l(this, g)[e] = l(this, g)[e].filter((o) => o !== a);
+ }
+ );
+ }
+ $destroy() {
+ l(this, f).$destroy();
+ }
+}
+(g = new WeakMap()), (f = new WeakMap());
+const Ee = 'modulepreload',
+ Pe = function (n, e) {
+ return new URL(n, e).href;
+ },
+ N = {},
+ V = function (e, r, a) {
+ let o = Promise.resolve();
+ if (r && r.length > 0) {
+ const s = document.getElementsByTagName('link'),
+ t = document.querySelector('meta[property=csp-nonce]'),
+ d = (t == null ? void 0 : t.nonce) || (t == null ? void 0 : t.getAttribute('nonce'));
+ o = Promise.allSettled(
+ r.map((u) => {
+ if (((u = Pe(u, a)), u in N)) return;
+ N[u] = !0;
+ const y = u.endsWith('.css'),
+ x = y ? '[rel="stylesheet"]' : '';
+ if (!!a)
+ for (let m = s.length - 1; m >= 0; m--) {
+ const _ = s[m];
+ if (_.href === u && (!y || _.rel === 'stylesheet')) return;
+ }
+ else if (document.querySelector(`link[href="${u}"]${x}`)) return;
+ const c = document.createElement('link');
+ if (
+ ((c.rel = y ? 'stylesheet' : Ee),
+ y || (c.as = 'script'),
+ (c.crossOrigin = ''),
+ (c.href = u),
+ d && c.setAttribute('nonce', d),
+ document.head.appendChild(c),
+ y)
+ )
+ return new Promise((m, _) => {
+ c.addEventListener('load', m),
+ c.addEventListener('error', () => _(new Error(`Unable to preload CSS for ${u}`)));
+ });
+ })
+ );
+ }
+ function i(s) {
+ const t = new Event('vite:preloadError', { cancelable: !0 });
+ if (((t.payload = s), window.dispatchEvent(t), !t.defaultPrevented)) throw s;
+ }
+ return o.then((s) => {
+ for (const t of s || []) t.status === 'rejected' && i(t.reason);
+ return e().catch(i);
+ });
+ },
+ Te = {};
+var Re = W(
+ ''
+ ),
+ we = W(' ', 1);
+function ke(n, e) {
+ re(e, !0);
+ let r = I(e, 'components', 23, () => []),
+ a = I(e, 'data_0', 3, null),
+ o = I(e, 'data_1', 3, null);
+ se(() => e.stores.page.set(e.page)),
+ ne(() => {
+ e.stores, e.page, e.constructors, r(), e.form, a(), o(), e.stores.page.notify();
+ });
+ let i = L(!1),
+ s = L(!1),
+ t = L(null);
+ ve(() => {
+ const b = e.stores.page.subscribe(() => {
+ v(i) &&
+ (k(s, !0),
+ ae().then(() => {
+ k(t, ge(document.title || 'untitled page'));
+ }));
+ });
+ return k(i, !0), b;
+ });
+ const d = O(() => e.constructors[1]);
+ var u = we(),
+ y = w(u);
+ j(
+ y,
+ () => e.constructors[1],
+ (b) => {
+ var c = T();
+ const m = O(() => e.constructors[0]);
+ var _ = w(c);
+ D(
+ _,
+ () => v(m),
+ (E, C) => {
+ B(
+ C(E, {
+ get data() {
+ return a();
+ },
+ get form() {
+ return e.form;
+ },
+ children: (h, xe) => {
+ var q = T(),
+ Y = w(q);
+ D(
+ Y,
+ () => v(d),
+ (z, H) => {
+ B(
+ H(z, {
+ get data() {
+ return o();
+ },
+ get form() {
+ return e.form;
+ }
+ }),
+ (R) => (r()[1] = R),
+ () => {
+ var R;
+ return (R = r()) == null ? void 0 : R[1];
+ }
+ );
+ }
+ ),
+ P(h, q);
+ },
+ $$slots: { default: !0 }
+ }),
+ (h) => (r()[0] = h),
+ () => {
+ var h;
+ return (h = r()) == null ? void 0 : h[0];
+ }
+ );
+ }
+ ),
+ P(b, c);
+ },
+ (b) => {
+ var c = T();
+ const m = O(() => e.constructors[0]);
+ var _ = w(c);
+ D(
+ _,
+ () => v(m),
+ (E, C) => {
+ B(
+ C(E, {
+ get data() {
+ return a();
+ },
+ get form() {
+ return e.form;
+ }
+ }),
+ (h) => (r()[0] = h),
+ () => {
+ var h;
+ return (h = r()) == null ? void 0 : h[0];
+ }
+ );
+ }
+ ),
+ P(b, c);
+ }
+ );
+ var x = ce(y, 2);
+ j(
+ x,
+ () => v(i),
+ (b) => {
+ var c = Re(),
+ m = ie(c);
+ j(
+ m,
+ () => v(s),
+ (_) => {
+ var E = _e();
+ le(() => he(E, v(t))), P(_, E);
+ }
+ ),
+ ue(c),
+ P(b, c);
+ }
+ ),
+ P(n, u),
+ oe();
+}
+const Ie = ye(ke),
+ je = [
+ () => V(() => import('../nodes/0.B1oL47pf.js'), __vite__mapDeps([0, 1, 2, 3]), import.meta.url),
+ () =>
+ V(() => import('../nodes/1.CrOjg6w7.js'), __vite__mapDeps([4, 1, 2, 5, 6]), import.meta.url),
+ () =>
+ V(
+ () => import('../nodes/2.EXMsSH2w.js'),
+ __vite__mapDeps([7, 1, 2, 5, 8, 9]),
+ import.meta.url
+ )
+ ],
+ Be = [],
+ De = { '/': [2] },
+ Ve = {
+ handleError: ({ error: n }) => {
+ console.error(n);
+ },
+ reroute: () => {}
+ };
+export {
+ De as dictionary,
+ Ve as hooks,
+ Te as matchers,
+ je as nodes,
+ Ie as root,
+ Be as server_loads
+};
//# sourceMappingURL=app.DhUw0QHD.js.map
diff --git a/docs/_app/immutable/entry/start.CKbpYEL9.js b/docs/_app/immutable/entry/start.CKbpYEL9.js
index 1edc89e..dd22ec2 100644
--- a/docs/_app/immutable/entry/start.CKbpYEL9.js
+++ b/docs/_app/immutable/entry/start.CKbpYEL9.js
@@ -1,2 +1,3 @@
-import{a as t}from"../chunks/entry.Dy2RczJU.js";export{t as start};
+import { a as t } from '../chunks/entry.Dy2RczJU.js';
+export { t as start };
//# sourceMappingURL=start.CKbpYEL9.js.map
diff --git a/docs/_app/immutable/nodes/0.B1oL47pf.js b/docs/_app/immutable/nodes/0.B1oL47pf.js
index 8575326..de6e8a5 100644
--- a/docs/_app/immutable/nodes/0.B1oL47pf.js
+++ b/docs/_app/immutable/nodes/0.B1oL47pf.js
@@ -1,2 +1,36 @@
-import{c as s,a as p}from"../chunks/disclose-version.BmYXDLn2.js";import{b as c,E as i,a as f,n as l,d as u,h as d,c as _,p as m,f as h,e as v}from"../chunks/runtime.C33mUz_z.js";function y(n,e,...a){var r=n,o=l,t;c(()=>{o!==(o=e())&&(t&&(u(t),t=null),t=f(()=>o(r,...a)))},i),d&&(r=_)}const b=!0,T=Object.freeze(Object.defineProperty({__proto__:null,prerender:b},Symbol.toStringTag,{value:"Module"}));function S(n,e){m(e,!0);var a=s(),r=h(a);y(r,()=>e.children),p(n,a),v()}export{S as component,T as universal};
+import { c as s, a as p } from '../chunks/disclose-version.BmYXDLn2.js';
+import {
+ b as c,
+ E as i,
+ a as f,
+ n as l,
+ d as u,
+ h as d,
+ c as _,
+ p as m,
+ f as h,
+ e as v
+} from '../chunks/runtime.C33mUz_z.js';
+function y(n, e, ...a) {
+ var r = n,
+ o = l,
+ t;
+ c(() => {
+ o !== (o = e()) && (t && (u(t), (t = null)), (t = f(() => o(r, ...a))));
+ }, i),
+ d && (r = _);
+}
+const b = !0,
+ T = Object.freeze(
+ Object.defineProperty({ __proto__: null, prerender: b }, Symbol.toStringTag, {
+ value: 'Module'
+ })
+ );
+function S(n, e) {
+ m(e, !0);
+ var a = s(),
+ r = h(a);
+ y(r, () => e.children), p(n, a), v();
+}
+export { S as component, T as universal };
//# sourceMappingURL=0.B1oL47pf.js.map
diff --git a/docs/_app/immutable/nodes/1.CrOjg6w7.js b/docs/_app/immutable/nodes/1.CrOjg6w7.js
index 01859e9..3bdf292 100644
--- a/docs/_app/immutable/nodes/1.CrOjg6w7.js
+++ b/docs/_app/immutable/nodes/1.CrOjg6w7.js
@@ -1,2 +1,93 @@
-import{a as d,t as v}from"../chunks/disclose-version.BmYXDLn2.js";import{u as h,g as p,i as $,j as x,r as u,k as _,l as k,m as y,o as j,q,p as w,f as E,t as S,e as z,s as l,v as g,w as A}from"../chunks/runtime.C33mUz_z.js";import{s as B,a as b,b as C}from"../chunks/store.Cu2WRErR.js";import{s as D}from"../chunks/entry.Dy2RczJU.js";function F(s=!1){const e=$,t=e.l.u;if(!t)return;let n=()=>y(e.s);if(s){let a=0,r={};const f=j(()=>{let i=!1;const c=e.s;for(const o in c)c[o]!==r[o]&&(r[o]=c[o],i=!0);return i&&a++,a});n=()=>_(f)}t.b.length&&h(()=>{m(e,n),u(t.b)}),p(()=>{const a=x(()=>t.m.map(k));return()=>{for(const r of a)typeof r=="function"&&r()}}),t.a.length&&p(()=>{m(e,n),u(t.a)})}function m(s,e){if(s.l.s)for(const t of s.l.s)_(t);e()}q();const G=()=>{const s=D;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},H={subscribe(s){return G().page.subscribe(s)}};var I=v("
",1);function N(s,e){w(e,!1);const t=B(),n=()=>C(H,"$page",t);F();var a=I(),r=E(a),f=l(r,!0);g(r);var i=A(r,2),c=l(i,!0);g(i),S(()=>{var o;b(f,n().status),b(c,(o=n().error)==null?void 0:o.message)}),d(s,a),z()}export{N as component};
+import { a as d, t as v } from '../chunks/disclose-version.BmYXDLn2.js';
+import {
+ u as h,
+ g as p,
+ i as $,
+ j as x,
+ r as u,
+ k as _,
+ l as k,
+ m as y,
+ o as j,
+ q,
+ p as w,
+ f as E,
+ t as S,
+ e as z,
+ s as l,
+ v as g,
+ w as A
+} from '../chunks/runtime.C33mUz_z.js';
+import { s as B, a as b, b as C } from '../chunks/store.Cu2WRErR.js';
+import { s as D } from '../chunks/entry.Dy2RczJU.js';
+function F(s = !1) {
+ const e = $,
+ t = e.l.u;
+ if (!t) return;
+ let n = () => y(e.s);
+ if (s) {
+ let a = 0,
+ r = {};
+ const f = j(() => {
+ let i = !1;
+ const c = e.s;
+ for (const o in c) c[o] !== r[o] && ((r[o] = c[o]), (i = !0));
+ return i && a++, a;
+ });
+ n = () => _(f);
+ }
+ t.b.length &&
+ h(() => {
+ m(e, n), u(t.b);
+ }),
+ p(() => {
+ const a = x(() => t.m.map(k));
+ return () => {
+ for (const r of a) typeof r == 'function' && r();
+ };
+ }),
+ t.a.length &&
+ p(() => {
+ m(e, n), u(t.a);
+ });
+}
+function m(s, e) {
+ if (s.l.s) for (const t of s.l.s) _(t);
+ e();
+}
+q();
+const G = () => {
+ const s = D;
+ return {
+ page: { subscribe: s.page.subscribe },
+ navigating: { subscribe: s.navigating.subscribe },
+ updated: s.updated
+ };
+ },
+ H = {
+ subscribe(s) {
+ return G().page.subscribe(s);
+ }
+ };
+var I = v('
', 1);
+function N(s, e) {
+ w(e, !1);
+ const t = B(),
+ n = () => C(H, '$page', t);
+ F();
+ var a = I(),
+ r = E(a),
+ f = l(r, !0);
+ g(r);
+ var i = A(r, 2),
+ c = l(i, !0);
+ g(i),
+ S(() => {
+ var o;
+ b(f, n().status), b(c, (o = n().error) == null ? void 0 : o.message);
+ }),
+ d(s, a),
+ z();
+}
+export { N as component };
//# sourceMappingURL=1.CrOjg6w7.js.map
diff --git a/docs/_app/immutable/nodes/2.EXMsSH2w.js b/docs/_app/immutable/nodes/2.EXMsSH2w.js
index 0003ab3..95ddd22 100644
--- a/docs/_app/immutable/nodes/2.EXMsSH2w.js
+++ b/docs/_app/immutable/nodes/2.EXMsSH2w.js
@@ -1,7 +1,1049 @@
-import{a as N,t as O,c as $}from"../chunks/disclose-version.BmYXDLn2.js";import{M as ke,L as ce,D as ze,h as z,B as se,x as qe,C as Ue,b as Ge,aq as Re,P as He,Q as be,R as ie,c as W,as as ee,N as Ne,a as Ae,O as Ye,z as xe,at as Be,au as Je,ap as Ke,av as Ve,d as We,y as Qe,am as Xe,ag as je,aa as Fe,G as Ee,aw as Ze,ax as $e,ay as et,ak as tt,az as rt,aA as at,aB as nt,aC as ot,W as Se,V as Oe,s as R,w as c,v as k,t as U,I as D,ae as j,k as T,p as ne,e as oe,f as q,n as Z,o as Q,aD as lt}from"../chunks/runtime.C33mUz_z.js";import{d as st,l as pe,a as H,e as F,f as it}from"../chunks/store.Cu2WRErR.js";import{c as ut,a as _e,p as ye,i as G,o as vt,b as ct}from"../chunks/index-client.DkFXpaO1.js";const ft=[];function dt(e,t=!1){return te(e,new Map,"",ft)}function te(e,t,r,n,a=null){if(typeof e=="object"&&e!==null){const i=t.get(e);if(i!==void 0)return i;if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);if(ke(e)){const l=[];t.set(e,l),a!==null&&t.set(a,l);for(let _=0;_0&&a.length===0&&r!==null;if(l){var _=r.parentNode;Ke(_),_.append(r),n.clear(),B(e,t[0].prev,t[o-1].next)}Ve(a,()=>{for(var f=0;f{var x=r(),y=ke(x)?x:x==null?[]:Re(x),d=y.length;if(s&&d===0)return;s=d===0;let u=!1;if(z){var v=i.data===He;v!==(d===0)&&(i=be(),se(i),ie(!1),u=!0)}if(z){for(var E=null,p,h=0;h0&&se(be())}if(!z){var w=je;mt(y,l,i,a,t,(w.f&ee)!==0,n)}o!==null&&(d===0?f?Ne(f):f=Ae(()=>o(i)):f!==null&&Ye(f,()=>{f=null})),u&&ie(!0),r()}),z&&(i=W)}function mt(e,t,r,n,a,o,i){var l=e.length,_=t.items,f=t.first,s=f,x,y=null,d=[],u=[],v,E,p,h;for(h=0;h0){var J=l===0?r:null;_t(t,I,J,_)}}xe.first=t.first&&t.first.e,xe.last=y&&y.e}function ht(e,t,r,n){Be(e.v,t),e.i=r}function Ce(e,t,r,n,a,o,i,l,_){var f=(_&$e)!==0,s=(_&et)===0,x=f?s?Fe(a):Ee(a):a,y=_&Ze?Ee(i):i,d={i:y,v:x,k:o,a:null,e:null,prev:r,next:n};try{return d.e=Ae(()=>l(e,x,y),z),d.e.prev=r&&r.e,d.e.next=n&&n.e,r===null?t.first=d:(r.next=d,r.e.next=d.e),n!==null&&(n.prev=d,n.e.prev=d.e),d}finally{}}function we(e,t,r){for(var n=e.next?e.next.e.nodes_start:r,a=t?t.e.nodes_start:r,o=e.e.nodes_start;o!==n;){var i=tt(o);a.before(o),o=i}}function B(e,t,r){t===null?e.first=r:(t.next=r,t.e.next=r&&r.e),r!==null&&(r.prev=t,r.e.prev=t&&t.e)}function me(e){if(z){var t=!1,r=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var n=e.value;S(e,"value",null),e.value=n}if(e.hasAttribute("checked")){var a=e.checked;S(e,"checked",null),e.checked=a}}};e.__on_r=r,rt(r),st()}}function S(e,t,r,n){var a=e.__attributes??(e.__attributes={});z&&(a[t]=e.getAttribute(t),t==="src"||t==="srcset"||t==="href"&&e.nodeName==="LINK")||a[t]!==(a[t]=r)&&(t==="style"&&"__styles"in e&&(e.__styles={}),t==="loading"&&(e[at]=r),r==null?e.removeAttribute(t):typeof r!="string"&>(e).includes(t)?e[t]=r:e.setAttribute(t,r))}var Te=new Map;function gt(e){var t=Te.get(e.nodeName);if(t)return t;Te.set(e.nodeName,t=[]);for(var r,n=ce(e),a=Element.prototype;a!==n;){r=nt(n);for(var o in r)r[o].set&&t.push(o);n=ce(n)}return t}function K(e,t,r){if(r){if(e.classList.contains(t))return;e.classList.add(t)}else{if(!e.classList.contains(t))return;e.classList.remove(t)}}function De(e,t,r=t){var n=ot();pe(e,"input",()=>{var a=ue(e)?ve(e.value):e.value;r(a),n&&a!==(a=t())&&(e.value=a??"")}),Se(()=>{var a=t();if(z&&e.defaultValue!==e.value){r(ue(e)?ve(e.value):e.value);return}ue(e)&&a===ve(e.value)||e.type==="date"&&!a&&!e.value||a!==e.value&&(e.value=a??"")})}function bt(e,t,r=t){pe(e,"change",()=>{var n=e.checked;r(n)}),t()==null&&r(!1),Se(()=>{var n=t();e.checked=!!n})}function ue(e){var t=e.type;return t==="number"||t==="range"}function ve(e){return e===""?null:+e}function Pe(e,t,r){if(e.multiple)return Et(e,t);for(var n of e.options){var a=X(n);if(ut(a,t)){n.selected=!0;return}}(!r||t!==void 0)&&(e.selectedIndex=-1)}function xt(e,t){Oe(()=>{var r=new MutationObserver(()=>{var n=e.__value;Pe(e,n)});return r.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),()=>{r.disconnect()}})}function re(e,t,r=t){var n=!0;pe(e,"change",()=>{var a;if(e.multiple)a=[].map.call(e.querySelectorAll(":checked"),X);else{var o=e.querySelector(":checked");a=o&&X(o)}r(a)}),Oe(()=>{var a=t();if(Pe(e,a,n),n&&a===void 0){var o=e.querySelector(":checked");o!==null&&(a=X(o),r(a))}e.__value=a,n=!1}),xt(e)}function Et(e,t){for(var r of e.options)r.selected=~t.indexOf(X(r))}function X(e){return"__value"in e?e.__value:e.value}function he(e){parent.postMessage(e,"*")}let m=_e({proxy:{columns:0,rows:0,mode:"grid",radius:0,version:1,rotateAccordingToDirection:!1,rules:[]}}),ae=_e({value:!1}),fe=_e({value:0});function wt(e){switch(e){case"randomize":return{id:Math.random().toString(36).substring(7),type:"randomize",name:"Randomize",enabled:!0,property:"x",from:0,to:0};case"offset":return{id:Math.random().toString(36).substring(7),name:"Offset",type:"offset",enabled:!0,property:"x",offset:0,accumulate:!1};default:throw new Error(`Unknown rule kind: ${e}`)}}var M=(e=>(e.NO_SELECTION="no-selection",e.ONE_SELECTION="one-selection",e.MULTIPLE_SELECTION="multiple-selection",e.PATTERN_SELECTED="pattern-selected",e.PONG="pong",e.ERROR="error",e.SEND_PATTERN="send-pattern",e.ACKNOWLEDGE_UPDATE_PATTERN="acknowledge-update-pattern",e.SEND_PROGRESSION="send-progression",e))(M||{}),le=(e=>(e.PING="ping",e.CREATE_PATTERN="create-pattern",e.REQUEST_CURRENT_PATTERN="request-current-pattern",e.UPDATE_PATTERN="update-pattern",e))(le||{}),Tt=O('
A negative value allow to go below the initial value, while a positive value allows to go above
- the initial value. Min and Max are determined by the lowest and highest value provided below.
`,1),Pt=O(`
Note: This rule currently has no effect on revolution mode.
A negative value will move the element to the left or up, while a positive value will move the
+import { a as N, t as O, c as $ } from '../chunks/disclose-version.BmYXDLn2.js';
+import {
+ M as ke,
+ L as ce,
+ D as ze,
+ h as z,
+ B as se,
+ x as qe,
+ C as Ue,
+ b as Ge,
+ aq as Re,
+ P as He,
+ Q as be,
+ R as ie,
+ c as W,
+ as as ee,
+ N as Ne,
+ a as Ae,
+ O as Ye,
+ z as xe,
+ at as Be,
+ au as Je,
+ ap as Ke,
+ av as Ve,
+ d as We,
+ y as Qe,
+ am as Xe,
+ ag as je,
+ aa as Fe,
+ G as Ee,
+ aw as Ze,
+ ax as $e,
+ ay as et,
+ ak as tt,
+ az as rt,
+ aA as at,
+ aB as nt,
+ aC as ot,
+ W as Se,
+ V as Oe,
+ s as R,
+ w as c,
+ v as k,
+ t as U,
+ I as D,
+ ae as j,
+ k as T,
+ p as ne,
+ e as oe,
+ f as q,
+ n as Z,
+ o as Q,
+ aD as lt
+} from '../chunks/runtime.C33mUz_z.js';
+import { d as st, l as pe, a as H, e as F, f as it } from '../chunks/store.Cu2WRErR.js';
+import {
+ c as ut,
+ a as _e,
+ p as ye,
+ i as G,
+ o as vt,
+ b as ct
+} from '../chunks/index-client.DkFXpaO1.js';
+const ft = [];
+function dt(e, t = !1) {
+ return te(e, new Map(), '', ft);
+}
+function te(e, t, r, n, a = null) {
+ if (typeof e == 'object' && e !== null) {
+ const i = t.get(e);
+ if (i !== void 0) return i;
+ if (e instanceof Map) return new Map(e);
+ if (e instanceof Set) return new Set(e);
+ if (ke(e)) {
+ const l = [];
+ t.set(e, l), a !== null && t.set(a, l);
+ for (let _ = 0; _ < e.length; _ += 1) l.push(te(e[_], t, r, n));
+ return l;
+ }
+ if (ce(e) === ze) {
+ const l = {};
+ t.set(e, l), a !== null && t.set(a, l);
+ for (var o in e) l[o] = te(e[o], t, r, n);
+ return l;
+ }
+ if (e instanceof Date) return structuredClone(e);
+ if (typeof e.toJSON == 'function') return te(e.toJSON(), t, r, n, e);
+ }
+ if (e instanceof EventTarget) return e;
+ try {
+ return structuredClone(e);
+ } catch {
+ return e;
+ }
+}
+function pt(e, t) {
+ return t;
+}
+function _t(e, t, r, n) {
+ for (var a = [], o = t.length, i = 0; i < o; i++) Je(t[i].e, a, !0);
+ var l = o > 0 && a.length === 0 && r !== null;
+ if (l) {
+ var _ = r.parentNode;
+ Ke(_), _.append(r), n.clear(), B(e, t[0].prev, t[o - 1].next);
+ }
+ Ve(a, () => {
+ for (var f = 0; f < o; f++) {
+ var s = t[f];
+ l || (n.delete(s.k), B(e, s.prev, s.next)), We(s.e, !l);
+ }
+ });
+}
+function yt(e, t, r, n, a, o = null) {
+ var i = e,
+ l = { flags: t, items: new Map(), first: null };
+ {
+ var _ = e;
+ i = z ? se(Qe(_)) : _.appendChild(qe());
+ }
+ z && Ue();
+ var f = null,
+ s = !1;
+ Ge(() => {
+ var x = r(),
+ y = ke(x) ? x : x == null ? [] : Re(x),
+ d = y.length;
+ if (s && d === 0) return;
+ s = d === 0;
+ let u = !1;
+ if (z) {
+ var v = i.data === He;
+ v !== (d === 0) && ((i = be()), se(i), ie(!1), (u = !0));
+ }
+ if (z) {
+ for (var E = null, p, h = 0; h < d; h++) {
+ if (W.nodeType === 8 && W.data === Xe) {
+ (i = W), (u = !0), ie(!1);
+ break;
+ }
+ var g = y[h],
+ b = n(g, h);
+ (p = Ce(W, l, E, null, g, b, h, a, t)), l.items.set(b, p), (E = p);
+ }
+ d > 0 && se(be());
+ }
+ if (!z) {
+ var w = je;
+ mt(y, l, i, a, t, (w.f & ee) !== 0, n);
+ }
+ o !== null &&
+ (d === 0
+ ? f
+ ? Ne(f)
+ : (f = Ae(() => o(i)))
+ : f !== null &&
+ Ye(f, () => {
+ f = null;
+ })),
+ u && ie(!0),
+ r();
+ }),
+ z && (i = W);
+}
+function mt(e, t, r, n, a, o, i) {
+ var l = e.length,
+ _ = t.items,
+ f = t.first,
+ s = f,
+ x,
+ y = null,
+ d = [],
+ u = [],
+ v,
+ E,
+ p,
+ h;
+ for (h = 0; h < l; h += 1) {
+ if (((v = e[h]), (E = i(v, h)), (p = _.get(E)), p === void 0)) {
+ var g = s ? s.e.nodes_start : r;
+ (y = Ce(g, t, y, y === null ? t.first : y.next, v, E, h, n, a)),
+ _.set(E, y),
+ (d = []),
+ (u = []),
+ (s = y.next);
+ continue;
+ }
+ if ((ht(p, v, h), p.e.f & ee && Ne(p.e), p !== s)) {
+ if (x !== void 0 && x.has(p)) {
+ if (d.length < u.length) {
+ var b = u[0],
+ w;
+ y = b.prev;
+ var P = d[0],
+ A = d[d.length - 1];
+ for (w = 0; w < d.length; w += 1) we(d[w], b, r);
+ for (w = 0; w < u.length; w += 1) x.delete(u[w]);
+ B(t, P.prev, A.next),
+ B(t, y, P),
+ B(t, A, b),
+ (s = b),
+ (y = A),
+ (h -= 1),
+ (d = []),
+ (u = []);
+ } else
+ x.delete(p),
+ we(p, s, r),
+ B(t, p.prev, p.next),
+ B(t, p, y === null ? t.first : y.next),
+ B(t, y, p),
+ (y = p);
+ continue;
+ }
+ for (d = [], u = []; s !== null && s.k !== E; )
+ (o || !(s.e.f & ee)) && (x ?? (x = new Set())).add(s), u.push(s), (s = s.next);
+ if (s === null) continue;
+ p = s;
+ }
+ d.push(p), (y = p), (s = p.next);
+ }
+ if (s !== null || x !== void 0) {
+ for (var I = x === void 0 ? [] : Re(x); s !== null; )
+ (o || !(s.e.f & ee)) && I.push(s), (s = s.next);
+ var C = I.length;
+ if (C > 0) {
+ var J = l === 0 ? r : null;
+ _t(t, I, J, _);
+ }
+ }
+ (xe.first = t.first && t.first.e), (xe.last = y && y.e);
+}
+function ht(e, t, r, n) {
+ Be(e.v, t), (e.i = r);
+}
+function Ce(e, t, r, n, a, o, i, l, _) {
+ var f = (_ & $e) !== 0,
+ s = (_ & et) === 0,
+ x = f ? (s ? Fe(a) : Ee(a)) : a,
+ y = _ & Ze ? Ee(i) : i,
+ d = { i: y, v: x, k: o, a: null, e: null, prev: r, next: n };
+ try {
+ return (
+ (d.e = Ae(() => l(e, x, y), z)),
+ (d.e.prev = r && r.e),
+ (d.e.next = n && n.e),
+ r === null ? (t.first = d) : ((r.next = d), (r.e.next = d.e)),
+ n !== null && ((n.prev = d), (n.e.prev = d.e)),
+ d
+ );
+ } finally {
+ }
+}
+function we(e, t, r) {
+ for (
+ var n = e.next ? e.next.e.nodes_start : r, a = t ? t.e.nodes_start : r, o = e.e.nodes_start;
+ o !== n;
+
+ ) {
+ var i = tt(o);
+ a.before(o), (o = i);
+ }
+}
+function B(e, t, r) {
+ t === null ? (e.first = r) : ((t.next = r), (t.e.next = r && r.e)),
+ r !== null && ((r.prev = t), (r.e.prev = t && t.e));
+}
+function me(e) {
+ if (z) {
+ var t = !1,
+ r = () => {
+ if (!t) {
+ if (((t = !0), e.hasAttribute('value'))) {
+ var n = e.value;
+ S(e, 'value', null), (e.value = n);
+ }
+ if (e.hasAttribute('checked')) {
+ var a = e.checked;
+ S(e, 'checked', null), (e.checked = a);
+ }
+ }
+ };
+ (e.__on_r = r), rt(r), st();
+ }
+}
+function S(e, t, r, n) {
+ var a = e.__attributes ?? (e.__attributes = {});
+ (z &&
+ ((a[t] = e.getAttribute(t)),
+ t === 'src' || t === 'srcset' || (t === 'href' && e.nodeName === 'LINK'))) ||
+ (a[t] !== (a[t] = r) &&
+ (t === 'style' && '__styles' in e && (e.__styles = {}),
+ t === 'loading' && (e[at] = r),
+ r == null
+ ? e.removeAttribute(t)
+ : typeof r != 'string' && gt(e).includes(t)
+ ? (e[t] = r)
+ : e.setAttribute(t, r)));
+}
+var Te = new Map();
+function gt(e) {
+ var t = Te.get(e.nodeName);
+ if (t) return t;
+ Te.set(e.nodeName, (t = []));
+ for (var r, n = ce(e), a = Element.prototype; a !== n; ) {
+ r = nt(n);
+ for (var o in r) r[o].set && t.push(o);
+ n = ce(n);
+ }
+ return t;
+}
+function K(e, t, r) {
+ if (r) {
+ if (e.classList.contains(t)) return;
+ e.classList.add(t);
+ } else {
+ if (!e.classList.contains(t)) return;
+ e.classList.remove(t);
+ }
+}
+function De(e, t, r = t) {
+ var n = ot();
+ pe(e, 'input', () => {
+ var a = ue(e) ? ve(e.value) : e.value;
+ r(a), n && a !== (a = t()) && (e.value = a ?? '');
+ }),
+ Se(() => {
+ var a = t();
+ if (z && e.defaultValue !== e.value) {
+ r(ue(e) ? ve(e.value) : e.value);
+ return;
+ }
+ (ue(e) && a === ve(e.value)) ||
+ (e.type === 'date' && !a && !e.value) ||
+ (a !== e.value && (e.value = a ?? ''));
+ });
+}
+function bt(e, t, r = t) {
+ pe(e, 'change', () => {
+ var n = e.checked;
+ r(n);
+ }),
+ t() == null && r(!1),
+ Se(() => {
+ var n = t();
+ e.checked = !!n;
+ });
+}
+function ue(e) {
+ var t = e.type;
+ return t === 'number' || t === 'range';
+}
+function ve(e) {
+ return e === '' ? null : +e;
+}
+function Pe(e, t, r) {
+ if (e.multiple) return Et(e, t);
+ for (var n of e.options) {
+ var a = X(n);
+ if (ut(a, t)) {
+ n.selected = !0;
+ return;
+ }
+ }
+ (!r || t !== void 0) && (e.selectedIndex = -1);
+}
+function xt(e, t) {
+ Oe(() => {
+ var r = new MutationObserver(() => {
+ var n = e.__value;
+ Pe(e, n);
+ });
+ return (
+ r.observe(e, { childList: !0, subtree: !0, attributes: !0, attributeFilter: ['value'] }),
+ () => {
+ r.disconnect();
+ }
+ );
+ });
+}
+function re(e, t, r = t) {
+ var n = !0;
+ pe(e, 'change', () => {
+ var a;
+ if (e.multiple) a = [].map.call(e.querySelectorAll(':checked'), X);
+ else {
+ var o = e.querySelector(':checked');
+ a = o && X(o);
+ }
+ r(a);
+ }),
+ Oe(() => {
+ var a = t();
+ if ((Pe(e, a, n), n && a === void 0)) {
+ var o = e.querySelector(':checked');
+ o !== null && ((a = X(o)), r(a));
+ }
+ (e.__value = a), (n = !1);
+ }),
+ xt(e);
+}
+function Et(e, t) {
+ for (var r of e.options) r.selected = ~t.indexOf(X(r));
+}
+function X(e) {
+ return '__value' in e ? e.__value : e.value;
+}
+function he(e) {
+ parent.postMessage(e, '*');
+}
+let m = _e({
+ proxy: {
+ columns: 0,
+ rows: 0,
+ mode: 'grid',
+ radius: 0,
+ version: 1,
+ rotateAccordingToDirection: !1,
+ rules: []
+ }
+ }),
+ ae = _e({ value: !1 }),
+ fe = _e({ value: 0 });
+function wt(e) {
+ switch (e) {
+ case 'randomize':
+ return {
+ id: Math.random().toString(36).substring(7),
+ type: 'randomize',
+ name: 'Randomize',
+ enabled: !0,
+ property: 'x',
+ from: 0,
+ to: 0
+ };
+ case 'offset':
+ return {
+ id: Math.random().toString(36).substring(7),
+ name: 'Offset',
+ type: 'offset',
+ enabled: !0,
+ property: 'x',
+ offset: 0,
+ accumulate: !1
+ };
+ default:
+ throw new Error(`Unknown rule kind: ${e}`);
+ }
+}
+var M = ((e) => (
+ (e.NO_SELECTION = 'no-selection'),
+ (e.ONE_SELECTION = 'one-selection'),
+ (e.MULTIPLE_SELECTION = 'multiple-selection'),
+ (e.PATTERN_SELECTED = 'pattern-selected'),
+ (e.PONG = 'pong'),
+ (e.ERROR = 'error'),
+ (e.SEND_PATTERN = 'send-pattern'),
+ (e.ACKNOWLEDGE_UPDATE_PATTERN = 'acknowledge-update-pattern'),
+ (e.SEND_PROGRESSION = 'send-progression'),
+ e
+ ))(M || {}),
+ le = ((e) => (
+ (e.PING = 'ping'),
+ (e.CREATE_PATTERN = 'create-pattern'),
+ (e.REQUEST_CURRENT_PATTERN = 'request-current-pattern'),
+ (e.UPDATE_PATTERN = 'update-pattern'),
+ e
+ ))(le || {}),
+ Tt = O(
+ '
'
+ );
+function de(e, t) {
+ let r = ye(t, 'checked', 15);
+ var n = Tt(),
+ a = R(n);
+ me(a);
+ var o,
+ i = c(a, 2),
+ l = R(i, !0);
+ k(i),
+ k(n),
+ U(() => {
+ S(a, 'id', t.id),
+ o !== (o = t.id) && (a.value = (a.__value = t.id) == null ? '' : t.id),
+ S(i, 'for', t.id),
+ H(l, t.label);
+ }),
+ bt(a, r),
+ N(e, n);
+}
+var kt = O('
'
+);
+function V(e, t) {
+ let r = ye(t, 'value', 15),
+ n = j(!1);
+ var a = At(),
+ o = R(a),
+ i = R(o, !0);
+ k(o);
+ var l = c(o, 2);
+ me(l),
+ (l.__input = [Nt, n, t, r]),
+ k(a),
+ U(() => {
+ S(o, 'for', t.id),
+ H(i, t.label),
+ S(l, 'id', t.id),
+ S(l, 'min', t.min),
+ S(l, 'max', t.max),
+ S(l, 'step', t.step),
+ K(l, 'error', T(n));
+ }),
+ De(l, r),
+ N(e, a);
+}
+F(['input']);
+function St(e, t, r, n) {
+ if (!t.regex) {
+ D(r, !1);
+ return;
+ }
+ if (n() === null) {
+ D(r, !0);
+ return;
+ }
+ new RegExp(t.regex).test(n().toString()) ? D(r, !1) : D(r, !0);
+}
+var Ot = O(
+ '
'
+);
+function Ct(e, t) {
+ ne(t, !0);
+ let r = ye(t, 'value', 15),
+ n = j(!1);
+ var a = Ot(),
+ o = R(a),
+ i = R(o, !0);
+ k(o);
+ var l = c(o, 2);
+ me(l),
+ (l.__input = [St, t, n, r]),
+ k(a),
+ U(() => {
+ var _;
+ S(o, 'for', t.id),
+ H(i, t.label),
+ S(l, 'id', t.id),
+ S(l, 'pattern', (_ = t.regex) == null ? void 0 : _.source),
+ K(l, 'error', T(n));
+ }),
+ De(l, r),
+ N(e, a),
+ oe();
+}
+F(['input']);
+var Dt = O(
+ `
A negative value allow to go below the initial value, while a positive value allows to go above
+ the initial value. Min and Max are determined by the lowest and highest value provided below.
`,
+ 1
+ ),
+ Pt = O(
+ `
Note: This rule currently has no effect on revolution mode.
A negative value will move the element to the left or up, while a positive value will move the
element to the right or down.
Accumulation means that all previous offsets are added to the current offset. Disable this
- option if you want consistent offsets (applied by this rule).
`,1),Lt=O('
'),It=O(`
Note: The plugin is currently unable to adjust the frame size based on rules. Disabling
+ option if you want consistent offsets (applied by this rule).
`,
+ 1
+ ),
+ Lt = O(
+ '
'
+ ),
+ It = O(
+ `
Note: The plugin is currently unable to adjust the frame size based on rules. Disabling
clipping might be necessary to see the full pattern. You can also manually resize the frame, although
- currently this will be overridden every time you apply changes.
Note: Changes take effect after pressing on the "Apply" button.
Debugging information
',1);function Gt(e,t){ne(t,!0);function r(g){g.preventDefault();const b=dt(m.proxy);console.log("pattern changed",b),ae.value=!0,he({type:le.UPDATE_PATTERN,content:b})}function n(){const g=JSON.stringify(m.proxy);navigator.clipboard.writeText(g),alert("Pattern copied to clipboard")}var a=Ut(),o=c(q(a),4),i=c(R(o),2),l=R(i);l.value=(l.__value="grid")==null?"":"grid";var _=c(l);_.value=(_.__value="revolution")==null?"":"revolution",k(i);var f=c(i,2);V(f,{id:"pattern-rows",label:"Rows",min:1,get value(){return m.proxy.rows},set value(g){m.proxy.rows=g}});var s=c(f,2);V(s,{id:"pattern-columns",label:"Columns",min:1,get value(){return m.proxy.columns},set value(g){m.proxy.columns=g}});var x=c(s,2);G(x,()=>m.proxy.rows*m.proxy.columns>200,g=>{var b=Q(()=>`The pattern has ${m.proxy.rows*m.proxy.columns} items, it may slow down the plugin and Penpot.`);Rt(g,{variant:"warning",get message(){return T(b)}})});var y=c(x,2);G(y,()=>m.proxy.mode==="revolution",g=>{var b=zt(),w=q(b);V(w,{id:"pattern-radius",label:"Radius",min:1,get value(){return m.proxy.radius},set value(A){m.proxy.radius=A}});var P=c(w,2);de(P,{id:"pattern-type",get checked(){return m.proxy.rotateAccordingToDirection},set checked(A){m.proxy.rotateAccordingToDirection=A},label:"Rotate according to direction"}),N(g,b)});var d=c(y,4);Mt(d,{});var u=c(d,4),v=c(u,2);G(v,()=>ae.value,g=>{var b=qt(),w=R(b);U(()=>H(w,`Loading... ${Math.floor(fe.value*100)??""}%`)),k(b),N(g,b)}),k(o);var E=c(o,4);E.__click=n;var p=c(E,2),h=R(p,!0);U(()=>H(h,JSON.stringify(m.proxy).replaceAll(",",", "))),k(p),U(()=>u.disabled=ae.value),it("submit",o,r),re(i,()=>m.proxy.mode,g=>m.proxy.mode=g),N(e,a),oe()}F(["click"]);function Ht(){he({type:le.CREATE_PATTERN})}var Yt=O('
To begin, select an element from which you would like to create a tiling.
Alternatively, select an existing pattern to modify it.
',1),Bt=O('
Please only select one element at a time.
'),Jt=O('
This element can be a pattern source (a copy will be made).
',1),Kt=O('
Tiling Utility
');function jt(e,t){ne(t,!0);let r=j("none"),n=j(!1),a;function o(_){const f=_.data;if(f.type===M.MULTIPLE_SELECTION)D(r,"multiple");else if(f.type===M.ONE_SELECTION)D(r,"one");else if(f.type===M.NO_SELECTION)D(r,"none");else if(f.type===M.PATTERN_SELECTED)D(r,"pattern"),he({type:le.REQUEST_CURRENT_PATTERN});else if(f.type===M.SEND_PATTERN){const s=f.content;if(!s)throw new Error("Pattern creation failed");D(n,!0),m.proxy=s}else if(f.type===M.ACKNOWLEDGE_UPDATE_PATTERN)ae.value=!1,fe.value=1;else if(f.type===M.PONG)console.log("pong");else if(f.type===M.SEND_PROGRESSION){const s=f.content;if(!s)throw new Error("Progression value is missing");fe.value=s.ratio}else if(f.type===M.ERROR)console.error("plugin error",f.content);else throw new Error("Unknown event type: "+f.type)}vt(()=>{window.matchMedia("(prefers-color-scheme: light)").matches&&(a==null||a.setAttribute("data-theme","light")),window.addEventListener("message",o)});var i=Kt(),l=c(R(i),2);G(l,()=>T(r)==="none",_=>{var f=Yt();lt(2),N(_,f)},_=>{var f=$(),s=q(f);G(s,()=>T(r)==="multiple",x=>{var y=Bt();N(x,y)},x=>{var y=$(),d=q(y);G(d,()=>T(r)==="one",u=>{var v=Jt(),E=c(q(v),2);E.__click=[Ht],N(u,v)},u=>{var v=$(),E=q(v);G(E,()=>T(r)==="pattern",p=>{Gt(p,{})},null,!0),N(u,v)},!0),N(x,y)},!0),N(_,f)}),k(i),ct(i,_=>a=_,()=>a),N(e,i),oe()}F(["click"]);export{jt as component};
+ currently this will be overridden every time you apply changes.
`,
+ 1
+ );
+function Mt(e, t) {
+ ne(t, !0);
+ const r = (d, u = Z, v = Z) => {
+ var E = Dt(),
+ p = q(E),
+ h = R(p);
+ h.value = (h.__value = 'x') == null ? '' : 'x';
+ var g = c(h);
+ g.value = (g.__value = 'y') == null ? '' : 'y';
+ var b = c(g);
+ b.value = (b.__value = 'width') == null ? '' : 'width';
+ var w = c(b);
+ w.value = (w.__value = 'height') == null ? '' : 'height';
+ var P = c(w);
+ (P.value = (P.__value = 'rotation') == null ? '' : 'rotation'), k(p);
+ var A = c(p, 4),
+ I = Q(() => `rule-${v()}-from`);
+ V(A, {
+ get id() {
+ return T(I);
+ },
+ label: 'From',
+ get value() {
+ return u().from;
+ },
+ set value(Y) {
+ u().from = Y;
+ }
+ });
+ var C = c(A, 2),
+ J = Q(() => `rule-${v()}-to`);
+ V(C, {
+ get id() {
+ return T(J);
+ },
+ label: 'To',
+ get value() {
+ return u().to;
+ },
+ set value(Y) {
+ u().to = Y;
+ }
+ }),
+ U(() => S(p, 'id', `rule-${v()}-property`)),
+ re(
+ p,
+ () => u().property,
+ (Y) => (u().property = Y)
+ ),
+ N(d, E);
+ },
+ n = (d, u = Z, v = Z) => {
+ var E = Pt(),
+ p = c(q(E), 2),
+ h = c(p, 2),
+ g = R(h);
+ g.value = (g.__value = 'x') == null ? '' : 'x';
+ var b = c(g);
+ (b.value = (b.__value = 'y') == null ? '' : 'y'), k(h);
+ var w = c(h, 4),
+ P = Q(() => `rule-${v()}-offset`);
+ V(w, {
+ get id() {
+ return T(P);
+ },
+ label: 'Offset',
+ get value() {
+ return u().offset;
+ },
+ set value(C) {
+ u().offset = C;
+ }
+ });
+ var A = c(w, 4),
+ I = Q(() => `rule-${v()}-accumulate`);
+ de(A, {
+ get id() {
+ return T(I);
+ },
+ label: 'Accumulate',
+ get checked() {
+ return u().accumulate;
+ },
+ set checked(C) {
+ u().accumulate = C;
+ }
+ }),
+ U(() => {
+ S(p, 'for', `rule-${v()}-property`), S(h, 'id', `rule-${v()}-property`);
+ }),
+ re(
+ h,
+ () => u().property,
+ (C) => (u().property = C)
+ ),
+ N(d, E);
+ };
+ let a = j('randomize');
+ function o() {
+ m.proxy.rules.push(wt(T(a)));
+ }
+ var i = It(),
+ l = q(i),
+ _ = c(R(l), 2),
+ f = R(_);
+ f.value = (f.__value = 'randomize') == null ? '' : 'randomize';
+ var s = c(f);
+ (s.value = (s.__value = 'offset') == null ? '' : 'offset'), k(_);
+ var x = c(_, 2);
+ (x.__click = o), k(l);
+ var y = c(l, 2);
+ yt(
+ y,
+ 21,
+ () => m.proxy.rules,
+ pt,
+ (d, u, v) => {
+ var E = Lt(),
+ p = R(E),
+ h = R(p),
+ g = R(h, !0);
+ k(h);
+ var b = c(h, 2),
+ w = R(b, !0);
+ k(b), k(p);
+ var P = c(p, 2),
+ A = R(P);
+ de(A, {
+ id: `rule-${v}-enabled`,
+ label: 'Enabled',
+ get checked() {
+ return T(u).enabled;
+ },
+ set checked(L) {
+ T(u).enabled = L;
+ }
+ });
+ var I = c(A, 2);
+ (I.__click = () => {
+ if (v === 0) return;
+ const L = m.proxy.rules[v];
+ (m.proxy.rules[v] = m.proxy.rules[v - 1]), (m.proxy.rules[v - 1] = L);
+ }),
+ (I.disabled = v === 0);
+ var C = c(I, 2);
+ C.__click = () => {
+ if (v === m.proxy.rules.length - 1) return;
+ const L = m.proxy.rules[v];
+ (m.proxy.rules[v] = m.proxy.rules[v + 1]), (m.proxy.rules[v + 1] = L);
+ };
+ var J = c(C, 2);
+ J.__click = () => {
+ window.confirm('Are you sure you want to remove this rule?') && m.proxy.rules.splice(v, 1);
+ };
+ var Y = c(J, 2);
+ Ct(Y, {
+ id: `rule-${v}-name`,
+ label: 'Name',
+ regex: new RegExp(/^[A-Za-z0-9 _]+$/g),
+ get value() {
+ return T(u).name;
+ },
+ set value(L) {
+ T(u).name = L;
+ }
+ });
+ var Le = c(Y, 2);
+ G(
+ Le,
+ () => T(u).type === 'randomize',
+ (L) => {
+ r(
+ L,
+ () => T(u),
+ () => v
+ );
+ },
+ (L) => {
+ var ge = $(),
+ Ie = q(ge);
+ G(
+ Ie,
+ () => T(u).type === 'offset',
+ (Me) => {
+ n(
+ Me,
+ () => T(u),
+ () => v
+ );
+ },
+ null,
+ !0
+ ),
+ N(L, ge);
+ }
+ ),
+ k(P),
+ k(E),
+ U(() => {
+ H(g, T(u).type), H(w, T(u).name), (C.disabled = v === m.proxy.rules.length - 1);
+ }),
+ N(d, E);
+ }
+ ),
+ k(y),
+ re(
+ _,
+ () => T(a),
+ (d) => D(a, d)
+ ),
+ N(e, i),
+ oe();
+}
+F(['click']);
+var zt = O(' ', 1),
+ qt = O('
'),
+ Ut = O(
+ '
Pattern editor
Note: Changes take effect after pressing on the "Apply" button.
Debugging information
',
+ 1
+ );
+function Gt(e, t) {
+ ne(t, !0);
+ function r(g) {
+ g.preventDefault();
+ const b = dt(m.proxy);
+ console.log('pattern changed', b), (ae.value = !0), he({ type: le.UPDATE_PATTERN, content: b });
+ }
+ function n() {
+ const g = JSON.stringify(m.proxy);
+ navigator.clipboard.writeText(g), alert('Pattern copied to clipboard');
+ }
+ var a = Ut(),
+ o = c(q(a), 4),
+ i = c(R(o), 2),
+ l = R(i);
+ l.value = (l.__value = 'grid') == null ? '' : 'grid';
+ var _ = c(l);
+ (_.value = (_.__value = 'revolution') == null ? '' : 'revolution'), k(i);
+ var f = c(i, 2);
+ V(f, {
+ id: 'pattern-rows',
+ label: 'Rows',
+ min: 1,
+ get value() {
+ return m.proxy.rows;
+ },
+ set value(g) {
+ m.proxy.rows = g;
+ }
+ });
+ var s = c(f, 2);
+ V(s, {
+ id: 'pattern-columns',
+ label: 'Columns',
+ min: 1,
+ get value() {
+ return m.proxy.columns;
+ },
+ set value(g) {
+ m.proxy.columns = g;
+ }
+ });
+ var x = c(s, 2);
+ G(
+ x,
+ () => m.proxy.rows * m.proxy.columns > 200,
+ (g) => {
+ var b = Q(
+ () =>
+ `The pattern has ${m.proxy.rows * m.proxy.columns} items, it may slow down the plugin and Penpot.`
+ );
+ Rt(g, {
+ variant: 'warning',
+ get message() {
+ return T(b);
+ }
+ });
+ }
+ );
+ var y = c(x, 2);
+ G(
+ y,
+ () => m.proxy.mode === 'revolution',
+ (g) => {
+ var b = zt(),
+ w = q(b);
+ V(w, {
+ id: 'pattern-radius',
+ label: 'Radius',
+ min: 1,
+ get value() {
+ return m.proxy.radius;
+ },
+ set value(A) {
+ m.proxy.radius = A;
+ }
+ });
+ var P = c(w, 2);
+ de(P, {
+ id: 'pattern-type',
+ get checked() {
+ return m.proxy.rotateAccordingToDirection;
+ },
+ set checked(A) {
+ m.proxy.rotateAccordingToDirection = A;
+ },
+ label: 'Rotate according to direction'
+ }),
+ N(g, b);
+ }
+ );
+ var d = c(y, 4);
+ Mt(d, {});
+ var u = c(d, 4),
+ v = c(u, 2);
+ G(
+ v,
+ () => ae.value,
+ (g) => {
+ var b = qt(),
+ w = R(b);
+ U(() => H(w, `Loading... ${Math.floor(fe.value * 100) ?? ''}%`)), k(b), N(g, b);
+ }
+ ),
+ k(o);
+ var E = c(o, 4);
+ E.__click = n;
+ var p = c(E, 2),
+ h = R(p, !0);
+ U(() => H(h, JSON.stringify(m.proxy).replaceAll(',', ', '))),
+ k(p),
+ U(() => (u.disabled = ae.value)),
+ it('submit', o, r),
+ re(
+ i,
+ () => m.proxy.mode,
+ (g) => (m.proxy.mode = g)
+ ),
+ N(e, a),
+ oe();
+}
+F(['click']);
+function Ht() {
+ he({ type: le.CREATE_PATTERN });
+}
+var Yt = O(
+ '
To begin, select an element from which you would like to create a tiling.
Alternatively, select an existing pattern to modify it.
',
+ 1
+ ),
+ Bt = O('
Please only select one element at a time.
'),
+ Jt = O(
+ '
This element can be a pattern source (a copy will be made).
',
+ 1
+ ),
+ Kt = O(
+ '
Tiling Utility
'
+ );
+function jt(e, t) {
+ ne(t, !0);
+ let r = j('none'),
+ n = j(!1),
+ a;
+ function o(_) {
+ const f = _.data;
+ if (f.type === M.MULTIPLE_SELECTION) D(r, 'multiple');
+ else if (f.type === M.ONE_SELECTION) D(r, 'one');
+ else if (f.type === M.NO_SELECTION) D(r, 'none');
+ else if (f.type === M.PATTERN_SELECTED)
+ D(r, 'pattern'), he({ type: le.REQUEST_CURRENT_PATTERN });
+ else if (f.type === M.SEND_PATTERN) {
+ const s = f.content;
+ if (!s) throw new Error('Pattern creation failed');
+ D(n, !0), (m.proxy = s);
+ } else if (f.type === M.ACKNOWLEDGE_UPDATE_PATTERN) (ae.value = !1), (fe.value = 1);
+ else if (f.type === M.PONG) console.log('pong');
+ else if (f.type === M.SEND_PROGRESSION) {
+ const s = f.content;
+ if (!s) throw new Error('Progression value is missing');
+ fe.value = s.ratio;
+ } else if (f.type === M.ERROR) console.error('plugin error', f.content);
+ else throw new Error('Unknown event type: ' + f.type);
+ }
+ vt(() => {
+ window.matchMedia('(prefers-color-scheme: light)').matches &&
+ (a == null || a.setAttribute('data-theme', 'light')),
+ window.addEventListener('message', o);
+ });
+ var i = Kt(),
+ l = c(R(i), 2);
+ G(
+ l,
+ () => T(r) === 'none',
+ (_) => {
+ var f = Yt();
+ lt(2), N(_, f);
+ },
+ (_) => {
+ var f = $(),
+ s = q(f);
+ G(
+ s,
+ () => T(r) === 'multiple',
+ (x) => {
+ var y = Bt();
+ N(x, y);
+ },
+ (x) => {
+ var y = $(),
+ d = q(y);
+ G(
+ d,
+ () => T(r) === 'one',
+ (u) => {
+ var v = Jt(),
+ E = c(q(v), 2);
+ (E.__click = [Ht]), N(u, v);
+ },
+ (u) => {
+ var v = $(),
+ E = q(v);
+ G(
+ E,
+ () => T(r) === 'pattern',
+ (p) => {
+ Gt(p, {});
+ },
+ null,
+ !0
+ ),
+ N(u, v);
+ },
+ !0
+ ),
+ N(x, y);
+ },
+ !0
+ ),
+ N(_, f);
+ }
+ ),
+ k(i),
+ ct(
+ i,
+ (_) => (a = _),
+ () => a
+ ),
+ N(e, i),
+ oe();
+}
+F(['click']);
+export { jt as component };
//# sourceMappingURL=2.EXMsSH2w.js.map
diff --git a/docs/_app/immutable/plugin.DOro0ux_.js b/docs/_app/immutable/plugin.DOro0ux_.js
index 35cd347..3cefa5f 100644
--- a/docs/_app/immutable/plugin.DOro0ux_.js
+++ b/docs/_app/immutable/plugin.DOro0ux_.js
@@ -1,2 +1,261 @@
-let h=[],g=!1;penpot.ui.open("Tiling Utility","",{width:300,height:300});function M(){return{version:1,mode:"grid",rows:5,columns:5,radius:50,rotateAccordingToDirection:!0,rules:[]}}class w{constructor(t,n,s,u){this.memory=t,this.transformer=n,this.rule=s,this.patternMode=u}static fromRule(t,n){const s=N[t.type];if(!s)throw new Error(`Unknown rule type: ${t.type}`);const u=k[t.type]();return new w(u,s,t,n)}process(t){const n=this.transformer(t,this.memory,this.rule,this.patternMode);return this.memory=n.memory,S(n.shapeInfo),n.shapeInfo}}const N={randomize:(e,t,n)=>{const s=Math.min(n.from,n.to),u=Math.max(n.from,n.to),c=n.property,d=Math.random(),f=s+d*(u-s);return e[c]=e[c]+f,{shapeInfo:e,memory:t}},offset:(e,t,n,s)=>{if(s==="revolution")return console.warn("Offset rule is not supported in revolution mode"),{shapeInfo:e,memory:t};const u=n.property,c=n.offset,d=n.accumulate,f=e.row,m=e.column;let p,o;if(u==="x")o=m;else if(u==="y")o=f;else throw new Error(`Unknown offset property: ${u}`);if(p=o*c,d)for(let i=0;inew Map,offset:()=>new Map};penpot.ui.onMessage(e=>{var t,n;if(console.log("received UI message",e),e.type==="ping")penpot.ui.sendMessage("pong");else if(e.type==="create-pattern")B();else if(e.type==="request-current-pattern"){if(h.length===0){penpot.ui.sendMessage({type:"error",content:"No selection"});return}const s=(t=penpot.currentPage)==null?void 0:t.getShapeById(h[0]);if(s.getPluginData("isPattern")!=="true"){penpot.ui.sendMessage({type:"error",content:"No pattern selected"});return}penpot.ui.sendMessage({type:"send-pattern",content:y(s)})}else if(e.type==="update-pattern"){if(h.length===0){penpot.ui.sendMessage({type:"error",content:"No selection"});return}const s=(n=penpot.currentPage)==null?void 0:n.getShapeById(h[0]);if(s.getPluginData("isPattern")!=="true"){penpot.ui.sendMessage({type:"error",content:"No pattern selected"});return}const u=e.content;s.setPluginData("pattern",JSON.stringify(u)),P(s)}else console.error("Unknown message from UI:",e)});penpot.on("selectionchange",e=>{var t;if(h=[...e],e.length===0)penpot.ui.sendMessage({type:"no-selection"});else if(e.length===1){const n=(t=penpot.currentPage)==null?void 0:t.getShapeById(e[0]);if(!n){penpot.ui.sendMessage({type:"no-selection"});return}n.getPluginData("isPattern")==="true"?(penpot.ui.sendMessage({type:"pattern-selected"}),penpot.ui.sendMessage({type:"send-pattern",content:y(n)})):penpot.ui.sendMessage({type:"one-selection"})}else penpot.ui.sendMessage({type:"multiple-selection"})});function B(){var s;console.info("Creating pattern");const e=penpot.createBoard();e.setPluginData("isPattern","true");const t=(s=penpot.currentPage)==null?void 0:s.getShapeById(h[0]);if(!t){console.error("No shape selected"),penpot.ui.sendMessage({type:"error",content:"No shape selected"});return}const n=t==null?void 0:t.clone();n.x=0,n.y=0,n.hidden=!0,n.blocked=!0,n.name+=" (source)",n.setPluginData("isSource","true"),e.appendChild(n),e.setPluginData("sourceId",n.id),e.name="Pattern",e.fills=[],e.setPluginData("pattern",JSON.stringify(M())),P(e),penpot.ui.sendMessage({type:"send-pattern",content:y(e)})}function y(e){return e.getPluginData("isPattern")!=="true"?(console.error("Board is not a pattern"),penpot.ui.sendMessage({type:"error",content:"Board is not a pattern, returning default pattern"}),M()):JSON.parse(e.getPluginData("pattern"))}function P(e){var f,m,p;if(g){console.warn("Modifications are locked");return}if(g=!0,console.info("Drawing pattern"),e.getPluginData("isPattern")!=="true"){console.error("Board is not a pattern"),penpot.ui.sendMessage({type:"error",content:"Board is not a pattern"}),g=!1;return}e.children.forEach(o=>{o.getPluginData("isSource")!=="true"&&o.remove()});const t=y(e);console.debug("Pattern:",t);const n=z(t);if(!n.valid){console.error("Invalid pattern:",n.context),penpot.ui.sendMessage({type:"error",content:n.context}),g=!1;return}const s=new Map,u=e.getPluginData("sourceId"),c=e.children.find(o=>o.id===u);if(!c){console.error("No source shape found"),penpot.ui.sendMessage({type:"error",content:"No source shape found"}),g=!1;return}if(e.horizontalSizing="fix",e.verticalSizing="fix",t.mode==="revolution"){const o=t.radius+c.height*t.rows;e.resize(2*o,2*o);for(let i=0;i {
+ const s = Math.min(n.from, n.to),
+ u = Math.max(n.from, n.to),
+ c = n.property,
+ d = Math.random(),
+ f = s + d * (u - s);
+ return (e[c] = e[c] + f), { shapeInfo: e, memory: t };
+ },
+ offset: (e, t, n, s) => {
+ if (s === 'revolution')
+ return (
+ console.warn('Offset rule is not supported in revolution mode'), { shapeInfo: e, memory: t }
+ );
+ const u = n.property,
+ c = n.offset,
+ d = n.accumulate,
+ f = e.row,
+ m = e.column;
+ let p, o;
+ if (u === 'x') o = m;
+ else if (u === 'y') o = f;
+ else throw new Error(`Unknown offset property: ${u}`);
+ if (((p = o * c), d)) for (let i = 0; i < o; i++) p += i * c;
+ if (u === 'x') e.x += p;
+ else if (u === 'y') e.y += p;
+ else throw new Error(`Unknown offset property: ${u}`);
+ return { shapeInfo: e, memory: t };
+ }
+};
+function S(e) {
+ (e.rotation = e.rotation % 360),
+ (e.width = Math.max(0, e.width)),
+ (e.height = Math.max(0, e.height));
+}
+const k = { randomize: () => new Map(), offset: () => new Map() };
+penpot.ui.onMessage((e) => {
+ var t, n;
+ if ((console.log('received UI message', e), e.type === 'ping')) penpot.ui.sendMessage('pong');
+ else if (e.type === 'create-pattern') B();
+ else if (e.type === 'request-current-pattern') {
+ if (h.length === 0) {
+ penpot.ui.sendMessage({ type: 'error', content: 'No selection' });
+ return;
+ }
+ const s = (t = penpot.currentPage) == null ? void 0 : t.getShapeById(h[0]);
+ if (s.getPluginData('isPattern') !== 'true') {
+ penpot.ui.sendMessage({ type: 'error', content: 'No pattern selected' });
+ return;
+ }
+ penpot.ui.sendMessage({ type: 'send-pattern', content: y(s) });
+ } else if (e.type === 'update-pattern') {
+ if (h.length === 0) {
+ penpot.ui.sendMessage({ type: 'error', content: 'No selection' });
+ return;
+ }
+ const s = (n = penpot.currentPage) == null ? void 0 : n.getShapeById(h[0]);
+ if (s.getPluginData('isPattern') !== 'true') {
+ penpot.ui.sendMessage({ type: 'error', content: 'No pattern selected' });
+ return;
+ }
+ const u = e.content;
+ s.setPluginData('pattern', JSON.stringify(u)), P(s);
+ } else console.error('Unknown message from UI:', e);
+});
+penpot.on('selectionchange', (e) => {
+ var t;
+ if (((h = [...e]), e.length === 0)) penpot.ui.sendMessage({ type: 'no-selection' });
+ else if (e.length === 1) {
+ const n = (t = penpot.currentPage) == null ? void 0 : t.getShapeById(e[0]);
+ if (!n) {
+ penpot.ui.sendMessage({ type: 'no-selection' });
+ return;
+ }
+ n.getPluginData('isPattern') === 'true'
+ ? (penpot.ui.sendMessage({ type: 'pattern-selected' }),
+ penpot.ui.sendMessage({ type: 'send-pattern', content: y(n) }))
+ : penpot.ui.sendMessage({ type: 'one-selection' });
+ } else penpot.ui.sendMessage({ type: 'multiple-selection' });
+});
+function B() {
+ var s;
+ console.info('Creating pattern');
+ const e = penpot.createBoard();
+ e.setPluginData('isPattern', 'true');
+ const t = (s = penpot.currentPage) == null ? void 0 : s.getShapeById(h[0]);
+ if (!t) {
+ console.error('No shape selected'),
+ penpot.ui.sendMessage({ type: 'error', content: 'No shape selected' });
+ return;
+ }
+ const n = t == null ? void 0 : t.clone();
+ (n.x = 0),
+ (n.y = 0),
+ (n.hidden = !0),
+ (n.blocked = !0),
+ (n.name += ' (source)'),
+ n.setPluginData('isSource', 'true'),
+ e.appendChild(n),
+ e.setPluginData('sourceId', n.id),
+ (e.name = 'Pattern'),
+ (e.fills = []),
+ e.setPluginData('pattern', JSON.stringify(M())),
+ P(e),
+ penpot.ui.sendMessage({ type: 'send-pattern', content: y(e) });
+}
+function y(e) {
+ return e.getPluginData('isPattern') !== 'true'
+ ? (console.error('Board is not a pattern'),
+ penpot.ui.sendMessage({
+ type: 'error',
+ content: 'Board is not a pattern, returning default pattern'
+ }),
+ M())
+ : JSON.parse(e.getPluginData('pattern'));
+}
+function P(e) {
+ var f, m, p;
+ if (g) {
+ console.warn('Modifications are locked');
+ return;
+ }
+ if (((g = !0), console.info('Drawing pattern'), e.getPluginData('isPattern') !== 'true')) {
+ console.error('Board is not a pattern'),
+ penpot.ui.sendMessage({ type: 'error', content: 'Board is not a pattern' }),
+ (g = !1);
+ return;
+ }
+ e.children.forEach((o) => {
+ o.getPluginData('isSource') !== 'true' && o.remove();
+ });
+ const t = y(e);
+ console.debug('Pattern:', t);
+ const n = z(t);
+ if (!n.valid) {
+ console.error('Invalid pattern:', n.context),
+ penpot.ui.sendMessage({ type: 'error', content: n.context }),
+ (g = !1);
+ return;
+ }
+ const s = new Map(),
+ u = e.getPluginData('sourceId'),
+ c = e.children.find((o) => o.id === u);
+ if (!c) {
+ console.error('No source shape found'),
+ penpot.ui.sendMessage({ type: 'error', content: 'No source shape found' }),
+ (g = !1);
+ return;
+ }
+ if (((e.horizontalSizing = 'fix'), (e.verticalSizing = 'fix'), t.mode === 'revolution')) {
+ const o = t.radius + c.height * t.rows;
+ e.resize(2 * o, 2 * o);
+ for (let i = 0; i < t.rows; i++) {
+ const a = t.radius + i * c.height,
+ r = new Map();
+ for (let l = 0; l < t.columns; l++) {
+ const x = a * Math.cos(l * ((2 * Math.PI) / t.columns)) + o,
+ D = a * Math.sin(l * ((2 * Math.PI) / t.columns)) + o,
+ v = t.rotateAccordingToDirection ? l * (360 / t.columns) + 90 : 0;
+ r.set(l, { row: i, column: l, x, y: D, rotation: v, width: c.width, height: c.height });
+ }
+ s.set(i, r);
+ }
+ } else if (t.mode === 'grid') {
+ e.resize(c.width * t.columns, c.height * t.rows);
+ for (let o = 0; o < t.rows; o++) {
+ const i = new Map();
+ for (let a = 0; a < t.columns; a++) {
+ const r = a * c.width,
+ l = o * c.height;
+ i.set(a, { row: o, column: a, x: r, y: l, rotation: 0, width: c.width, height: c.height });
+ }
+ s.set(o, i);
+ }
+ }
+ const d = [];
+ for (const o of t.rules) o.enabled && d.push(w.fromRule(o, t.mode));
+ for (let o = 0; o < t.rows; o++)
+ for (let i = 0; i < t.columns; i++) {
+ const a = (f = s.get(o)) == null ? void 0 : f.get(i);
+ if (!a) {
+ console.error('No position found for', o, i);
+ continue;
+ }
+ let r = a;
+ for (const l of d) r = l.process(r);
+ (m = s.get(o)) == null || m.set(i, r);
+ }
+ for (let o = 0; o < t.rows; o++)
+ for (let i = 0; i < t.columns; i++) {
+ penpot.ui.sendMessage({
+ type: 'send-progression',
+ content: { ratio: o / t.rows + (1 / t.rows / t.columns) * i }
+ });
+ const a = (p = s.get(o)) == null ? void 0 : p.get(i);
+ if (!a) {
+ console.error('No position found for', o, i);
+ continue;
+ }
+ const r = c.clone();
+ if (
+ (r.setPluginData('isSource', 'false'),
+ (r.name = r.name.replace(' (source)', ` (${o}, ${i})`)),
+ r.setPluginData('rowIndex', o.toString()),
+ r.setPluginData('columnIndex', i.toString()),
+ (r.hidden = !1),
+ !r)
+ ) {
+ console.error('No clone found (this is not supposed to happen)');
+ continue;
+ }
+ (r.blocked = !1),
+ r.resize(a.width, a.height),
+ t.mode === 'revolution'
+ ? ((r.x = a.x - a.width / 2 + e.x), (r.y = a.y - a.height / 2 + e.y))
+ : t.mode === 'grid' && ((r.x = a.x + e.x), (r.y = a.y + e.y)),
+ (r.rotation = c.rotation),
+ r.rotate(a.rotation, { x: r.x + r.width / 2, y: r.y + r.height / 2 }),
+ (r.blocked = !0);
+ }
+ penpot.ui.sendMessage({ type: 'acknowledge-update-pattern' }), (g = !1);
+}
+function z(e) {
+ return e.mode === 'revolution' && e.radius <= 0
+ ? { valid: !1, context: 'Radius must be greater than 0' }
+ : e.rows <= 0
+ ? { valid: !1, context: 'Rows must be greater than 0' }
+ : e.columns <= 0
+ ? { valid: !1, context: 'Columns must be greater than 0' }
+ : { valid: !0, context: '' };
+}
//# sourceMappingURL=plugin.DOro0ux_.js.map
diff --git a/docs/_app/version.json b/docs/_app/version.json
index 3408d1d..ef66f0b 100644
--- a/docs/_app/version.json
+++ b/docs/_app/version.json
@@ -1 +1 @@
-{"version":"1734294154162"}
\ No newline at end of file
+{ "version": "1734294154162" }
diff --git a/docs/index.html b/docs/index.html
index 99c7a0a..18dad9f 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -4,35 +4,47 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
Tiling Utility
To begin, select an element from which you would like to create a tiling.
Alternatively, select an existing pattern to modify it.
-
+
+
+
+
Tiling Utility
+
+
+ To begin, select an element from which you would like to create a tiling.
+
+
Alternatively, select an existing pattern to modify it.