firstly 0.0.12 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/esm/api/index.d.ts +1 -0
- package/esm/api/index.js +3 -1
- package/esm/auth/server/AuthController.server.d.ts +1 -1
- package/esm/auth/server/AuthController.server.js +19 -19
- package/esm/auth/server/handleGuard.d.ts +16 -0
- package/esm/auth/server/handleGuard.js +67 -0
- package/esm/auth/server/index.d.ts +3 -1
- package/esm/auth/server/index.js +3 -1
- package/esm/auth/server/module.d.ts +102 -83
- package/esm/auth/server/module.js +55 -42
- package/esm/auth/server/providers/github.d.ts +2 -1
- package/esm/auth/server/providers/github.js +1 -1
- package/esm/auth/static/assets/Page-BUfjaN-D.d.ts +5 -0
- package/esm/auth/static/assets/Page-BUfjaN-D.js +19 -0
- package/esm/auth/static/assets/Page-CJ58H1vl.css +1 -0
- package/esm/auth/static/assets/Page-CaDAqmBS.d.ts +5 -0
- package/esm/auth/static/assets/Page-CaDAqmBS.js +1 -0
- package/esm/auth/static/assets/Page-DhdZddzJ.d.ts +5 -0
- package/esm/auth/static/assets/Page-DhdZddzJ.js +1 -0
- package/esm/auth/static/assets/index-BDy4A_14.css +4 -0
- package/esm/auth/static/assets/index-D-Ztdt2o.d.ts +54 -0
- package/esm/auth/static/assets/index-D-Ztdt2o.js +2 -0
- package/esm/auth/static/index.html +11 -11
- package/esm/bin/cmd.js +119 -48
- package/esm/cellsBuildor.js +1 -1
- package/esm/common.d.ts +5 -0
- package/esm/common.js +8 -0
- package/esm/cron/server/index.js +1 -1
- package/esm/feedback/FeedbackController.js +1 -2
- package/esm/feedback/ui/DialogIssue.svelte +52 -56
- package/esm/feedback/ui/DialogIssues.svelte +71 -71
- package/esm/feedback/ui/DialogMilestones.svelte +22 -22
- package/esm/index.d.ts +2 -5
- package/esm/index.js +2 -8
- package/esm/mail/templates/DefaultMail.svelte +17 -17
- package/esm/storeItem.d.ts +1 -4
- package/esm/storeItem.js +1 -1
- package/esm/storeList.d.ts +1 -4
- package/esm/sveltekit/server/index.d.ts +3 -0
- package/esm/sveltekit/server/index.js +3 -0
- package/esm/ui/Button.svelte +33 -33
- package/esm/ui/Button.svelte.d.ts +2 -2
- package/esm/ui/Clipboardable.svelte +6 -6
- package/esm/ui/Clipboardable.svelte.d.ts +4 -4
- package/esm/ui/Field.svelte +139 -149
- package/esm/ui/Field.svelte.d.ts +2 -2
- package/esm/ui/FieldGroup.svelte +38 -38
- package/esm/ui/Grid.svelte +212 -222
- package/esm/ui/GridLoading.svelte +18 -22
- package/esm/ui/GridPaginate.svelte +38 -38
- package/esm/ui/Icon.svelte +50 -49
- package/esm/ui/Icon.svelte.d.ts +18 -18
- package/esm/ui/Loading.svelte +5 -5
- package/esm/ui/Tooltip.svelte +16 -16
- package/esm/ui/dialog/DialogForm.svelte +22 -22
- package/esm/ui/dialog/DialogManagement.svelte +74 -74
- package/esm/ui/dialog/DialogPrimitive.svelte +50 -50
- package/esm/ui/dialog/FormEditAction.svelte +34 -34
- package/esm/ui/dialog/dialog.d.ts +1 -4
- package/esm/ui/internals/FieldContainer.svelte +11 -11
- package/esm/ui/internals/FieldContainer.svelte.d.ts +3 -3
- package/esm/ui/internals/Input.svelte +25 -25
- package/esm/ui/internals/Input.svelte.d.ts +1 -1
- package/esm/ui/internals/Textarea.svelte +21 -21
- package/esm/ui/internals/Textarea.svelte.d.ts +2 -2
- package/esm/ui/internals/select/MultiSelectMelt.svelte +69 -73
- package/esm/ui/internals/select/SelectMelt.svelte +86 -86
- package/esm/ui/internals/select/SelectRadio.svelte +22 -22
- package/esm/ui/link/Link.svelte +14 -14
- package/esm/ui/link/Link.svelte.d.ts +3 -4
- package/esm/ui/link/LinkPlus.svelte +33 -35
- package/package.json +14 -18
- package/esm/auth/static/assets/Page-Bb8bFlrP.d.ts +0 -4
- package/esm/auth/static/assets/Page-Bb8bFlrP.js +0 -1
- package/esm/auth/static/assets/Page-BxomFlZ8.d.ts +0 -4
- package/esm/auth/static/assets/Page-BxomFlZ8.js +0 -1
- package/esm/auth/static/assets/Page-CaIYu0-y.d.ts +0 -6
- package/esm/auth/static/assets/Page-CaIYu0-y.js +0 -19
- package/esm/auth/static/assets/Page-MkYglNtu.css +0 -1
- package/esm/auth/static/assets/index-Bl0Bk5u0.d.ts +0 -64
- package/esm/auth/static/assets/index-Bl0Bk5u0.js +0 -2
- package/esm/auth/static/assets/index-R27C_TlP.css +0 -4
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
@charset "UTF-8";/*!
|
|
2
|
+
* Pico CSS ✨ v2.0.6 (https://picocss.com)
|
|
3
|
+
* Copyright 2019-2024 - Licensed under MIT
|
|
4
|
+
*/:root{--pico-font-family-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--pico-font-family-sans-serif: system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, Helvetica, Arial, "Helvetica Neue", sans-serif, var(--pico-font-family-emoji);--pico-font-family-monospace: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace, var(--pico-font-family-emoji);--pico-font-family: var(--pico-font-family-sans-serif);--pico-line-height: 1.5;--pico-font-weight: 400;--pico-font-size: 100%;--pico-text-underline-offset: .1rem;--pico-border-radius: .25rem;--pico-border-width: .0625rem;--pico-outline-width: .125rem;--pico-transition: .2s ease-in-out;--pico-spacing: 1rem;--pico-typography-spacing-vertical: 1rem;--pico-block-spacing-vertical: var(--pico-spacing);--pico-block-spacing-horizontal: var(--pico-spacing);--pico-form-element-spacing-vertical: .75rem;--pico-form-element-spacing-horizontal: 1rem;--pico-group-box-shadow: 0 0 0 rgba(0, 0, 0, 0);--pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);--pico-group-box-shadow-focus-with-input: 0 0 0 .0625rem var(--pico-form-element-border-color);--pico-modal-overlay-backdrop-filter: blur(.375rem);--pico-nav-element-spacing-vertical: 1rem;--pico-nav-element-spacing-horizontal: .5rem;--pico-nav-link-spacing-vertical: .5rem;--pico-nav-link-spacing-horizontal: .5rem;--pico-nav-breadcrumb-divider: ">";--pico-icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");--pico-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-date: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");--pico-icon-time: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");--pico-icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");--pico-icon-loading: url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 145, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E")}@media (min-width: 576px){:root{--pico-font-size: 106.25%}}@media (min-width: 768px){:root{--pico-font-size: 112.5%}}@media (min-width: 1024px){:root{--pico-font-size: 118.75%}}@media (min-width: 1280px){:root{--pico-font-size: 125%}}@media (min-width: 1536px){:root{--pico-font-size: 131.25%}}a{--pico-text-decoration: underline}small{--pico-font-size: .875em}h1,h2,h3,h4,h5,h6{--pico-font-weight: 700}h1{--pico-font-size: 2rem;--pico-line-height: 1.125;--pico-typography-spacing-top: 3rem}h2{--pico-font-size: 1.75rem;--pico-line-height: 1.15;--pico-typography-spacing-top: 2.625rem}h3{--pico-font-size: 1.5rem;--pico-line-height: 1.175;--pico-typography-spacing-top: 2.25rem}h4{--pico-font-size: 1.25rem;--pico-line-height: 1.2;--pico-typography-spacing-top: 1.874rem}h5{--pico-font-size: 1.125rem;--pico-line-height: 1.225;--pico-typography-spacing-top: 1.6875rem}h6{--pico-font-size: 1rem;--pico-line-height: 1.25;--pico-typography-spacing-top: 1.5rem}tfoot td,tfoot th,thead td,thead th{--pico-font-weight: 600;--pico-border-width: .1875rem}code,kbd,pre,samp{--pico-font-family: var(--pico-font-family-monospace)}kbd{--pico-font-weight: bolder}:where(select,textarea),input:not([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]){--pico-outline-width: .0625rem}[type=search]{--pico-border-radius: 5rem}[type=checkbox],[type=radio]{--pico-border-width: .125rem}[type=checkbox][role=switch]{--pico-border-width: .1875rem}[role=search]{--pico-border-radius: 5rem}[role=group] [role=button],[role=group] [type=button],[role=group] [type=submit],[role=group] button,[role=search] [role=button],[role=search] [type=button],[role=search] [type=submit],[role=search] button{--pico-form-element-spacing-horizontal: 2rem}details summary[role=button]:after{filter:brightness(0) invert(1)}[aria-busy=true]:not(input,select,textarea):is(button,[type=submit],[type=button],[type=reset],[role=button]):before{filter:brightness(0) invert(1)}:root:not([data-theme=dark]),[data-theme=light]{--pico-background-color: #fff;--pico-color: #373c44;--pico-text-selection-color: rgba(129, 145, 181, .25);--pico-muted-color: #646b79;--pico-muted-border-color: #e7eaf0;--pico-primary: #5d6b89;--pico-primary-background: #525f7a;--pico-primary-border: var(--pico-primary-background);--pico-primary-underline: rgba(93, 107, 137, .5);--pico-primary-hover: #48536b;--pico-primary-hover-background: #48536b;--pico-primary-hover-border: var(--pico-primary-hover-background);--pico-primary-hover-underline: var(--pico-primary-hover);--pico-primary-focus: rgba(129, 145, 181, .5);--pico-primary-inverse: #fff;--pico-secondary: #5d6b89;--pico-secondary-background: #525f7a;--pico-secondary-border: var(--pico-secondary-background);--pico-secondary-underline: rgba(93, 107, 137, .5);--pico-secondary-hover: #48536b;--pico-secondary-hover-background: #48536b;--pico-secondary-hover-border: var(--pico-secondary-hover-background);--pico-secondary-hover-underline: var(--pico-secondary-hover);--pico-secondary-focus: rgba(93, 107, 137, .25);--pico-secondary-inverse: #fff;--pico-contrast: #181c25;--pico-contrast-background: #181c25;--pico-contrast-border: var(--pico-contrast-background);--pico-contrast-underline: rgba(24, 28, 37, .5);--pico-contrast-hover: #000;--pico-contrast-hover-background: #000;--pico-contrast-hover-border: var(--pico-contrast-hover-background);--pico-contrast-hover-underline: var(--pico-secondary-hover);--pico-contrast-focus: rgba(93, 107, 137, .25);--pico-contrast-inverse: #fff;--pico-box-shadow: .0145rem .029rem .174rem rgba(129, 145, 181, .01698), .0335rem .067rem .402rem rgba(129, 145, 181, .024), .0625rem .125rem .75rem rgba(129, 145, 181, .03), .1125rem .225rem 1.35rem rgba(129, 145, 181, .036), .2085rem .417rem 2.502rem rgba(129, 145, 181, .04302), .5rem 1rem 6rem rgba(129, 145, 181, .06), 0 0 0 .0625rem rgba(129, 145, 181, .015);--pico-h1-color: #2d3138;--pico-h2-color: #373c44;--pico-h3-color: #424751;--pico-h4-color: #4d535e;--pico-h5-color: #5c6370;--pico-h6-color: #646b79;--pico-mark-background-color: #fde7c0;--pico-mark-color: #0f1114;--pico-ins-color: #1d6a54;--pico-del-color: #883935;--pico-blockquote-border-color: var(--pico-muted-border-color);--pico-blockquote-footer-color: var(--pico-muted-color);--pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);--pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);--pico-table-border-color: var(--pico-muted-border-color);--pico-table-row-stripped-background-color: rgba(111, 120, 135, .0375);--pico-code-background-color: #f3f5f7;--pico-code-color: #646b79;--pico-code-kbd-background-color: var(--pico-color);--pico-code-kbd-color: var(--pico-background-color);--pico-form-element-background-color: #fbfcfc;--pico-form-element-selected-background-color: #dfe3eb;--pico-form-element-border-color: #cfd5e2;--pico-form-element-color: #23262c;--pico-form-element-placeholder-color: var(--pico-muted-color);--pico-form-element-active-background-color: #fff;--pico-form-element-active-border-color: var(--pico-primary-border);--pico-form-element-focus-color: var(--pico-primary-border);--pico-form-element-disabled-opacity: .5;--pico-form-element-invalid-border-color: #b86a6b;--pico-form-element-invalid-active-border-color: #c84f48;--pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color);--pico-form-element-valid-border-color: #4c9b8a;--pico-form-element-valid-active-border-color: #279977;--pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color);--pico-switch-background-color: #bfc7d9;--pico-switch-checked-background-color: var(--pico-primary-background);--pico-switch-color: #fff;--pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);--pico-range-border-color: #dfe3eb;--pico-range-active-border-color: #bfc7d9;--pico-range-thumb-border-color: var(--pico-background-color);--pico-range-thumb-color: var(--pico-secondary-background);--pico-range-thumb-active-color: var(--pico-primary-background);--pico-accordion-border-color: var(--pico-muted-border-color);--pico-accordion-active-summary-color: var(--pico-primary-hover);--pico-accordion-close-summary-color: var(--pico-color);--pico-accordion-open-summary-color: var(--pico-muted-color);--pico-card-background-color: var(--pico-background-color);--pico-card-border-color: var(--pico-muted-border-color);--pico-card-box-shadow: var(--pico-box-shadow);--pico-card-sectioning-background-color: #fbfcfc;--pico-loading-spinner-opacity: .5;--pico-modal-overlay-background-color: rgba(232, 234, 237, .75);--pico-progress-background-color: #dfe3eb;--pico-progress-color: var(--pico-primary-background);--pico-tooltip-background-color: var(--pico-contrast-background);--pico-tooltip-color: var(--pico-contrast-inverse);--pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(76, 155, 138)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(200, 79, 72)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");color-scheme:light}:root:not([data-theme=dark]) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]),[data-theme=light] input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]){--pico-form-element-focus-color: var(--pico-primary-focus)}@media only screen and (prefers-color-scheme: dark){:root:not([data-theme]){--pico-background-color: #13171f;--pico-color: #c2c7d0;--pico-text-selection-color: rgba(144, 158, 190, .1875);--pico-muted-color: #7b8495;--pico-muted-border-color: #202632;--pico-primary: #909ebe;--pico-primary-background: #525f7a;--pico-primary-border: var(--pico-primary-background);--pico-primary-underline: rgba(144, 158, 190, .5);--pico-primary-hover: #b0b9d0;--pico-primary-hover-background: #5d6b89;--pico-primary-hover-border: var(--pico-primary-hover-background);--pico-primary-hover-underline: var(--pico-primary-hover);--pico-primary-focus: rgba(144, 158, 190, .375);--pico-primary-inverse: #fff;--pico-secondary: #969eaf;--pico-secondary-background: #525f7a;--pico-secondary-border: var(--pico-secondary-background);--pico-secondary-underline: rgba(150, 158, 175, .5);--pico-secondary-hover: #b3b9c5;--pico-secondary-hover-background: #5d6b89;--pico-secondary-hover-border: var(--pico-secondary-hover-background);--pico-secondary-hover-underline: var(--pico-secondary-hover);--pico-secondary-focus: rgba(144, 158, 190, .25);--pico-secondary-inverse: #fff;--pico-contrast: #dfe3eb;--pico-contrast-background: #eff1f4;--pico-contrast-border: var(--pico-contrast-background);--pico-contrast-underline: rgba(223, 227, 235, .5);--pico-contrast-hover: #fff;--pico-contrast-hover-background: #fff;--pico-contrast-hover-border: var(--pico-contrast-hover-background);--pico-contrast-hover-underline: var(--pico-contrast-hover);--pico-contrast-focus: rgba(207, 213, 226, .25);--pico-contrast-inverse: #000;--pico-box-shadow: .0145rem .029rem .174rem rgba(7, 9, 12, .01698), .0335rem .067rem .402rem rgba(7, 9, 12, .024), .0625rem .125rem .75rem rgba(7, 9, 12, .03), .1125rem .225rem 1.35rem rgba(7, 9, 12, .036), .2085rem .417rem 2.502rem rgba(7, 9, 12, .04302), .5rem 1rem 6rem rgba(7, 9, 12, .06), 0 0 0 .0625rem rgba(7, 9, 12, .015);--pico-h1-color: #f0f1f3;--pico-h2-color: #e0e3e7;--pico-h3-color: #c2c7d0;--pico-h4-color: #b3b9c5;--pico-h5-color: #a4acba;--pico-h6-color: #8891a4;--pico-mark-background-color: #014063;--pico-mark-color: #fff;--pico-ins-color: #62af9a;--pico-del-color: #ce7e7b;--pico-blockquote-border-color: var(--pico-muted-border-color);--pico-blockquote-footer-color: var(--pico-muted-color);--pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);--pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);--pico-table-border-color: var(--pico-muted-border-color);--pico-table-row-stripped-background-color: rgba(111, 120, 135, .0375);--pico-code-background-color: #1a1f28;--pico-code-color: #8891a4;--pico-code-kbd-background-color: var(--pico-color);--pico-code-kbd-color: var(--pico-background-color);--pico-form-element-background-color: #1c212c;--pico-form-element-selected-background-color: #2a3140;--pico-form-element-border-color: #2a3140;--pico-form-element-color: #e0e3e7;--pico-form-element-placeholder-color: #8891a4;--pico-form-element-active-background-color: #1a1f28;--pico-form-element-active-border-color: var(--pico-primary-border);--pico-form-element-focus-color: var(--pico-primary-border);--pico-form-element-disabled-opacity: .5;--pico-form-element-invalid-border-color: #964a50;--pico-form-element-invalid-active-border-color: #b7403b;--pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color);--pico-form-element-valid-border-color: #2a7b6f;--pico-form-element-valid-active-border-color: #16896a;--pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color);--pico-switch-background-color: #333c4e;--pico-switch-checked-background-color: var(--pico-primary-background);--pico-switch-color: #fff;--pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);--pico-range-border-color: #202632;--pico-range-active-border-color: #2a3140;--pico-range-thumb-border-color: var(--pico-background-color);--pico-range-thumb-color: var(--pico-secondary-background);--pico-range-thumb-active-color: var(--pico-primary-background);--pico-accordion-border-color: var(--pico-muted-border-color);--pico-accordion-active-summary-color: var(--pico-primary-hover);--pico-accordion-close-summary-color: var(--pico-color);--pico-accordion-open-summary-color: var(--pico-muted-color);--pico-card-background-color: #181c25;--pico-card-border-color: var(--pico-card-background-color);--pico-card-box-shadow: var(--pico-box-shadow);--pico-card-sectioning-background-color: #1a1f28;--pico-loading-spinner-opacity: .5;--pico-modal-overlay-background-color: rgba(8, 9, 10, .75);--pico-progress-background-color: #202632;--pico-progress-color: var(--pico-primary-background);--pico-tooltip-background-color: var(--pico-contrast-background);--pico-tooltip-color: var(--pico-contrast-inverse);--pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(150, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");color-scheme:dark}:root:not([data-theme]) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]){--pico-form-element-focus-color: var(--pico-primary-focus)}}[data-theme=dark]{--pico-background-color: #13171f;--pico-color: #c2c7d0;--pico-text-selection-color: rgba(144, 158, 190, .1875);--pico-muted-color: #7b8495;--pico-muted-border-color: #202632;--pico-primary: #909ebe;--pico-primary-background: #525f7a;--pico-primary-border: var(--pico-primary-background);--pico-primary-underline: rgba(144, 158, 190, .5);--pico-primary-hover: #b0b9d0;--pico-primary-hover-background: #5d6b89;--pico-primary-hover-border: var(--pico-primary-hover-background);--pico-primary-hover-underline: var(--pico-primary-hover);--pico-primary-focus: rgba(144, 158, 190, .375);--pico-primary-inverse: #fff;--pico-secondary: #969eaf;--pico-secondary-background: #525f7a;--pico-secondary-border: var(--pico-secondary-background);--pico-secondary-underline: rgba(150, 158, 175, .5);--pico-secondary-hover: #b3b9c5;--pico-secondary-hover-background: #5d6b89;--pico-secondary-hover-border: var(--pico-secondary-hover-background);--pico-secondary-hover-underline: var(--pico-secondary-hover);--pico-secondary-focus: rgba(144, 158, 190, .25);--pico-secondary-inverse: #fff;--pico-contrast: #dfe3eb;--pico-contrast-background: #eff1f4;--pico-contrast-border: var(--pico-contrast-background);--pico-contrast-underline: rgba(223, 227, 235, .5);--pico-contrast-hover: #fff;--pico-contrast-hover-background: #fff;--pico-contrast-hover-border: var(--pico-contrast-hover-background);--pico-contrast-hover-underline: var(--pico-contrast-hover);--pico-contrast-focus: rgba(207, 213, 226, .25);--pico-contrast-inverse: #000;--pico-box-shadow: .0145rem .029rem .174rem rgba(7, 9, 12, .01698), .0335rem .067rem .402rem rgba(7, 9, 12, .024), .0625rem .125rem .75rem rgba(7, 9, 12, .03), .1125rem .225rem 1.35rem rgba(7, 9, 12, .036), .2085rem .417rem 2.502rem rgba(7, 9, 12, .04302), .5rem 1rem 6rem rgba(7, 9, 12, .06), 0 0 0 .0625rem rgba(7, 9, 12, .015);--pico-h1-color: #f0f1f3;--pico-h2-color: #e0e3e7;--pico-h3-color: #c2c7d0;--pico-h4-color: #b3b9c5;--pico-h5-color: #a4acba;--pico-h6-color: #8891a4;--pico-mark-background-color: #014063;--pico-mark-color: #fff;--pico-ins-color: #62af9a;--pico-del-color: #ce7e7b;--pico-blockquote-border-color: var(--pico-muted-border-color);--pico-blockquote-footer-color: var(--pico-muted-color);--pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);--pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);--pico-table-border-color: var(--pico-muted-border-color);--pico-table-row-stripped-background-color: rgba(111, 120, 135, .0375);--pico-code-background-color: #1a1f28;--pico-code-color: #8891a4;--pico-code-kbd-background-color: var(--pico-color);--pico-code-kbd-color: var(--pico-background-color);--pico-form-element-background-color: #1c212c;--pico-form-element-selected-background-color: #2a3140;--pico-form-element-border-color: #2a3140;--pico-form-element-color: #e0e3e7;--pico-form-element-placeholder-color: #8891a4;--pico-form-element-active-background-color: #1a1f28;--pico-form-element-active-border-color: var(--pico-primary-border);--pico-form-element-focus-color: var(--pico-primary-border);--pico-form-element-disabled-opacity: .5;--pico-form-element-invalid-border-color: #964a50;--pico-form-element-invalid-active-border-color: #b7403b;--pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color);--pico-form-element-valid-border-color: #2a7b6f;--pico-form-element-valid-active-border-color: #16896a;--pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color);--pico-switch-background-color: #333c4e;--pico-switch-checked-background-color: var(--pico-primary-background);--pico-switch-color: #fff;--pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);--pico-range-border-color: #202632;--pico-range-active-border-color: #2a3140;--pico-range-thumb-border-color: var(--pico-background-color);--pico-range-thumb-color: var(--pico-secondary-background);--pico-range-thumb-active-color: var(--pico-primary-background);--pico-accordion-border-color: var(--pico-muted-border-color);--pico-accordion-active-summary-color: var(--pico-primary-hover);--pico-accordion-close-summary-color: var(--pico-color);--pico-accordion-open-summary-color: var(--pico-muted-color);--pico-card-background-color: #181c25;--pico-card-border-color: var(--pico-card-background-color);--pico-card-box-shadow: var(--pico-box-shadow);--pico-card-sectioning-background-color: #1a1f28;--pico-loading-spinner-opacity: .5;--pico-modal-overlay-background-color: rgba(8, 9, 10, .75);--pico-progress-background-color: #202632;--pico-progress-color: var(--pico-primary-background);--pico-tooltip-background-color: var(--pico-contrast-background);--pico-tooltip-color: var(--pico-contrast-inverse);--pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(150, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");color-scheme:dark}[data-theme=dark] input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]){--pico-form-element-focus-color: var(--pico-primary-focus)}[type=checkbox],[type=radio],[type=range],progress{accent-color:var(--pico-primary)}*,:after,:before{box-sizing:border-box;background-repeat:no-repeat}:after,:before{text-decoration:inherit;vertical-align:inherit}:where(:root){-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--pico-background-color);color:var(--pico-color);font-weight:var(--pico-font-weight);font-size:var(--pico-font-size);line-height:var(--pico-line-height);font-family:var(--pico-font-family);text-underline-offset:var(--pico-text-underline-offset);text-rendering:optimizeLegibility;overflow-wrap:break-word;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{width:100%;margin:0}main{display:block}body>footer,body>header,body>main{width:100%;margin-right:auto;margin-left:auto;padding:var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal)}@media (min-width: 576px){body>footer,body>header,body>main{max-width:510px;padding-right:0;padding-left:0}}@media (min-width: 768px){body>footer,body>header,body>main{max-width:700px}}@media (min-width: 1024px){body>footer,body>header,body>main{max-width:950px}}@media (min-width: 1280px){body>footer,body>header,body>main{max-width:1200px}}@media (min-width: 1536px){body>footer,body>header,body>main{max-width:1450px}}section{margin-bottom:var(--pico-block-spacing-vertical)}b,strong{font-weight:bolder}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}address,blockquote,dl,ol,p,pre,table,ul{margin-top:0;margin-bottom:var(--pico-typography-spacing-vertical);color:var(--pico-color);font-style:normal;font-weight:var(--pico-font-weight)}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:var(--pico-typography-spacing-vertical);color:var(--pico-color);font-weight:var(--pico-font-weight);font-size:var(--pico-font-size);line-height:var(--pico-line-height);font-family:var(--pico-font-family)}h1{--pico-color: var(--pico-h1-color)}h2{--pico-color: var(--pico-h2-color)}h3{--pico-color: var(--pico-h3-color)}h4{--pico-color: var(--pico-h4-color)}h5{--pico-color: var(--pico-h5-color)}h6{--pico-color: var(--pico-h6-color)}:where(article,address,blockquote,dl,figure,form,ol,p,pre,table,ul)~:is(h1,h2,h3,h4,h5,h6){margin-top:var(--pico-typography-spacing-top)}p{margin-bottom:var(--pico-typography-spacing-vertical)}hgroup{margin-bottom:var(--pico-typography-spacing-vertical)}hgroup>*{margin-top:0;margin-bottom:0}hgroup>:not(:first-child):last-child{--pico-color: var(--pico-muted-color);--pico-font-weight: unset;font-size:1rem}:where(ol,ul) li{margin-bottom:calc(var(--pico-typography-spacing-vertical) * .25)}:where(dl,ol,ul) :where(dl,ol,ul){margin:0;margin-top:calc(var(--pico-typography-spacing-vertical) * .25)}ul li{list-style:square}mark{padding:.125rem .25rem;background-color:var(--pico-mark-background-color);color:var(--pico-mark-color);vertical-align:baseline}blockquote{display:block;margin:var(--pico-typography-spacing-vertical) 0;padding:var(--pico-spacing);border-right:none;border-left:.25rem solid var(--pico-blockquote-border-color);border-inline-start:.25rem solid var(--pico-blockquote-border-color);border-inline-end:none}blockquote footer{margin-top:calc(var(--pico-typography-spacing-vertical) * .5);color:var(--pico-blockquote-footer-color)}abbr[title]{border-bottom:1px dotted;text-decoration:none;cursor:help}ins{color:var(--pico-ins-color);text-decoration:none}del{color:var(--pico-del-color)}::-moz-selection{background-color:var(--pico-text-selection-color)}::selection{background-color:var(--pico-text-selection-color)}:where(a:not([role=button])),[role=link]{--pico-color: var(--pico-primary);--pico-background-color: transparent;--pico-underline: var(--pico-primary-underline);outline:0;background-color:var(--pico-background-color);color:var(--pico-color);-webkit-text-decoration:var(--pico-text-decoration);text-decoration:var(--pico-text-decoration);text-decoration-color:var(--pico-underline);text-underline-offset:.125em;transition:background-color var(--pico-transition),color var(--pico-transition),box-shadow var(--pico-transition),-webkit-text-decoration var(--pico-transition);transition:background-color var(--pico-transition),color var(--pico-transition),text-decoration var(--pico-transition),box-shadow var(--pico-transition);transition:background-color var(--pico-transition),color var(--pico-transition),text-decoration var(--pico-transition),box-shadow var(--pico-transition),-webkit-text-decoration var(--pico-transition)}:where(a:not([role=button])):is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[role=link]:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-color: var(--pico-primary-hover);--pico-underline: var(--pico-primary-hover-underline);--pico-text-decoration: underline}:where(a:not([role=button])):focus-visible,[role=link]:focus-visible{box-shadow:0 0 0 var(--pico-outline-width) var(--pico-primary-focus)}a[role=button]{display:inline-block}button{margin:0;overflow:visible;font-family:inherit;text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[role=button],[type=button],[type=file]::file-selector-button,[type=reset],[type=submit],button{--pico-background-color: var(--pico-primary-background);--pico-border-color: var(--pico-primary-border);--pico-color: var(--pico-primary-inverse);--pico-box-shadow: var(--pico-button-box-shadow, 0 0 0 rgba(0, 0, 0, 0));padding:var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);border:var(--pico-border-width) solid var(--pico-border-color);border-radius:var(--pico-border-radius);outline:0;background-color:var(--pico-background-color);box-shadow:var(--pico-box-shadow);color:var(--pico-color);font-weight:var(--pico-font-weight);font-size:1rem;line-height:var(--pico-line-height);text-align:center;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color var(--pico-transition),border-color var(--pico-transition),color var(--pico-transition),box-shadow var(--pico-transition)}[role=button]:is(:hover,:active,:focus),[role=button]:is([aria-current]:not([aria-current=false])),[type=button]:is(:hover,:active,:focus),[type=button]:is([aria-current]:not([aria-current=false])),[type=file]::file-selector-button:is(:hover,:active,:focus),[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])),[type=reset]:is(:hover,:active,:focus),[type=reset]:is([aria-current]:not([aria-current=false])),[type=submit]:is(:hover,:active,:focus),[type=submit]:is([aria-current]:not([aria-current=false])),button:is(:hover,:active,:focus),button:is([aria-current]:not([aria-current=false])){--pico-background-color: var(--pico-primary-hover-background);--pico-border-color: var(--pico-primary-hover-border);--pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0));--pico-color: var(--pico-primary-inverse)}[role=button]:focus,[role=button]:is([aria-current]:not([aria-current=false])):focus,[type=button]:focus,[type=button]:is([aria-current]:not([aria-current=false])):focus,[type=file]::file-selector-button:focus,[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus,[type=reset]:focus,[type=reset]:is([aria-current]:not([aria-current=false])):focus,[type=submit]:focus,[type=submit]:is([aria-current]:not([aria-current=false])):focus,button:focus,button:is([aria-current]:not([aria-current=false])):focus{--pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-primary-focus)}[type=button],[type=reset],[type=submit]{margin-bottom:var(--pico-spacing)}[type=file]::file-selector-button,[type=reset]{--pico-background-color: var(--pico-secondary-background);--pico-border-color: var(--pico-secondary-border);--pico-color: var(--pico-secondary-inverse);cursor:pointer}[type=file]::file-selector-button:is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[type=reset]:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-background-color: var(--pico-secondary-hover-background);--pico-border-color: var(--pico-secondary-hover-border);--pico-color: var(--pico-secondary-inverse)}[type=file]::file-selector-button:focus,[type=reset]:focus{--pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus)}:where(button,[type=submit],[type=reset],[type=button],[role=button])[disabled],:where(fieldset[disabled]) :is(button,[type=submit],[type=button],[type=reset],[role=button]){opacity:.5;pointer-events:none}:where(table){width:100%;border-collapse:collapse;border-spacing:0;text-indent:0}td,th{padding:calc(var(--pico-spacing) / 2) var(--pico-spacing);border-bottom:var(--pico-border-width) solid var(--pico-table-border-color);background-color:var(--pico-background-color);color:var(--pico-color);font-weight:var(--pico-font-weight);text-align:left;text-align:start}tfoot td,tfoot th{border-top:var(--pico-border-width) solid var(--pico-table-border-color);border-bottom:0}table.striped tbody tr:nth-child(odd) td,table.striped tbody tr:nth-child(odd) th{background-color:var(--pico-table-row-stripped-background-color)}:where(audio,canvas,iframe,img,svg,video){vertical-align:middle}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}:where(iframe){border-style:none}img{max-width:100%;height:auto;border-style:none}:where(svg:not([fill])){fill:currentColor}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-size:.875em;font-family:var(--pico-font-family)}pre code{font-size:inherit;font-family:inherit}pre{-ms-overflow-style:scrollbar;overflow:auto}code,kbd,pre{border-radius:var(--pico-border-radius);background:var(--pico-code-background-color);color:var(--pico-code-color);font-weight:var(--pico-font-weight);line-height:initial}code,kbd{display:inline-block;padding:.375rem}pre{display:block;margin-bottom:var(--pico-spacing);overflow-x:auto}pre>code{display:block;padding:var(--pico-spacing);background:0 0;line-height:var(--pico-line-height)}kbd{background-color:var(--pico-code-kbd-background-color);color:var(--pico-code-kbd-color);vertical-align:baseline}figure{display:block;margin:0;padding:0}figure figcaption{padding:calc(var(--pico-spacing) * .5) 0;color:var(--pico-muted-color)}hr{height:0;margin:var(--pico-typography-spacing-vertical) 0;border:0;border-top:1px solid var(--pico-muted-border-color);color:inherit}[hidden],template{display:none!important}canvas{display:inline-block}input,optgroup,select,textarea{margin:0;font-size:1rem;line-height:var(--pico-line-height);font-family:inherit;letter-spacing:inherit}input{overflow:visible}select{text-transform:none}legend{max-width:100%;padding:0;color:inherit;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}::-moz-focus-inner{padding:0;border-style:none}:-moz-focusring{outline:0}:-moz-ui-invalid{box-shadow:none}::-ms-expand{display:none}[type=file],[type=range]{padding:0;border-width:0}input:not([type=checkbox],[type=radio],[type=range]){height:calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2)}fieldset{width:100%;margin:0;margin-bottom:var(--pico-spacing);padding:0;border:0}fieldset legend,label{display:block;margin-bottom:calc(var(--pico-spacing) * .375);color:var(--pico-color);font-weight:var(--pico-form-label-font-weight, var(--pico-font-weight))}fieldset legend{margin-bottom:calc(var(--pico-spacing) * .5)}button[type=submit],input:not([type=checkbox],[type=radio]),select,textarea{width:100%}input:not([type=checkbox],[type=radio],[type=range],[type=file]),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal)}input,select,textarea{--pico-background-color: var(--pico-form-element-background-color);--pico-border-color: var(--pico-form-element-border-color);--pico-color: var(--pico-form-element-color);--pico-box-shadow: none;border:var(--pico-border-width) solid var(--pico-border-color);border-radius:var(--pico-border-radius);outline:0;background-color:var(--pico-background-color);box-shadow:var(--pico-box-shadow);color:var(--pico-color);font-weight:var(--pico-font-weight);transition:background-color var(--pico-transition),border-color var(--pico-transition),color var(--pico-transition),box-shadow var(--pico-transition)}:where(select,textarea):not([readonly]):is(:active,:focus),input:not([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[readonly]):is(:active,:focus){--pico-background-color: var(--pico-form-element-active-background-color)}:where(select,textarea):not([readonly]):is(:active,:focus),input:not([type=submit],[type=button],[type=reset],[role=switch],[readonly]):is(:active,:focus){--pico-border-color: var(--pico-form-element-active-border-color)}:where(select,textarea):not([readonly]):focus,input:not([type=submit],[type=button],[type=reset],[type=range],[type=file],[readonly]):focus{--pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color)}:where(fieldset[disabled]) :is(input:not([type=submit],[type=button],[type=reset]),select,textarea),input:not([type=submit],[type=button],[type=reset])[disabled],label[aria-disabled=true],select[disabled],textarea[disabled]{opacity:var(--pico-form-element-disabled-opacity);pointer-events:none}label[aria-disabled=true] input[disabled]{opacity:1}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week],[type=range])[aria-invalid]{padding-right:calc(var(--pico-form-element-spacing-horizontal) + 1.5rem)!important;padding-left:var(--pico-form-element-spacing-horizontal);padding-inline-start:var(--pico-form-element-spacing-horizontal)!important;padding-inline-end:calc(var(--pico-form-element-spacing-horizontal) + 1.5rem)!important;background-position:center right .75rem;background-size:1rem auto;background-repeat:no-repeat}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week],[type=range])[aria-invalid=false]:not(select){background-image:var(--pico-icon-valid)}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week],[type=range])[aria-invalid=true]:not(select){background-image:var(--pico-icon-invalid)}:where(input,select,textarea)[aria-invalid=false]{--pico-border-color: var(--pico-form-element-valid-border-color)}:where(input,select,textarea)[aria-invalid=false]:is(:active,:focus){--pico-border-color: var(--pico-form-element-valid-active-border-color) !important}:where(input,select,textarea)[aria-invalid=false]:is(:active,:focus):not([type=checkbox],[type=radio]){--pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-valid-focus-color) !important}:where(input,select,textarea)[aria-invalid=true]{--pico-border-color: var(--pico-form-element-invalid-border-color)}:where(input,select,textarea)[aria-invalid=true]:is(:active,:focus){--pico-border-color: var(--pico-form-element-invalid-active-border-color) !important}:where(input,select,textarea)[aria-invalid=true]:is(:active,:focus):not([type=checkbox],[type=radio]){--pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-invalid-focus-color) !important}[dir=rtl] :where(input,select,textarea):not([type=checkbox],[type=radio]):is([aria-invalid],[aria-invalid=true],[aria-invalid=false]){background-position:center left .75rem}input::-webkit-input-placeholder,input::placeholder,select:invalid,textarea::-webkit-input-placeholder,textarea::placeholder{color:var(--pico-form-element-placeholder-color);opacity:1}input:not([type=checkbox],[type=radio]),select,textarea{margin-bottom:var(--pico-spacing)}select::-ms-expand{border:0;background-color:transparent}select:not([multiple],[size]){padding-right:calc(var(--pico-form-element-spacing-horizontal) + 1.5rem);padding-left:var(--pico-form-element-spacing-horizontal);padding-inline-start:var(--pico-form-element-spacing-horizontal);padding-inline-end:calc(var(--pico-form-element-spacing-horizontal) + 1.5rem);background-image:var(--pico-icon-chevron);background-position:center right .75rem;background-size:1rem auto;background-repeat:no-repeat}select[multiple] option:checked{background:var(--pico-form-element-selected-background-color);color:var(--pico-form-element-color)}[dir=rtl] select:not([multiple],[size]){background-position:center left .75rem}textarea{display:block;resize:vertical}textarea[aria-invalid]{--pico-icon-height: calc( 1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2 );background-position:top right .75rem!important;background-size:1rem var(--pico-icon-height)!important}:where(input,select,textarea,fieldset)+small{display:block;width:100%;margin-top:calc(var(--pico-spacing) * -.75);margin-bottom:var(--pico-spacing);color:var(--pico-muted-color)}:where(input,select,textarea,fieldset)[aria-invalid=false]+small{color:var(--pico-ins-color)}:where(input,select,textarea,fieldset)[aria-invalid=true]+small{color:var(--pico-del-color)}label>:where(input,select,textarea){margin-top:calc(var(--pico-spacing) * .25)}label:has([type=checkbox],[type=radio]){width:-moz-fit-content;width:fit-content;cursor:pointer}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.25em;height:1.25em;margin-top:-.125em;margin-inline-end:.5em;border-width:var(--pico-border-width);vertical-align:middle;cursor:pointer}[type=checkbox]::-ms-check,[type=radio]::-ms-check{display:none}[type=checkbox]:checked,[type=checkbox]:checked:active,[type=checkbox]:checked:focus,[type=radio]:checked,[type=radio]:checked:active,[type=radio]:checked:focus{--pico-background-color: var(--pico-primary-background);--pico-border-color: var(--pico-primary-border);background-image:var(--pico-icon-checkbox);background-position:center;background-size:.75em auto;background-repeat:no-repeat}[type=checkbox]~label,[type=radio]~label{display:inline-block;margin-bottom:0;cursor:pointer}[type=checkbox]~label:not(:last-of-type),[type=radio]~label:not(:last-of-type){margin-inline-end:1em}[type=checkbox]:indeterminate{--pico-background-color: var(--pico-primary-background);--pico-border-color: var(--pico-primary-border);background-image:var(--pico-icon-minus);background-position:center;background-size:.75em auto;background-repeat:no-repeat}[type=radio]{border-radius:50%}[type=radio]:checked,[type=radio]:checked:active,[type=radio]:checked:focus{--pico-background-color: var(--pico-primary-inverse);border-width:.35em;background-image:none}[type=checkbox][role=switch]{--pico-background-color: var(--pico-switch-background-color);--pico-color: var(--pico-switch-color);width:2.25em;height:1.25em;border:var(--pico-border-width) solid var(--pico-border-color);border-radius:1.25em;background-color:var(--pico-background-color);line-height:1.25em}[type=checkbox][role=switch]:not([aria-invalid]){--pico-border-color: var(--pico-switch-background-color)}[type=checkbox][role=switch]:before{display:block;aspect-ratio:1;height:100%;border-radius:50%;background-color:var(--pico-color);box-shadow:var(--pico-switch-thumb-box-shadow);content:"";transition:margin .1s ease-in-out}[type=checkbox][role=switch]:focus{--pico-background-color: var(--pico-switch-background-color);--pico-border-color: var(--pico-switch-background-color)}[type=checkbox][role=switch]:checked{--pico-background-color: var(--pico-switch-checked-background-color);--pico-border-color: var(--pico-switch-checked-background-color);background-image:none}[type=checkbox][role=switch]:checked:before{margin-inline-start:1em}[type=checkbox][role=switch][disabled]{--pico-background-color: var(--pico-border-color)}[type=checkbox][aria-invalid=false]:checked,[type=checkbox][aria-invalid=false]:checked:active,[type=checkbox][aria-invalid=false]:checked:focus,[type=checkbox][role=switch][aria-invalid=false]:checked,[type=checkbox][role=switch][aria-invalid=false]:checked:active,[type=checkbox][role=switch][aria-invalid=false]:checked:focus{--pico-background-color: var(--pico-form-element-valid-border-color)}[type=checkbox]:checked:active[aria-invalid=true],[type=checkbox]:checked:focus[aria-invalid=true],[type=checkbox]:checked[aria-invalid=true],[type=checkbox][role=switch]:checked:active[aria-invalid=true],[type=checkbox][role=switch]:checked:focus[aria-invalid=true],[type=checkbox][role=switch]:checked[aria-invalid=true]{--pico-background-color: var(--pico-form-element-invalid-border-color)}[type=checkbox][aria-invalid=false]:checked,[type=checkbox][aria-invalid=false]:checked:active,[type=checkbox][aria-invalid=false]:checked:focus,[type=checkbox][role=switch][aria-invalid=false]:checked,[type=checkbox][role=switch][aria-invalid=false]:checked:active,[type=checkbox][role=switch][aria-invalid=false]:checked:focus,[type=radio][aria-invalid=false]:checked,[type=radio][aria-invalid=false]:checked:active,[type=radio][aria-invalid=false]:checked:focus{--pico-border-color: var(--pico-form-element-valid-border-color)}[type=checkbox]:checked:active[aria-invalid=true],[type=checkbox]:checked:focus[aria-invalid=true],[type=checkbox]:checked[aria-invalid=true],[type=checkbox][role=switch]:checked:active[aria-invalid=true],[type=checkbox][role=switch]:checked:focus[aria-invalid=true],[type=checkbox][role=switch]:checked[aria-invalid=true],[type=radio]:checked:active[aria-invalid=true],[type=radio]:checked:focus[aria-invalid=true],[type=radio]:checked[aria-invalid=true]{--pico-border-color: var(--pico-form-element-invalid-border-color)}[type=color]::-webkit-color-swatch-wrapper{padding:0}[type=color]::-moz-focus-inner{padding:0}[type=color]::-webkit-color-swatch{border:0;border-radius:calc(var(--pico-border-radius) * .5)}[type=color]::-moz-color-swatch{border:0;border-radius:calc(var(--pico-border-radius) * .5)}input:not([type=checkbox],[type=radio],[type=range],[type=file]):is([type=date],[type=datetime-local],[type=month],[type=time],[type=week]){--pico-icon-position: .75rem;--pico-icon-width: 1rem;padding-right:calc(var(--pico-icon-width) + var(--pico-icon-position));background-image:var(--pico-icon-date);background-position:center right var(--pico-icon-position);background-size:var(--pico-icon-width) auto;background-repeat:no-repeat}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=time]{background-image:var(--pico-icon-time)}[type=date]::-webkit-calendar-picker-indicator,[type=datetime-local]::-webkit-calendar-picker-indicator,[type=month]::-webkit-calendar-picker-indicator,[type=time]::-webkit-calendar-picker-indicator,[type=week]::-webkit-calendar-picker-indicator{width:var(--pico-icon-width);margin-right:calc(var(--pico-icon-width) * -1);margin-left:var(--pico-icon-position);opacity:0}@-moz-document url-prefix(){[type=date],[type=datetime-local],[type=month],[type=time],[type=week]{padding-right:var(--pico-form-element-spacing-horizontal)!important;background-image:none!important}}[dir=rtl] :is([type=date],[type=datetime-local],[type=month],[type=time],[type=week]){text-align:right}[type=file]{--pico-color: var(--pico-muted-color);margin-left:calc(var(--pico-outline-width) * -1);padding:calc(var(--pico-form-element-spacing-vertical) * .5) 0;padding-left:var(--pico-outline-width);border:0;border-radius:0;background:0 0}[type=file]::file-selector-button{margin-right:calc(var(--pico-spacing) / 2);padding:calc(var(--pico-form-element-spacing-vertical) * .5) var(--pico-form-element-spacing-horizontal)}[type=file]:is(:hover,:active,:focus)::file-selector-button{--pico-background-color: var(--pico-secondary-hover-background);--pico-border-color: var(--pico-secondary-hover-border)}[type=file]:focus::file-selector-button{--pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus)}[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:1.25rem;background:0 0}[type=range]::-webkit-slider-runnable-track{width:100%;height:.375rem;border-radius:var(--pico-border-radius);background-color:var(--pico-range-border-color);-webkit-transition:background-color var(--pico-transition),box-shadow var(--pico-transition);transition:background-color var(--pico-transition),box-shadow var(--pico-transition)}[type=range]::-moz-range-track{width:100%;height:.375rem;border-radius:var(--pico-border-radius);background-color:var(--pico-range-border-color);-moz-transition:background-color var(--pico-transition),box-shadow var(--pico-transition);transition:background-color var(--pico-transition),box-shadow var(--pico-transition)}[type=range]::-ms-track{width:100%;height:.375rem;border-radius:var(--pico-border-radius);background-color:var(--pico-range-border-color);-ms-transition:background-color var(--pico-transition),box-shadow var(--pico-transition);transition:background-color var(--pico-transition),box-shadow var(--pico-transition)}[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.4375rem;border:2px solid var(--pico-range-thumb-border-color);border-radius:50%;background-color:var(--pico-range-thumb-color);cursor:pointer;-webkit-transition:background-color var(--pico-transition),transform var(--pico-transition);transition:background-color var(--pico-transition),transform var(--pico-transition)}[type=range]::-moz-range-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.4375rem;border:2px solid var(--pico-range-thumb-border-color);border-radius:50%;background-color:var(--pico-range-thumb-color);cursor:pointer;-moz-transition:background-color var(--pico-transition),transform var(--pico-transition);transition:background-color var(--pico-transition),transform var(--pico-transition)}[type=range]::-ms-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.4375rem;border:2px solid var(--pico-range-thumb-border-color);border-radius:50%;background-color:var(--pico-range-thumb-color);cursor:pointer;-ms-transition:background-color var(--pico-transition),transform var(--pico-transition);transition:background-color var(--pico-transition),transform var(--pico-transition)}[type=range]:active,[type=range]:focus-within{--pico-range-border-color: var(--pico-range-active-border-color);--pico-range-thumb-color: var(--pico-range-thumb-active-color)}[type=range]:active::-webkit-slider-thumb{transform:scale(1.25)}[type=range]:active::-moz-range-thumb{transform:scale(1.25)}[type=range]:active::-ms-thumb{transform:scale(1.25)}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search]{padding-inline-start:calc(var(--pico-form-element-spacing-horizontal) + 1.75rem);background-image:var(--pico-icon-search);background-position:center left calc(var(--pico-form-element-spacing-horizontal) + .125rem);background-size:1rem auto;background-repeat:no-repeat}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid]{padding-inline-start:calc(var(--pico-form-element-spacing-horizontal) + 1.75rem)!important;background-position:center left 1.125rem,center right .75rem}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid=false]{background-image:var(--pico-icon-search),var(--pico-icon-valid)}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid=true]{background-image:var(--pico-icon-search),var(--pico-icon-invalid)}[dir=rtl] :where(input):not([type=checkbox],[type=radio],[type=range],[type=file])[type=search]{background-position:center right 1.125rem}[dir=rtl] :where(input):not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid]{background-position:center right 1.125rem,center left .75rem}details{display:block;margin-bottom:var(--pico-spacing)}details summary{line-height:1rem;list-style-type:none;cursor:pointer;transition:color var(--pico-transition)}details summary:not([role]){color:var(--pico-accordion-close-summary-color)}details summary::-webkit-details-marker{display:none}details summary::marker{display:none}details summary::-moz-list-bullet{list-style-type:none}details summary:after{display:block;width:1rem;height:1rem;margin-inline-start:calc(var(--pico-spacing, 1rem) * .5);float:right;transform:rotate(-90deg);background-image:var(--pico-icon-chevron);background-position:right center;background-size:1rem auto;background-repeat:no-repeat;content:"";transition:transform var(--pico-transition)}details summary:focus{outline:0}details summary:focus:not([role]){color:var(--pico-accordion-active-summary-color)}details summary:focus-visible:not([role]){outline:var(--pico-outline-width) solid var(--pico-primary-focus);outline-offset:calc(var(--pico-spacing, 1rem) * .5);color:var(--pico-primary)}details summary[role=button]{width:100%;text-align:left}details summary[role=button]:after{height:calc(1rem * var(--pico-line-height, 1.5))}details[open]>summary{margin-bottom:var(--pico-spacing)}details[open]>summary:not([role]):not(:focus){color:var(--pico-accordion-open-summary-color)}details[open]>summary:after{transform:rotate(0)}[dir=rtl] details summary{text-align:right}[dir=rtl] details summary:after{float:left;background-position:left center}article{margin-bottom:var(--pico-block-spacing-vertical);padding:var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal);border-radius:var(--pico-border-radius);background:var(--pico-card-background-color);box-shadow:var(--pico-card-box-shadow)}article>footer,article>header{margin-right:calc(var(--pico-block-spacing-horizontal) * -1);margin-left:calc(var(--pico-block-spacing-horizontal) * -1);padding:calc(var(--pico-block-spacing-vertical) * .66) var(--pico-block-spacing-horizontal);background-color:var(--pico-card-sectioning-background-color)}article>header{margin-top:calc(var(--pico-block-spacing-vertical) * -1);margin-bottom:var(--pico-block-spacing-vertical);border-bottom:var(--pico-border-width) solid var(--pico-card-border-color);border-top-right-radius:var(--pico-border-radius);border-top-left-radius:var(--pico-border-radius)}article>footer{margin-top:var(--pico-block-spacing-vertical);margin-bottom:calc(var(--pico-block-spacing-vertical) * -1);border-top:var(--pico-border-width) solid var(--pico-card-border-color);border-bottom-right-radius:var(--pico-border-radius);border-bottom-left-radius:var(--pico-border-radius)}[role=group],[role=search]{display:inline-flex;position:relative;width:100%;margin-bottom:var(--pico-spacing);border-radius:var(--pico-border-radius);box-shadow:var(--pico-group-box-shadow, 0 0 0 transparent);vertical-align:middle;transition:box-shadow var(--pico-transition)}[role=group] input:not([type=checkbox],[type=radio]),[role=group] select,[role=group]>*,[role=search] input:not([type=checkbox],[type=radio]),[role=search] select,[role=search]>*{position:relative;flex:1 1 auto;margin-bottom:0}[role=group] input:not([type=checkbox],[type=radio]):not(:first-child),[role=group] select:not(:first-child),[role=group]>:not(:first-child),[role=search] input:not([type=checkbox],[type=radio]):not(:first-child),[role=search] select:not(:first-child),[role=search]>:not(:first-child){margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}[role=group] input:not([type=checkbox],[type=radio]):not(:last-child),[role=group] select:not(:last-child),[role=group]>:not(:last-child),[role=search] input:not([type=checkbox],[type=radio]):not(:last-child),[role=search] select:not(:last-child),[role=search]>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}[role=group] input:not([type=checkbox],[type=radio]):focus,[role=group] select:focus,[role=group]>:focus,[role=search] input:not([type=checkbox],[type=radio]):focus,[role=search] select:focus,[role=search]>:focus{z-index:2}[role=group] [role=button]:not(:first-child),[role=group] [type=button]:not(:first-child),[role=group] [type=reset]:not(:first-child),[role=group] [type=submit]:not(:first-child),[role=group] button:not(:first-child),[role=group] input:not([type=checkbox],[type=radio]):not(:first-child),[role=group] select:not(:first-child),[role=search] [role=button]:not(:first-child),[role=search] [type=button]:not(:first-child),[role=search] [type=reset]:not(:first-child),[role=search] [type=submit]:not(:first-child),[role=search] button:not(:first-child),[role=search] input:not([type=checkbox],[type=radio]):not(:first-child),[role=search] select:not(:first-child){margin-left:calc(var(--pico-border-width) * -1)}[role=group] [role=button],[role=group] [type=button],[role=group] [type=reset],[role=group] [type=submit],[role=group] button,[role=search] [role=button],[role=search] [type=button],[role=search] [type=reset],[role=search] [type=submit],[role=search] button{width:auto}@supports selector(:has(*)){[role=group]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus),[role=search]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus){--pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-button)}[role=group]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) input:not([type=checkbox],[type=radio]),[role=group]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) select,[role=search]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) input:not([type=checkbox],[type=radio]),[role=search]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) select{border-color:transparent}[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus),[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus){--pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-input)}[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [role=button],[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=button],[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=submit],[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) button,[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [role=button],[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=button],[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=submit],[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) button{--pico-button-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-border);--pico-button-hover-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-hover-border)}[role=group] [role=button]:focus,[role=group] [type=button]:focus,[role=group] [type=reset]:focus,[role=group] [type=submit]:focus,[role=group] button:focus,[role=search] [role=button]:focus,[role=search] [type=button]:focus,[role=search] [type=reset]:focus,[role=search] [type=submit]:focus,[role=search] button:focus{box-shadow:none}}[role=search]>:first-child{border-top-left-radius:5rem;border-bottom-left-radius:5rem}[role=search]>:last-child{border-top-right-radius:5rem;border-bottom-right-radius:5rem}[aria-busy=true]:not(input,select,textarea,html){white-space:nowrap}[aria-busy=true]:not(input,select,textarea,html):before{display:inline-block;width:1em;height:1em;background-image:var(--pico-icon-loading);background-size:1em auto;background-repeat:no-repeat;content:"";vertical-align:-.125em}[aria-busy=true]:not(input,select,textarea,html):not(:empty):before{margin-inline-end:calc(var(--pico-spacing) * .5)}[aria-busy=true]:not(input,select,textarea,html):empty{text-align:center}[role=button][aria-busy=true],[type=button][aria-busy=true],[type=reset][aria-busy=true],[type=submit][aria-busy=true],a[aria-busy=true],button[aria-busy=true]{pointer-events:none}:root{--pico-scrollbar-width: 0px}dialog{display:flex;z-index:999;position:fixed;top:0;right:0;bottom:0;left:0;align-items:center;justify-content:center;width:inherit;min-width:100%;height:inherit;min-height:100%;padding:0;border:0;-webkit-backdrop-filter:var(--pico-modal-overlay-backdrop-filter);backdrop-filter:var(--pico-modal-overlay-backdrop-filter);background-color:var(--pico-modal-overlay-background-color);color:var(--pico-color)}dialog article{width:100%;max-height:calc(100vh - var(--pico-spacing) * 2);margin:var(--pico-spacing);overflow:auto}@media (min-width: 576px){dialog article{max-width:510px}}@media (min-width: 768px){dialog article{max-width:700px}}dialog article>header>*{margin-bottom:0}dialog article>header :is(a,button)[rel=prev]{margin:0;margin-left:var(--pico-spacing);padding:0;float:right}dialog article>footer{text-align:right}dialog article>footer [role=button],dialog article>footer button{margin-bottom:0}dialog article>footer [role=button]:not(:first-of-type),dialog article>footer button:not(:first-of-type){margin-left:calc(var(--pico-spacing) * .5)}dialog article :is(a,button)[rel=prev]{display:block;width:1rem;height:1rem;margin-top:calc(var(--pico-spacing) * -1);margin-bottom:var(--pico-spacing);margin-left:auto;border:none;background-image:var(--pico-icon-close);background-position:center;background-size:auto 1rem;background-repeat:no-repeat;background-color:transparent;opacity:.5;transition:opacity var(--pico-transition)}dialog article :is(a,button)[rel=prev]:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){opacity:1}dialog:not([open]),dialog[open=false]{display:none}:where(nav li):before{float:left;content:""}nav,nav ul{display:flex}nav{justify-content:space-between;overflow:visible}nav ol,nav ul{align-items:center;margin-bottom:0;padding:0;list-style:none}nav ol:first-of-type,nav ul:first-of-type{margin-left:calc(var(--pico-nav-element-spacing-horizontal) * -1)}nav ol:last-of-type,nav ul:last-of-type{margin-right:calc(var(--pico-nav-element-spacing-horizontal) * -1)}nav li{display:inline-block;margin:0;padding:var(--pico-nav-element-spacing-vertical) var(--pico-nav-element-spacing-horizontal)}nav li :where(a,[role=link]){display:inline-block;margin:calc(var(--pico-nav-link-spacing-vertical) * -1) calc(var(--pico-nav-link-spacing-horizontal) * -1);padding:var(--pico-nav-link-spacing-vertical) var(--pico-nav-link-spacing-horizontal);border-radius:var(--pico-border-radius)}nav li :where(a,[role=link]):not(:hover){text-decoration:none}nav li [role=button],nav li [type=button],nav li button,nav li input:not([type=checkbox],[type=radio],[type=range],[type=file]),nav li select{height:auto;margin-right:inherit;margin-bottom:0;margin-left:inherit;padding:calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal)}nav[aria-label=breadcrumb]{align-items:center;justify-content:start}nav[aria-label=breadcrumb] ul li:not(:first-child){margin-inline-start:var(--pico-nav-link-spacing-horizontal)}nav[aria-label=breadcrumb] ul li a{margin:calc(var(--pico-nav-link-spacing-vertical) * -1) 0;margin-inline-start:calc(var(--pico-nav-link-spacing-horizontal) * -1)}nav[aria-label=breadcrumb] ul li:not(:last-child):after{display:inline-block;position:absolute;width:calc(var(--pico-nav-link-spacing-horizontal) * 4);margin:0 calc(var(--pico-nav-link-spacing-horizontal) * -1);content:var(--pico-nav-breadcrumb-divider);color:var(--pico-muted-color);text-align:center;text-decoration:none;white-space:nowrap}nav[aria-label=breadcrumb] a[aria-current]:not([aria-current=false]){background-color:transparent;color:inherit;text-decoration:none;pointer-events:none}aside li,aside nav,aside ol,aside ul{display:block}aside li{padding:calc(var(--pico-nav-element-spacing-vertical) * .5) var(--pico-nav-element-spacing-horizontal)}aside li a{display:block}aside li [role=button]{margin:inherit}[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) :after{content:"\\"}progress{display:inline-block;vertical-align:baseline}progress{-webkit-appearance:none;-moz-appearance:none;display:inline-block;appearance:none;width:100%;height:.5rem;margin-bottom:calc(var(--pico-spacing) * .5);overflow:hidden;border:0;border-radius:var(--pico-border-radius);background-color:var(--pico-progress-background-color);color:var(--pico-progress-color)}progress::-webkit-progress-bar{border-radius:var(--pico-border-radius);background:0 0}progress[value]::-webkit-progress-value{background-color:var(--pico-progress-color);-webkit-transition:inline-size var(--pico-transition);transition:inline-size var(--pico-transition)}progress::-moz-progress-bar{background-color:var(--pico-progress-color)}@media (prefers-reduced-motion: no-preference){progress:indeterminate{background:var(--pico-progress-background-color) linear-gradient(to right,var(--pico-progress-color) 30%,var(--pico-progress-background-color) 30%) top left/150% 150% no-repeat;animation:progress-indeterminate 1s linear infinite}progress:indeterminate[value]::-webkit-progress-value{background-color:transparent}progress:indeterminate::-moz-progress-bar{background-color:transparent}}@media (prefers-reduced-motion: no-preference){[dir=rtl] progress:indeterminate{animation-direction:reverse}}@keyframes progress-indeterminate{0%{background-position:200% 0}to{background-position:-200% 0}}[data-tooltip]{position:relative}[data-tooltip]:not(a,button,input){border-bottom:1px dotted;text-decoration:none;cursor:help}[data-tooltip]:after,[data-tooltip]:before,[data-tooltip][data-placement=top]:after,[data-tooltip][data-placement=top]:before{display:block;z-index:99;position:absolute;bottom:100%;left:50%;padding:.25rem .5rem;overflow:hidden;transform:translate(-50%,-.25rem);border-radius:var(--pico-border-radius);background:var(--pico-tooltip-background-color);content:attr(data-tooltip);color:var(--pico-tooltip-color);font-style:normal;font-weight:var(--pico-font-weight);font-size:.875rem;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;opacity:0;pointer-events:none}[data-tooltip]:after,[data-tooltip][data-placement=top]:after{padding:0;transform:translate(-50%);border-top:.3rem solid;border-right:.3rem solid transparent;border-left:.3rem solid transparent;border-radius:0;background-color:transparent;content:"";color:var(--pico-tooltip-background-color)}[data-tooltip][data-placement=bottom]:after,[data-tooltip][data-placement=bottom]:before{top:100%;bottom:auto;transform:translate(-50%,.25rem)}[data-tooltip][data-placement=bottom]:after{transform:translate(-50%,-.3rem);border:.3rem solid transparent;border-bottom:.3rem solid}[data-tooltip][data-placement=left]:after,[data-tooltip][data-placement=left]:before{top:50%;right:100%;bottom:auto;left:auto;transform:translate(-.25rem,-50%)}[data-tooltip][data-placement=left]:after{transform:translate(.3rem,-50%);border:.3rem solid transparent;border-left:.3rem solid}[data-tooltip][data-placement=right]:after,[data-tooltip][data-placement=right]:before{top:50%;right:auto;bottom:auto;left:100%;transform:translate(.25rem,-50%)}[data-tooltip][data-placement=right]:after{transform:translate(-.3rem,-50%);border:.3rem solid transparent;border-right:.3rem solid}[data-tooltip]:focus:after,[data-tooltip]:focus:before,[data-tooltip]:hover:after,[data-tooltip]:hover:before{opacity:1}@media (hover: hover) and (pointer: fine){[data-tooltip]:focus:after,[data-tooltip]:focus:before,[data-tooltip]:hover:after,[data-tooltip]:hover:before{--pico-tooltip-slide-to: translate(-50%, -.25rem);transform:translate(-50%,.75rem);animation-duration:.2s;animation-fill-mode:forwards;animation-name:tooltip-slide;opacity:0}[data-tooltip]:focus:after,[data-tooltip]:hover:after{--pico-tooltip-caret-slide-to: translate(-50%, 0rem);transform:translate(-50%,-.25rem);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=bottom]:focus:after,[data-tooltip][data-placement=bottom]:focus:before,[data-tooltip][data-placement=bottom]:hover:after,[data-tooltip][data-placement=bottom]:hover:before{--pico-tooltip-slide-to: translate(-50%, .25rem);transform:translate(-50%,-.75rem);animation-name:tooltip-slide}[data-tooltip][data-placement=bottom]:focus:after,[data-tooltip][data-placement=bottom]:hover:after{--pico-tooltip-caret-slide-to: translate(-50%, -.3rem);transform:translate(-50%,-.5rem);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=left]:focus:after,[data-tooltip][data-placement=left]:focus:before,[data-tooltip][data-placement=left]:hover:after,[data-tooltip][data-placement=left]:hover:before{--pico-tooltip-slide-to: translate(-.25rem, -50%);transform:translate(.75rem,-50%);animation-name:tooltip-slide}[data-tooltip][data-placement=left]:focus:after,[data-tooltip][data-placement=left]:hover:after{--pico-tooltip-caret-slide-to: translate(.3rem, -50%);transform:translate(.05rem,-50%);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=right]:focus:after,[data-tooltip][data-placement=right]:focus:before,[data-tooltip][data-placement=right]:hover:after,[data-tooltip][data-placement=right]:hover:before{--pico-tooltip-slide-to: translate(.25rem, -50%);transform:translate(-.75rem,-50%);animation-name:tooltip-slide}[data-tooltip][data-placement=right]:focus:after,[data-tooltip][data-placement=right]:hover:after{--pico-tooltip-caret-slide-to: translate(-.3rem, -50%);transform:translate(-.05rem,-50%);animation-name:tooltip-caret-slide}}@keyframes tooltip-slide{to{transform:var(--pico-tooltip-slide-to);opacity:1}}@keyframes tooltip-caret-slide{50%{opacity:0}to{transform:var(--pico-tooltip-caret-slide-to);opacity:1}}[aria-controls]{cursor:pointer}[aria-disabled=true],[disabled]{cursor:not-allowed}[aria-hidden=false][hidden]{display:initial}[aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);position:absolute}[tabindex],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation}[dir=rtl]{direction:rtl}@media (prefers-reduced-motion: reduce){:not([aria-busy=true]),:not([aria-busy=true]):after,:not([aria-busy=true]):before{background-attachment:initial!important;animation-duration:1ms!important;animation-delay:-1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:0s!important}}:root{--pico-font-family-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--pico-font-family-sans-serif: system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, Helvetica, Arial, "Helvetica Neue", sans-serif, var(--pico-font-family-emoji);--pico-font-family-monospace: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace, var(--pico-font-family-emoji);--pico-font-family: var(--pico-font-family-sans-serif);--pico-line-height: 1.5;--pico-font-weight: 400;--pico-font-size: 100%;--pico-text-underline-offset: .1rem;--pico-border-radius: .25rem;--pico-border-width: .0625rem;--pico-outline-width: .125rem;--pico-transition: .2s ease-in-out;--pico-spacing: .5rem;--pico-typography-spacing-vertical: .5rem;--pico-block-spacing-vertical: var(--pico-spacing);--pico-block-spacing-horizontal: var(--pico-spacing);--pico-grid-column-gap: var(--pico-spacing);--pico-grid-row-gap: var(--pico-spacing);--pico-form-element-spacing-vertical: .5rem;--pico-form-element-spacing-horizontal: .5rem;--pico-group-box-shadow: 0 0 0 rgba(0, 0, 0, 0);--pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);--pico-group-box-shadow-focus-with-input: 0 0 0 .0625rem var(--pico-form-element-border-color);--pico-modal-overlay-backdrop-filter: blur(.375rem);--pico-nav-element-spacing-vertical: 1rem;--pico-nav-element-spacing-horizontal: .5rem;--pico-nav-link-spacing-vertical: .5rem;--pico-nav-link-spacing-horizontal: .5rem;--pico-nav-breadcrumb-divider: ">";--pico-icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");--pico-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-date: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");--pico-icon-time: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");--pico-icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");--pico-icon-loading: url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 145, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E")}.message:empty{display:none}.message{background:var(--pico-muted-border-color);padding:var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);border-radius:var(--pico-border-radius);margin-bottom:calc(var(--pico-typography-spacing-vertical) * 2)}.message.error{background:var(--pico-del-color);color:#4c1513}.message.success{background:var(--pico-ins-color);color:#134c15}.debug.svelte-1vqrvep{display:flex;position:fixed;gap:5px;bottom:5px;right:5px}button.svelte-1vqrvep{font-size:11px}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
declare function q(e: any): any;
|
|
2
|
+
declare function Xe(e: any, t: any): void;
|
|
3
|
+
declare function He(e: any): any;
|
|
4
|
+
declare function pe(e: any, t: any, n: any, r: any): () => any;
|
|
5
|
+
declare function We(e: any, t: any): {};
|
|
6
|
+
declare function ze(e: any): {};
|
|
7
|
+
declare function ot(e: any, t: any): void;
|
|
8
|
+
declare function I(e: any): Text;
|
|
9
|
+
declare function ee(): Text;
|
|
10
|
+
declare function R(e: any, t: any, n: any): void;
|
|
11
|
+
declare function Ze(e: any, t: any, n: any): void;
|
|
12
|
+
declare function Je(e: any, t: any): void;
|
|
13
|
+
declare function Ye(e: any, t: any): void;
|
|
14
|
+
declare function Qe(e: any): (t: any) => any;
|
|
15
|
+
declare function be(e: any, t: any): void;
|
|
16
|
+
declare function xe(e: any): void;
|
|
17
|
+
declare function oe(e: any, t: any, n: any): void;
|
|
18
|
+
declare function se(e: any, t: any): void;
|
|
19
|
+
declare class Pe {
|
|
20
|
+
$destroy(): void;
|
|
21
|
+
$on(t: any, n: any): typeof a;
|
|
22
|
+
$set(t: any): void;
|
|
23
|
+
}
|
|
24
|
+
declare const F: any[];
|
|
25
|
+
declare function ct(e: any, t: any, n: any): void;
|
|
26
|
+
declare function st(e: any): void;
|
|
27
|
+
declare function Re(e: any, t: any): boolean;
|
|
28
|
+
declare function de(e: any, t: any): any;
|
|
29
|
+
declare function Le(e: any, t: any, n: any, r: any, s: any, o: any, c?: null, u?: number[]): void;
|
|
30
|
+
declare function Te(e: any, t: any): boolean;
|
|
31
|
+
declare function m(e: any, t: any, n: any): void;
|
|
32
|
+
declare function te(): Text;
|
|
33
|
+
declare function ne(): void;
|
|
34
|
+
declare function Be(e: any): undefined;
|
|
35
|
+
declare function E(e: any, t: any, n: any, r: any): void;
|
|
36
|
+
declare function j(e: any): boolean;
|
|
37
|
+
declare function re(): void;
|
|
38
|
+
declare function h(e: any): void;
|
|
39
|
+
declare function Ue(e: any, t: any, n: any): void;
|
|
40
|
+
declare function rt(e: any): any;
|
|
41
|
+
declare function a(): void;
|
|
42
|
+
declare function nt(e: any): any;
|
|
43
|
+
declare function et(e: any): void;
|
|
44
|
+
declare function tt(e: any, t: any): any;
|
|
45
|
+
declare function x(e: any): void;
|
|
46
|
+
declare function Y(e: any, ...t: any[]): any;
|
|
47
|
+
declare function b(e: any, t: any): void;
|
|
48
|
+
declare function Ge(e: any, t: any, n: any): any;
|
|
49
|
+
declare function Ve(e: any, t: any, n: any, r: any): any;
|
|
50
|
+
declare function Fe(e: any, t: any, n: any, r: any, s: any, o: any): void;
|
|
51
|
+
declare function Ke(e: any): -1 | number[];
|
|
52
|
+
declare function Me(e: any, t: any, n: any, r: any): any;
|
|
53
|
+
declare function fe(e: any, t: any): any;
|
|
54
|
+
export { q as A, Xe as B, He as C, pe as D, We as E, ze as F, ot as G, I as H, ee as I, R as J, Ze as K, Je as L, Ye as M, Qe as N, be as O, xe as P, oe as Q, se as R, Pe as S, F as T, ct as U, st as V, Re as W, de as a, Le as b, Te as c, m as d, te as e, ne as f, Be as g, E as h, j as i, re as j, h as k, Ue as l, rt as m, a as n, nt as o, et as p, tt as q, x as r, Y as s, b as t, Ge as u, Ve as v, Fe as w, Ke as x, Me as y, fe as z };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Page-BUfjaN-D.js","assets/Page-CJ58H1vl.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
var ce=Object.defineProperty;var ue=(e,t,n)=>t in e?ce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var P=(e,t,n)=>ue(e,typeof t!="symbol"?t+"":t,n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const c of o.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&r(c)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();const le="modulepreload",ie=function(e){return"/api/static/"+e},V={},A=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),c=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));s=Promise.all(n.map(u=>{if(u=ie(u),u in V)return;V[u]=!0;const i=u.endsWith(".css"),l=i?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${l}`))return;const f=document.createElement("link");if(f.rel=i?"stylesheet":le,i||(f.as="script",f.crossOrigin=""),f.href=u,c&&f.setAttribute("nonce",c),document.head.appendChild(f),i)return new Promise((d,p)=>{f.addEventListener("load",d),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${u}`)))})}))}return s.then(()=>t()).catch(o=>{const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=o,window.dispatchEvent(c),!c.defaultPrevented)throw o})};function a(){}function fe(e,t){for(const n in t)e[n]=t[n];return e}function ae(e){return!!e&&(typeof e=="object"||typeof e=="function")&&typeof e.then=="function"}function X(e){return e()}function M(){return Object.create(null)}function x(e){e.forEach(X)}function j(e){return typeof e=="function"}function de(e,t){return e!=e?t==t:e!==t||e&&typeof e=="object"||typeof e=="function"}let O;function Re(e,t){return e===t?!0:(O||(O=document.createElement("a")),O.href=t,e===O.href)}function Te(e,t){return e!=e?t==t:e!==t}function _e(e){return Object.keys(e).length===0}function Y(e,...t){if(e==null){for(const r of t)r(void 0);return a}const n=e.subscribe(...t);return n.unsubscribe?()=>n.unsubscribe():n}function Be(e){let t;return Y(e,n=>t=n)(),t}function Ue(e,t,n){e.$$.on_destroy.push(Y(t,n))}function Ve(e,t,n,r){if(e){const s=Z(e,t,n,r);return e[0](s)}}function Z(e,t,n,r){return e[1]&&r?fe(n.ctx.slice(),e[1](r(t))):n.ctx}function Me(e,t,n,r){if(e[2]&&r){const s=e[2](r(n));if(t.dirty===void 0)return s;if(typeof s=="object"){const o=[],c=Math.max(t.dirty.length,s.length);for(let u=0;u<c;u+=1)o[u]=t.dirty[u]|s[u];return o}return t.dirty|s}return t.dirty}function Fe(e,t,n,r,s,o){if(s){const c=Z(t,n,r,o);e.p(c,s)}}function Ke(e){if(e.ctx.length>32){const t=[],n=e.ctx.length/32;for(let r=0;r<n;r++)t[r]=-1;return t}return-1}function ze(e){const t={};for(const n in e)n[0]!=="$"&&(t[n]=e[n]);return t}function We(e,t){const n={};t=new Set(t);for(const r in e)!t.has(r)&&r[0]!=="$"&&(n[r]=e[r]);return n}function Ge(e,t,n){return e.set(n),t}function He(e){return e&&j(e.destroy)?e.destroy:a}function Je(e,t){e.appendChild(t)}function m(e,t,n){e.insertBefore(t,n||null)}function h(e){e.parentNode&&e.parentNode.removeChild(e)}function he(e,t){for(let n=0;n<e.length;n+=1)e[n]&&e[n].d(t)}function q(e){return document.createElement(e)}function I(e){return document.createTextNode(e)}function ee(){return I(" ")}function te(){return I("")}function pe(e,t,n,r){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}function Qe(e){return function(t){return t.preventDefault(),e.call(this,t)}}function R(e,t,n){n==null?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}const me=["width","height"];function Xe(e,t){const n=Object.getOwnPropertyDescriptors(e.__proto__);for(const r in t)t[r]==null?e.removeAttribute(r):r==="style"?e.style.cssText=t[r]:r==="__value"?e.value=e[r]=t[r]:n[r]&&n[r].set&&me.indexOf(r)===-1?e[r]=t[r]:R(e,r,t[r])}function ge(e){return Array.from(e.childNodes)}function be(e,t){t=""+t,e.data!==t&&(e.data=t)}function Ye(e,t){e.value=t??""}function Ze(e,t,n){e.classList.toggle(t,!!n)}let w;function _(e){w=e}function k(){if(!w)throw new Error("Function called outside component initialization");return w}function ye(e){k().$$.on_mount.push(e)}function et(e){k().$$.on_destroy.push(e)}function tt(e,t){return k().$$.context.set(e,t),t}function nt(e){return k().$$.context.get(e)}function rt(e){return k().$$.context.has(e)}function ot(e,t){const n=e.$$.callbacks[t.type];n&&n.slice().forEach(r=>r.call(this,t))}const $=[],F=[];let v=[];const D=[],$e=Promise.resolve();let S=!1;function ve(){S||(S=!0,$e.then(T))}function N(e){v.push(e)}function st(e){D.push(e)}const C=new Set;let y=0;function T(){if(y!==0)return;const e=w;do{try{for(;y<$.length;){const t=$[y];y++,_(t),ke(t.$$)}}catch(t){throw $.length=0,y=0,t}for(_(null),$.length=0,y=0;F.length;)F.pop()();for(let t=0;t<v.length;t+=1){const n=v[t];C.has(n)||(C.add(n),n())}v.length=0}while($.length);for(;D.length;)D.pop()();S=!1,C.clear(),_(e)}function ke(e){if(e.fragment!==null){e.update(),x(e.before_update);const t=e.dirty;e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,t),e.after_update.forEach(N)}}function we(e){const t=[],n=[];v.forEach(r=>e.indexOf(r)===-1?t.push(r):n.push(r)),n.forEach(r=>r()),v=t}const L=new Set;let g;function ne(){g={r:0,c:[],p:g}}function re(){g.r||x(g.c),g=g.p}function b(e,t){e&&e.i&&(L.delete(e),e.i(t))}function E(e,t,n,r){if(e&&e.o){if(L.has(e))return;L.add(e),g.c.push(()=>{L.delete(e),r&&(n&&e.d(1),r())}),e.o(t)}else r&&r()}function K(e,t){const n=t.token={};function r(s,o,c,u){if(t.token!==n)return;t.resolved=u;let i=t.ctx;c!==void 0&&(i=i.slice(),i[c]=u);const l=s&&(t.current=s)(i);let f=!1;t.block&&(t.blocks?t.blocks.forEach((d,p)=>{p!==o&&d&&(ne(),E(d,1,1,()=>{t.blocks[p]===d&&(t.blocks[p]=null)}),re())}):t.block.d(1),l.c(),b(l,1),l.m(t.mount(),t.anchor),f=!0),t.block=l,t.blocks&&(t.blocks[o]=l),f&&T()}if(ae(e)){const s=k();if(e.then(o=>{_(s),r(t.then,1,t.value,o),_(null)},o=>{if(_(s),r(t.catch,2,t.error,o),_(null),!t.hasCatch)throw o}),t.current!==t.pending)return r(t.pending,0),!0}else{if(t.current!==t.then)return r(t.then,1,t.value,e),!0;t.resolved=e}}function Ee(e,t,n){const r=t.slice(),{resolved:s}=e;e.current===e.then&&(r[e.value]=s),e.current===e.catch&&(r[e.error]=s),e.block.p(r,n)}function z(e){return(e==null?void 0:e.length)!==void 0?e:Array.from(e)}function ct(e,t,n){const r=e.$$.props[t];r!==void 0&&(e.$$.bound[r]=n,n(e.$$.ctx[r]))}function xe(e){e&&e.c()}function oe(e,t,n){const{fragment:r,after_update:s}=e.$$;r&&r.m(t,n),N(()=>{const o=e.$$.on_mount.map(X).filter(j);e.$$.on_destroy?e.$$.on_destroy.push(...o):x(o),e.$$.on_mount=[]}),s.forEach(N)}function se(e,t){const n=e.$$;n.fragment!==null&&(we(n.after_update),x(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}function Oe(e,t){e.$$.dirty[0]===-1&&($.push(e),ve(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<<t%31}function Le(e,t,n,r,s,o,c=null,u=[-1]){const i=w;_(e);const l=e.$$={fragment:null,ctx:[],props:o,update:a,not_equal:s,bound:M(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(t.context||(i?i.$$.context:[])),callbacks:M(),dirty:u,skip_bound:!1,root:t.target||i.$$.root};c&&c(l.root);let f=!1;if(l.ctx=n?n(e,t.props||{},(d,p,...B)=>{const U=B.length?B[0]:p;return l.ctx&&s(l.ctx[d],l.ctx[d]=U)&&(!l.skip_bound&&l.bound[d]&&l.bound[d](U),f&&Oe(e,d)),p}):[],l.update(),f=!0,x(l.before_update),l.fragment=r?r(l.ctx):!1,t.target){if(t.hydrate){const d=ge(t.target);l.fragment&&l.fragment.l(d),d.forEach(h)}else l.fragment&&l.fragment.c();t.intro&&b(e.$$.fragment),oe(e,t.target,t.anchor),T()}_(i)}class Pe{constructor(){P(this,"$$");P(this,"$$set")}$destroy(){se(this,1),this.$destroy=a}$on(t,n){if(!j(n))return a;const r=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);return r.push(n),()=>{const s=r.indexOf(n);s!==-1&&r.splice(s,1)}}$set(t){this.$$set&&!_e(t)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}const Ae="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Ae);function W(e,t,n){const r=e.slice();return r[6]=t[n],r}function G(e){e[9]=e[10].default}function H(e){let t,n,r,s={ctx:e,current:null,token:null,hasCatch:!1,pending:Se,then:De,catch:Ce,value:10,blocks:[,,,]};return K(n=e[1],s),{c(){t=te(),s.block.c()},m(o,c){m(o,t,c),s.block.m(o,s.anchor=c),s.mount=()=>t.parentNode,s.anchor=t,r=!0},p(o,c){e=o,s.ctx=e,c&2&&n!==(n=e[1])&&K(n,s)||Ee(s,e,c)},i(o){r||(b(s.block),r=!0)},o(o){for(let c=0;c<3;c+=1){const u=s.blocks[c];E(u)}r=!1},d(o){o&&h(t),s.block.d(o),s.token=null,s=null}}}function Ce(e){return{c:a,m:a,p:a,i:a,o:a,d:a}}function De(e){G(e);let t,n;return t=new e[9]({props:{firstlyData:e[0]}}),{c(){xe(t.$$.fragment)},m(r,s){oe(t,r,s),n=!0},p(r,s){G(r);const o={};s&1&&(o.firstlyData=r[0]),t.$set(o)},i(r){n||(b(t.$$.fragment,r),n=!0)},o(r){E(t.$$.fragment,r),n=!1},d(r){se(t,r)}}}function Se(e){return{c:a,m:a,p:a,i:a,o:a,d:a}}function J(e){let t=console.info(e[0])+"",n,r,s,o=z(e[3]()),c=[];for(let u=0;u<o.length;u+=1)c[u]=Q(W(e,o,u));return{c(){n=I(t),r=ee(),s=q("div");for(let u=0;u<c.length;u+=1)c[u].c();R(s,"class","debug svelte-1vqrvep")},m(u,i){m(u,n,i),m(u,r,i),m(u,s,i);for(let l=0;l<c.length;l+=1)c[l]&&c[l].m(s,null)},p(u,i){if(i&1&&t!==(t=console.info(u[0])+"")&&be(n,t),i&12){o=z(u[3]());let l;for(l=0;l<o.length;l+=1){const f=W(u,o,l);c[l]?c[l].p(f,i):(c[l]=Q(f),c[l].c(),c[l].m(s,null))}for(;l<c.length;l+=1)c[l].d(1);c.length=o.length}},d(u){u&&(h(n),h(r),h(s)),he(c,u)}}}function Q(e){let t,n,r;function s(){return e[4](e[6])}return{c(){t=q("button"),t.textContent=`Load ${e[6]}`,R(t,"class","svelte-1vqrvep")},m(o,c){m(o,t,c),n||(r=pe(t,"click",s),n=!0)},p(o,c){e=o},d(o){o&&h(t),n=!1,r()}}}function Ne(e){let t,n,r,s,o=e[1]&&H(e),c=e[0].debug&&J(e);return{c(){t=q("main"),o&&o.c(),n=ee(),c&&c.c(),r=te()},m(u,i){m(u,t,i),o&&o.m(t,null),m(u,n,i),c&&c.m(u,i),m(u,r,i),s=!0},p(u,[i]){u[1]?o?(o.p(u,i),i&2&&b(o,1)):(o=H(u),o.c(),b(o,1),o.m(t,null)):o&&(ne(),E(o,1,1,()=>{o=null}),re()),u[0].debug?c?c.p(u,i):(c=J(u),c.c(),c.m(r.parentNode,r)):c&&(c.d(1),c=null)},i(u){s||(b(o),s=!0)},o(u){E(o),s=!1},d(u){u&&(h(t),h(n),h(r)),o&&o.d(),c&&c.d(u)}}}function je(e,t,n){let{firstlyData:r}=t;const s={auth:A(()=>import("./Page-BUfjaN-D.js"),__vite__mapDeps([0,1])),admin:A(()=>import("./Page-DhdZddzJ.js"),[]),storage:A(()=>import("./Page-CaDAqmBS.js"),[])};let o;function c(l){n(1,o=s[l])}const u=()=>Object.keys(s);ye(()=>{c(r.module)});const i=l=>c(l);return e.$$set=l=>{"firstlyData"in l&&n(0,r=l.firstlyData)},[r,o,c,u,i]}class qe extends Pe{constructor(t){super(),Le(this,t,je,Ne,de,{firstlyData:0})}}new qe({target:document.getElementById("app"),props:{firstlyData}});export{q as A,Xe as B,He as C,pe as D,We as E,ze as F,ot as G,I as H,ee as I,R as J,Ze as K,Je as L,Ye as M,Qe as N,be as O,xe as P,oe as Q,se as R,Pe as S,F as T,ct as U,st as V,Re as W,de as a,Le as b,Te as c,m as d,te as e,ne as f,Be as g,E as h,j as i,re as j,h as k,Ue as l,rt as m,a as n,nt as o,et as p,tt as q,x as r,Y as s,b as t,Ge as u,Ve as v,Fe as w,Ke as x,Me as y,fe as z};
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html lang="en">
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<link rel="icon" href="/api/static/favicon.svg" />
|
|
7
|
+
<title>firstly</title>
|
|
8
|
+
<script type="module" crossorigin src="/api/static/assets/index-D-Ztdt2o.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/api/static/assets/index-BDy4A_14.css">
|
|
10
|
+
</head>
|
|
11
|
+
<body>
|
|
12
|
+
<div id="app"></div>
|
|
13
|
+
</body>
|
|
14
14
|
</html>
|
package/esm/bin/cmd.js
CHANGED
|
@@ -47,14 +47,12 @@ function mergeAndSort(deps, depsToAdd) {
|
|
|
47
47
|
return sorted;
|
|
48
48
|
}
|
|
49
49
|
pkg.devDependencies = mergeAndSort(pkg.devDependencies, {
|
|
50
|
-
'@kitql/eslint-config': '0.
|
|
51
|
-
'@kitql/helpers': '0.8.
|
|
50
|
+
'@kitql/eslint-config': '0.5.8',
|
|
51
|
+
'@kitql/helpers': '0.8.12',
|
|
52
52
|
pg: '8.12.0',
|
|
53
53
|
remult: versionFirstly,
|
|
54
54
|
});
|
|
55
|
-
pkg.dependencies = mergeAndSort(pkg.dependencies, {
|
|
56
|
-
oslo: '^1.2.1',
|
|
57
|
-
});
|
|
55
|
+
pkg.dependencies = mergeAndSort(pkg.dependencies, {});
|
|
58
56
|
pkg.scripts = {
|
|
59
57
|
...pkg.scripts,
|
|
60
58
|
'//// ---- BEST PRACTICES ---- ////': '',
|
|
@@ -65,14 +63,26 @@ if (res.includes('all') || res.includes('dependencies')) {
|
|
|
65
63
|
write('./package.json', [JSON.stringify(pkg, null, 2)]);
|
|
66
64
|
}
|
|
67
65
|
const obj = {
|
|
68
|
-
'./.
|
|
69
|
-
`
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
66
|
+
'./.npmrc': [
|
|
67
|
+
`engine-strict=true
|
|
68
|
+
|
|
69
|
+
public-hoist-pattern[]=*eslint*
|
|
70
|
+
public-hoist-pattern[]=*prettier*
|
|
71
|
+
public-hoist-pattern[]=*globals*
|
|
72
|
+
`,
|
|
73
|
+
],
|
|
74
|
+
'./eslint.config.js': [
|
|
75
|
+
`import { kitql } from '@kitql/eslint-config'
|
|
76
|
+
|
|
77
|
+
/** @type { import("eslint").Linter.Config[] } */
|
|
78
|
+
export default [
|
|
79
|
+
...kitql({ pnpmCatalogs: { enable: false } }),
|
|
80
|
+
{
|
|
81
|
+
name: 'APP:ignores',
|
|
82
|
+
ignores: ['**/*.svelte.ts'],
|
|
83
|
+
},
|
|
84
|
+
]
|
|
85
|
+
`,
|
|
76
86
|
],
|
|
77
87
|
'./.prettierignore': [
|
|
78
88
|
`node_modules/
|
|
@@ -96,16 +106,14 @@ db/
|
|
|
96
106
|
src/lib/ROUTES.ts
|
|
97
107
|
`,
|
|
98
108
|
],
|
|
99
|
-
'./.prettierrc.
|
|
100
|
-
`
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
module.exports = {
|
|
106
|
-
...prettierConfig,
|
|
109
|
+
'./.prettierrc.mjs': [
|
|
110
|
+
`import { kitql } from '@kitql/eslint-config/.prettierrc.mjs'
|
|
111
|
+
|
|
112
|
+
export default {
|
|
113
|
+
...kitql(),
|
|
107
114
|
// Your overrides here
|
|
108
|
-
}
|
|
115
|
+
}
|
|
116
|
+
`,
|
|
109
117
|
],
|
|
110
118
|
'.env.example': [
|
|
111
119
|
`# Enable some roles
|
|
@@ -119,9 +127,9 @@ module.exports = {
|
|
|
119
127
|
],
|
|
120
128
|
'./src/lib/firstly/index.ts': [
|
|
121
129
|
`import { FF_Role } from 'firstly'
|
|
122
|
-
import { firstly } from 'firstly/api'
|
|
123
|
-
import { auth } from 'firstly/auth'
|
|
124
|
-
import { changeLog } from 'firstly/changeLog'
|
|
130
|
+
import { firstly, Module } from 'firstly/api'
|
|
131
|
+
import { auth } from 'firstly/auth/server'
|
|
132
|
+
import { changeLog } from 'firstly/changeLog/server'
|
|
125
133
|
import { Log } from '@kitql/helpers'
|
|
126
134
|
|
|
127
135
|
import { task } from './modules/task'
|
|
@@ -157,8 +165,8 @@ export const api = firstly({
|
|
|
157
165
|
providers: {
|
|
158
166
|
demo: [
|
|
159
167
|
{ name: 'Ermin' },
|
|
160
|
-
{ name: 'JYC', roles: [FF_Role.
|
|
161
|
-
{ name: 'Noam', roles: [FF_Role.
|
|
168
|
+
{ name: 'JYC', roles: [FF_Role.FF_Role_Admin] },
|
|
169
|
+
{ name: 'Noam', roles: [FF_Role.FF_Role_Admin, Role.Boss] },
|
|
162
170
|
],
|
|
163
171
|
|
|
164
172
|
// password: {},
|
|
@@ -170,7 +178,7 @@ export const api = firstly({
|
|
|
170
178
|
// To enable OAuth via Github
|
|
171
179
|
// Instructions by hovering the method \`github\`
|
|
172
180
|
// NEEDS ON TOP OF THE FILE:
|
|
173
|
-
// import { github } from 'firstly/auth/
|
|
181
|
+
// import { github } from 'firstly/auth/server'
|
|
174
182
|
//----------------------------------------
|
|
175
183
|
// github(),
|
|
176
184
|
],
|
|
@@ -185,14 +193,14 @@ export const api = firstly({
|
|
|
185
193
|
//----------------------------------------
|
|
186
194
|
// example of a userland inline module
|
|
187
195
|
//----------------------------------------
|
|
188
|
-
{
|
|
196
|
+
new Module({
|
|
189
197
|
name: 'app',
|
|
190
198
|
entities: [],
|
|
191
199
|
controllers: [],
|
|
192
200
|
initApi: async () => {
|
|
193
201
|
log.success('App is ready! 🚀')
|
|
194
202
|
},
|
|
195
|
-
},
|
|
203
|
+
}),
|
|
196
204
|
|
|
197
205
|
//----------------------------------------
|
|
198
206
|
// Replace @Entity by @FF_Entity in your entities to enable changeLog on this entity
|
|
@@ -204,12 +212,26 @@ export const api = firstly({
|
|
|
204
212
|
],
|
|
205
213
|
'./src/hooks.server.ts': [
|
|
206
214
|
`import { sequence } from '@sveltejs/kit/hooks'
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
import { api } from '${libAlias}/firstly'
|
|
211
|
-
|
|
212
|
-
|
|
215
|
+
import { redirect } from '@sveltejs/kit'
|
|
216
|
+
|
|
217
|
+
import { handleAuth, handleGuard } from 'firstly/auth/server'
|
|
218
|
+
import { api as handleRemult } from '${libAlias}/firstly'
|
|
219
|
+
import { route } from '${libAlias}/ROUTES'
|
|
220
|
+
|
|
221
|
+
export const handle = sequence(
|
|
222
|
+
//
|
|
223
|
+
handleRemult,
|
|
224
|
+
handleAuth,
|
|
225
|
+
// client side guard is not here!
|
|
226
|
+
handleGuard({
|
|
227
|
+
authenticated: ['/app*'],
|
|
228
|
+
redirectToLogin: route('/'),
|
|
229
|
+
// You want to redirect to the firstly UI ? change redirectToLogin to this 👇
|
|
230
|
+
// redirectToLogin: route('login'),
|
|
231
|
+
redirectAuthenticated: route('/app'),
|
|
232
|
+
redirect,
|
|
233
|
+
})
|
|
234
|
+
)
|
|
213
235
|
`,
|
|
214
236
|
],
|
|
215
237
|
'./src/routes/api/[...remult]/+server.ts': [
|
|
@@ -218,7 +240,22 @@ export const handle = sequence(firstly(api))
|
|
|
218
240
|
export const { GET, POST, PUT, DELETE } = api
|
|
219
241
|
`,
|
|
220
242
|
],
|
|
221
|
-
'./src/routes/+page.svelte': [
|
|
243
|
+
'./src/routes/+page.svelte': [
|
|
244
|
+
`<h1>Home</h1>
|
|
245
|
+
|
|
246
|
+
<p>
|
|
247
|
+
Welcome here
|
|
248
|
+
</p>`,
|
|
249
|
+
],
|
|
250
|
+
'./src/routes/app/+page.svelte': [
|
|
251
|
+
`<h1>App</h1>
|
|
252
|
+
|
|
253
|
+
<p>
|
|
254
|
+
Only autenticated users can see this page!
|
|
255
|
+
</p>
|
|
256
|
+
|
|
257
|
+
`,
|
|
258
|
+
],
|
|
222
259
|
'./src/routes/+layout.server.ts': [
|
|
223
260
|
`import { remult } from 'remult'
|
|
224
261
|
|
|
@@ -227,6 +264,31 @@ import type { LayoutServerLoad } from './$types'
|
|
|
227
264
|
export const load = (async () => {
|
|
228
265
|
return { user: remult.user }
|
|
229
266
|
}) satisfies LayoutServerLoad
|
|
267
|
+
`,
|
|
268
|
+
],
|
|
269
|
+
'./src/routes/+layout.ts': [
|
|
270
|
+
`import { remult } from 'remult'
|
|
271
|
+
import type { LayoutLoad } from './$types'
|
|
272
|
+
|
|
273
|
+
export const load = (async (event) => {
|
|
274
|
+
// Instruct remult to use the special svelte fetch
|
|
275
|
+
// Like this univeral load will work in SSR & CSR
|
|
276
|
+
remult.useFetch(event.fetch)
|
|
277
|
+
// return repo(Task).find()
|
|
278
|
+
return { ...event.data }
|
|
279
|
+
}) satisfies LayoutLoad
|
|
280
|
+
`,
|
|
281
|
+
],
|
|
282
|
+
'./src/routes/+page.ts': [
|
|
283
|
+
`import { remult } from 'remult'
|
|
284
|
+
import type { PageLoad } from './$types'
|
|
285
|
+
|
|
286
|
+
export const load = (async (event) => {
|
|
287
|
+
// Instruct remult to use the special svelte fetch
|
|
288
|
+
// Like this univeral load will work in SSR & CSR
|
|
289
|
+
remult.useFetch(event.fetch)
|
|
290
|
+
// return repo(Task).find()
|
|
291
|
+
}) satisfies PageLoad
|
|
230
292
|
`,
|
|
231
293
|
],
|
|
232
294
|
'./src/routes/+layout.svelte': [
|
|
@@ -265,11 +327,19 @@ export const load = (async () => {
|
|
|
265
327
|
<SignIn demo="Noam"></SignIn>
|
|
266
328
|
<br />
|
|
267
329
|
<SignIn ffLink></SignIn>
|
|
330
|
+
<br />
|
|
268
331
|
<SignIn oauth="github"></SignIn>
|
|
269
332
|
{/if}
|
|
270
333
|
|
|
271
334
|
<hr />
|
|
272
335
|
|
|
336
|
+
<a href={route('/')}>Home</a> |
|
|
337
|
+
{#if remult.authenticated()}
|
|
338
|
+
<a href={route('/app')}>App (Protected route)</a>
|
|
339
|
+
{/if}
|
|
340
|
+
|
|
341
|
+
<hr />
|
|
342
|
+
|
|
273
343
|
<slot />
|
|
274
344
|
|
|
275
345
|
<hr />
|
|
@@ -288,11 +358,11 @@ export const load = (async () => {
|
|
|
288
358
|
'./src/lib/ui/SignIn.svelte': [
|
|
289
359
|
`<script lang="ts">
|
|
290
360
|
import { isError } from 'firstly'
|
|
291
|
-
import {
|
|
361
|
+
import { AuthController } from 'firstly/auth/client'
|
|
292
362
|
|
|
293
363
|
import { goto, invalidateAll } from '$app/navigation'
|
|
294
364
|
|
|
295
|
-
import { route } from '
|
|
365
|
+
import { route } from '${libAlias}/ROUTES'
|
|
296
366
|
|
|
297
367
|
// Examples of signin modes
|
|
298
368
|
export let demo = ''
|
|
@@ -301,7 +371,7 @@ export const load = (async () => {
|
|
|
301
371
|
|
|
302
372
|
const signinDemo = async (identif: string) => {
|
|
303
373
|
try {
|
|
304
|
-
await
|
|
374
|
+
await AuthController.signInDemo(identif)
|
|
305
375
|
invalidateAll()
|
|
306
376
|
} catch (error) {
|
|
307
377
|
if (isError(error)) {
|
|
@@ -313,7 +383,7 @@ export const load = (async () => {
|
|
|
313
383
|
|
|
314
384
|
async function signinOAuth(provider: 'github') {
|
|
315
385
|
try {
|
|
316
|
-
window.location.href = await
|
|
386
|
+
window.location.href = await AuthController.signInOAuthGetUrl({
|
|
317
387
|
provider,
|
|
318
388
|
redirect: window.location.pathname,
|
|
319
389
|
})
|
|
@@ -329,7 +399,7 @@ export const load = (async () => {
|
|
|
329
399
|
{#if demo}
|
|
330
400
|
<button on:click={() => signinDemo(demo)}>Login as {demo}</button>
|
|
331
401
|
{:else if ffLink}
|
|
332
|
-
<button on:click={() => goto(route('
|
|
402
|
+
<button on:click={() => goto(route('login'))}>Login with Firstly UI</button>
|
|
333
403
|
{:else if oauth}
|
|
334
404
|
<button on:click={() => signinOAuth(oauth)}>Login With {oauth}</button>
|
|
335
405
|
{/if}
|
|
@@ -338,13 +408,13 @@ export const load = (async () => {
|
|
|
338
408
|
'./src/lib/ui/SignOut.svelte': [
|
|
339
409
|
`<script lang="ts">
|
|
340
410
|
import { isError } from 'firstly'
|
|
341
|
-
import {
|
|
411
|
+
import { AuthController } from 'firstly/auth/client'
|
|
342
412
|
|
|
343
413
|
import { invalidateAll } from '$app/navigation'
|
|
344
414
|
|
|
345
415
|
const logout = async () => {
|
|
346
416
|
try {
|
|
347
|
-
await
|
|
417
|
+
await AuthController.signOut()
|
|
348
418
|
invalidateAll()
|
|
349
419
|
} catch (error) {
|
|
350
420
|
if (isError(error)) {
|
|
@@ -389,10 +459,11 @@ import type { KIT_ROUTES } from '${libAlias}/ROUTES'
|
|
|
389
459
|
|
|
390
460
|
export default defineConfig({
|
|
391
461
|
plugins: [
|
|
462
|
+
// @ts-ignore JYC TODO (vite 5 / vite 6...)
|
|
392
463
|
firstly<KIT_ROUTES>({
|
|
393
464
|
kitRoutes: {
|
|
394
465
|
LINKS: {
|
|
395
|
-
|
|
466
|
+
login: 'ff/auth/sign-in',
|
|
396
467
|
github: 'https://github.com/[owner]/[repo]',
|
|
397
468
|
remult_admin: 'api/admin',
|
|
398
469
|
},
|
|
@@ -425,7 +496,7 @@ vite.config.ts.timestamp-*
|
|
|
425
496
|
`,
|
|
426
497
|
],
|
|
427
498
|
'./src/lib/firstly/modules/task/index.ts': [
|
|
428
|
-
`import
|
|
499
|
+
`import { Module } from 'firstly/api'
|
|
429
500
|
|
|
430
501
|
import { log } from '${libAlias}/firstly'
|
|
431
502
|
|
|
@@ -433,14 +504,14 @@ import { Task } from './Task'
|
|
|
433
504
|
import { TaskController } from './TaskController'
|
|
434
505
|
|
|
435
506
|
export const task: (o: { specialInfo: string }) => Module = ({ specialInfo }) => {
|
|
436
|
-
return {
|
|
507
|
+
return new Module({
|
|
437
508
|
name: 'task',
|
|
438
509
|
entities: [Task],
|
|
439
510
|
controllers: [TaskController],
|
|
440
511
|
initApi: async () => {
|
|
441
512
|
log.success(\`Task module is ready! 🚀 (specialInfo: \${specialInfo})\`)
|
|
442
513
|
},
|
|
443
|
-
}
|
|
514
|
+
})
|
|
444
515
|
}`,
|
|
445
516
|
],
|
|
446
517
|
'./src/lib/firstly/modules/task/Task.ts': [
|
package/esm/cellsBuildor.js
CHANGED
|
@@ -99,7 +99,7 @@ export const buildWhere = (entity, defaultWhere, fields_filter, fields_search, o
|
|
|
99
99
|
}
|
|
100
100
|
for (const field of fields_filter) {
|
|
101
101
|
// if there is a value
|
|
102
|
-
if (obj[field.key]) {
|
|
102
|
+
if (obj && obj[field.key]) {
|
|
103
103
|
const rfi = getRelationFieldInfo(field);
|
|
104
104
|
if (field.inputType === 'checkbox') {
|
|
105
105
|
// @ts-ignore
|