Skip to content

admin/dorfarchiv

PublicMirror

Mirror of https://forge.levinkeller.de/levin/dorfarchiv.git

apply linting rules

Levin Keller authored 1 parent 996be48commit 7a70d0a9c41443abc93afe96c2e9765abe4fa9feBrowse files

Showing 10 changed files with 125 additions and 2291 deletions.

Modified.devcontainer/devcontainer.json+37 -37
@@ -1,39 +1,39 @@
11{
2deleted: "name": "Node.js & TypeScript",
3deleted: "image": "mcr.microsoft.com/devcontainers/typescript-node:1-22-bookworm",
4deleted: "features": {
5deleted: "ghcr.io/devcontainers/features/common-utils:2": {},
6deleted: "ghcr.io/devcontainers/features/docker-in-docker:2": {}
7deleted: },
8deleted: "postCreateCommand": "npm install",
9deleted: "customizations": {
10deleted: "vscode": {
11deleted: "extensions": [
12deleted: "unifiedjs.vscode-mdx",
13deleted: "streetsidesoftware.code-spell-checker",
14deleted: "streetsidesoftware.code-spell-checker-german",
15deleted: "tomoki1207.pdf",
16deleted: "DavidAnson.vscode-markdownlint",
17deleted: "biomejs.biome"
18deleted: ],
19deleted: "settings": {
20deleted: "terminal.integrated.defaultProfile.linux": "zsh",
21deleted: "cSpell.language": "de-DE",
22deleted: "cSpell.words": [
23deleted: "Barnten",
24deleted: "Elze",
25deleted: "Großteilige",
26deleted: "Ludolph",
27deleted: "Masch",
28deleted: "Nordstemmen",
29deleted: "Rössing",
30deleted: "Rössingbach",
31deleted: "Rössinger",
32deleted: "Rössings",
33deleted: "Welfenschloss"
34deleted: ],
35deleted: "editor.defaultFormatter": "biomejs.biome"
36deleted: }
37deleted: }
38deleted: }
2added: "name": "Node.js & TypeScript",
3added: "image": "mcr.microsoft.com/devcontainers/typescript-node:1-22-bookworm",
4added: "features": {
5added: "ghcr.io/devcontainers/features/common-utils:2": {},
6added: "ghcr.io/devcontainers/features/docker-in-docker:2": {}
7added: },
8added: "postCreateCommand": "npm install",
9added: "customizations": {
10added: "vscode": {
11added: "extensions": [
12added: "unifiedjs.vscode-mdx",
13added: "streetsidesoftware.code-spell-checker",
14added: "streetsidesoftware.code-spell-checker-german",
15added: "tomoki1207.pdf",
16added: "DavidAnson.vscode-markdownlint",
17added: "biomejs.biome"
18added: ],
19added: "settings": {
20added: "terminal.integrated.defaultProfile.linux": "zsh",
21added: "cSpell.language": "de-DE",
22added: "cSpell.words": [
23added: "Barnten",
24added: "Elze",
25added: "Großteilige",
26added: "Ludolph",
27added: "Masch",
28added: "Nordstemmen",
29added: "Rössing",
30added: "Rössingbach",
31added: "Rössinger",
32added: "Rössings",
33added: "Welfenschloss"
34added: ],
35added: "editor.defaultFormatter": "biomejs.biome"
36added: }
37added: }
38added: }
3939}
Modifiedbiome.json+22 -29
@@ -1,31 +1,24 @@
11{
2deleted: "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
3deleted: "vcs": {
4deleted: "enabled": false,
5deleted: "clientKind": "git",
6deleted: "useIgnoreFile": false
7deleted: },
8deleted: "files": {
9deleted: "ignoreUnknown": false,
10deleted: "ignore": ["**/build/**"]
11deleted: },
12deleted: "formatter": {
13deleted: "enabled": true,
14deleted: "indentStyle": "tab"
15deleted: },
16deleted: "organizeImports": {
17deleted: "enabled": true
18deleted: },
19deleted: "linter": {
20deleted: "enabled": true,
21deleted: "rules": {
22deleted: "recommended": true
23deleted: }
24deleted: },
25deleted: "javascript": {
26deleted: "formatter": {
27deleted: "semicolons": "asNeeded",
28deleted: "quoteStyle": "single"
29deleted: }
30deleted: }
2added: "$schema": "https://biomejs.dev/schemas/2.2.5/schema.json",
3added: "vcs": {
4added: "enabled": true,
5added: "clientKind": "git",
6added: "useIgnoreFile": true
7added: },
8added: "formatter": {
9added: "enabled": true,
10added: "indentStyle": "space"
11added: },
12added: "linter": {
13added: "enabled": true,
14added: "rules": {
15added: "recommended": true
16added: }
17added: },
18added: "javascript": {
19added: "formatter": {
20added: "semicolons": "asNeeded",
21added: "quoteStyle": "single"
22added: }
23added: }
3124}
Modifieddocusaurus.config.ts+11 -9
@@ -1,6 +1,6 @@
1deleted: import {themes as prismThemes} from 'prism-react-renderer';
2deleted: import type {Config} from '@docusaurus/types';
3deleted: import type * as Preset from '@docusaurus/preset-classic';
1added: import type * as Preset from '@docusaurus/preset-classic'
2added: import type { Config } from '@docusaurus/types'
3added: import { themes as prismThemes } from 'prism-react-renderer'
44
55// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
66
@@ -52,7 +52,8 @@ const config: Config = {
5252 path: 'unterlagen',
5353 routeBasePath: 'unterlagen',
5454 sidebarPath: './sidebars.ts',
55deleted: editUrl: 'https://github.com/Dorfpflege-Rossing/dorfarchiv/edit/main/',
55added: editUrl:
56added: 'https://github.com/Dorfpflege-Rossing/dorfarchiv/edit/main/',
5657 },
5758 blog: {
5859 path: 'berichte',
@@ -62,7 +63,8 @@ const config: Config = {
6263 type: ['rss', 'atom'],
6364 xslt: true,
6465 },
65deleted: editUrl: 'https://github.com/Dorfpflege-Rossing/dorfarchiv/edit/main/',
66added: editUrl:
67added: 'https://github.com/Dorfpflege-Rossing/dorfarchiv/edit/main/',
6668 blogTitle: 'Berichte',
6769 blogDescription: 'Berichte und Geschichten aus Rössing',
6870 blogSidebarTitle: 'Alle Berichte',
@@ -91,8 +93,8 @@ const config: Config = {
9193 position: 'left',
9294 label: 'Unterlagen',
9395 },
94deleted: {to: '/berichte', label: 'Berichte', position: 'left'},
95deleted: {to: '/changelog', label: 'Changelog', position: 'left'},
96added: { to: '/berichte', label: 'Berichte', position: 'left' },
97added: { to: '/changelog', label: 'Changelog', position: 'left' },
9698 {
9799 href: 'https://github.com/Dorfpflege-Rossing/dorfarchiv',
98100 label: 'GitHub',
@@ -142,6 +144,6 @@ const config: Config = {
142144 darkTheme: prismThemes.dracula,
143145 },
144146 } satisfies Preset.ThemeConfig,
145deleted: };
147added: }
146148
147deleted: export default config;
149added: export default config
Modifiedpackage-lock.json

The file is too large to show.

Modifiedpackage.json+1 -0
@@ -25,6 +25,7 @@
2525 "react-dom": "^19.0.0"
2626 },
2727 "devDependencies": {
28added: "@biomejs/biome": "2.2.5",
2829 "@docusaurus/module-type-aliases": "^3.8.1",
2930 "@docusaurus/tsconfig": "^3.8.1",
3031 "@docusaurus/types": "^3.8.1",
Modifiedsidebars.ts+4 -4
@@ -1,4 +1,4 @@
1deleted: import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
1added: import type { SidebarsConfig } from '@docusaurus/plugin-content-docs'
22
33// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
44
@@ -14,7 +14,7 @@ import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
1414 */
1515const sidebars: SidebarsConfig = {
1616 // By default, Docusaurus generates a sidebar from the docs folder structure
17deleted: tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],
17added: tutorialSidebar: [{ type: 'autogenerated', dirName: '.' }],
1818
1919 // But you can create a sidebar manually
2020 /*
@@ -28,6 +28,6 @@ const sidebars: SidebarsConfig = {
2828 },
2929 ],
3030 */
31deleted: };
31added: }
3232
33deleted: export default sidebars;
33added: export default sidebars
Modifiedsrc/css/custom.css+1 -1
@@ -18,7 +18,7 @@
1818}
1919
2020/* For readability concerns, you should choose a lighter palette in dark mode. */
21deleted: [data-theme='dark'] {
21added: [data-theme="dark"] {
2222 --ifm-color-primary: #25c2a0;
2323 --ifm-color-primary-dark: #21af90;
2424 --ifm-color-primary-darker: #1fa588;
Modifiedsrc/pages/index.tsx+49 -28
@@ -1,14 +1,14 @@
1deleted: import type {ReactNode} from 'react';
2deleted: import clsx from 'clsx';
3deleted: import Link from '@docusaurus/Link';
4deleted: import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
5deleted: import Layout from '@theme/Layout';
6deleted: import Heading from '@theme/Heading';
1added: import Link from '@docusaurus/Link'
2added: import useDocusaurusContext from '@docusaurus/useDocusaurusContext'
3added: import Heading from '@theme/Heading'
4added: import Layout from '@theme/Layout'
5added: import clsx from 'clsx'
6added: import type { ReactNode } from 'react'
77
8deleted: import styles from './index.module.css';
8added: import styles from './index.module.css'
99
1010function HomepageHeader() {
11deleted: const {siteConfig} = useDocusaurusContext();
11added: const { siteConfig } = useDocusaurusContext()
1212 return (
1313 <header className={clsx('hero hero--primary', styles.heroBanner)}>
1414 <div className="container">
@@ -19,27 +19,40 @@ function HomepageHeader() {
1919 <div className={styles.buttons}>
2020 <Link
2121 className="button button--secondary button--lg"
22deleted: to="/unterlagen/intro">
22added: to="/unterlagen/intro"
23added: >
2324 Zu den Unterlagen
2425 </Link>
2526 <Link
2627 className="button button--primary button--lg"
2728 to="/berichte"
28deleted: style={{marginLeft: '1rem'}}>
29added: style={{ marginLeft: '1rem' }}
30added: >
2931 Berichte lesen
3032 </Link>
3133 </div>
3234 </div>
3335 </header>
34deleted: );
36added: )
3537}
3638
37deleted: function FeatureCard({title, description, icon}: {title: string; description: string; icon: string}) {
39added: function FeatureCard({
40added: title,
41added: description,
42added: icon,
43added: }: {
44added: title: string
45added: description: string
46added: icon: string
47added: }) {
3848 return (
3949 <div className="col col--4">
40deleted: <div className="card shadow--md margin-bottom--lg padding--lg" style={{height: '100%'}}>
50added: <div
51added: className="card shadow--md margin-bottom--lg padding--lg"
52added: style={{ height: '100%' }}
53added: >
4154 <div className="text--center">
42deleted: <div style={{fontSize: '3rem'}}>{icon}</div>
55added: <div style={{ fontSize: '3rem' }}>{icon}</div>
4356 </div>
4457 <div className="text--center margin-top--md">
4558 <h3>{title}</h3>
@@ -47,13 +60,16 @@ function FeatureCard({title, description, icon}: {title: string; description: st
4760 </div>
4861 </div>
4962 </div>
50deleted: );
63added: )
5164}
5265
5366function HomepageContent() {
5467 return (
5568 <>
56deleted: <section className="padding-vert--xl" style={{backgroundColor: 'var(--ifm-color-emphasis-100)'}}>
69added: <section
70added: className="padding-vert--xl"
71added: style={{ backgroundColor: 'var(--ifm-color-emphasis-100)' }}
72added: >
5773 <div className="container">
5874 <div className="row">
5975 <div className="col col--8 col--offset-2 text--center">
@@ -61,9 +77,9 @@ function HomepageContent() {
6177 Willkommen im digitalen Dorfarchiv Rössing
6278 </Heading>
6379 <p className="hero__subtitle">
64deleted: Rössing ist ein Dorf in der Gemeinde Nordstemmen im Landkreis Hildesheim.
65deleted: Dieses digitale Archiv bewahrt die Geschichte und Geschichten unseres Dorfes
66deleted: für kommende Generationen.
80added: Rössing ist ein Dorf in der Gemeinde Nordstemmen im Landkreis
81added: Hildesheim. Dieses digitale Archiv bewahrt die Geschichte und
82added: Geschichten unseres Dorfes für kommende Generationen.
6783 </p>
6884 </div>
6985 </div>
@@ -92,7 +108,10 @@ function HomepageContent() {
92108 </div>
93109 </section>
94110
95deleted: <section className="padding-vert--xl" style={{backgroundColor: 'var(--ifm-color-emphasis-100)'}}>
111added: <section
112added: className="padding-vert--xl"
113added: style={{ backgroundColor: 'var(--ifm-color-emphasis-100)' }}
114added: >
96115 <div className="container">
97116 <div className="row">
98117 <div className="col col--10 col--offset-1 text--center">
@@ -102,9 +121,10 @@ function HomepageContent() {
102121 <div className="avatar avatar--vertical margin-bottom--lg">
103122 <div className="avatar__intro">
104123 <p className="hero__subtitle">
105deleted: Unser Ziel ist es, die reichhaltige Geschichte Rössings zu dokumentieren und
106deleted: zugänglich zu machen. Von alten Fotografien über Zeitungsartikel bis hin zu
107deleted: persönlichen Erinnerungen – jedes Dokument trägt dazu bei, das kollektive
124added: Unser Ziel ist es, die reichhaltige Geschichte Rössings zu
125added: dokumentieren und zugänglich zu machen. Von alten
126added: Fotografien über Zeitungsartikel bis hin zu persönlichen
127added: Erinnerungen – jedes Dokument trägt dazu bei, das kollektive
108128 Gedächtnis unseres Dorfes zu bewahren.
109129 </p>
110130 </div>
@@ -112,7 +132,8 @@ function HomepageContent() {
112132 <div className="margin-top--lg">
113133 <Link
114134 className="button button--primary button--lg"
115deleted: to="/unterlagen/intro">
135added: to="/unterlagen/intro"
136added: >
116137 Mehr erfahren
117138 </Link>
118139 </div>
@@ -121,19 +142,19 @@ function HomepageContent() {
121142 </div>
122143 </section>
123144 </>
124deleted: );
145added: )
125146}
126147
127148export default function Home(): ReactNode {
128deleted: const {siteConfig} = useDocusaurusContext();
129149 return (
130150 <Layout
131151 title={`Willkommen`}
132deleted: description="Digitales Dorfarchiv Rössing - Geschichte und Geschichten aus Rössing bewahren">
152added: description="Digitales Dorfarchiv Rössing - Geschichte und Geschichten aus Rössing bewahren"
153added: >
133154 <HomepageHeader />
134155 <main>
135156 <HomepageContent />
136157 </main>
137158 </Layout>
138deleted: );
159added: )
139160}
Deletedstatic/public/infima.css+0 -2181
@@ -1,2181 +0,0 @@
1deleted: .col,
2deleted: .container {
3deleted: padding: 0 var(--ifm-spacing-horizontal);
4deleted: width: 100%;
5deleted: }
6deleted: .markdown > h2,
7deleted: .markdown > h3,
8deleted: .markdown > h4,
9deleted: .markdown > h5,
10deleted: .markdown > h6 {
11deleted: margin-bottom: calc(
12deleted: var(--ifm-heading-vertical-rhythm-bottom) *
13deleted: var(--ifm-leading)
14deleted: );
15deleted: }
16deleted: .markdown li,
17deleted: body {
18deleted: word-wrap: break-word;
19deleted: }
20deleted: body,
21deleted: ol ol,
22deleted: ol ul,
23deleted: ul ol,
24deleted: ul ul {
25deleted: margin: 0;
26deleted: }
27deleted: pre,
28deleted: table {
29deleted: overflow: auto;
30deleted: }
31deleted: blockquote,
32deleted: pre {
33deleted: margin: 0 0 var(--ifm-spacing-vertical);
34deleted: }
35deleted: .breadcrumbs__link,
36deleted: .button {
37deleted: transition-timing-function: var(--ifm-transition-timing-default);
38deleted: }
39deleted: .button,
40deleted: code {
41deleted: vertical-align: middle;
42deleted: }
43deleted: .button--outline.button--active,
44deleted: .button--outline:active,
45deleted: .button--outline:hover,
46deleted: :root {
47deleted: --ifm-button-color: var(--ifm-font-color-base-inverse);
48deleted: }
49deleted: .menu__link:hover,
50deleted: a {
51deleted: transition: color var(--ifm-transition-fast)
52deleted: var(--ifm-transition-timing-default);
53deleted: }
54deleted: .navbar--dark,
55deleted: :root {
56deleted: --ifm-navbar-link-hover-color: var(--ifm-color-primary);
57deleted: }
58deleted: .menu,
59deleted: .navbar-sidebar {
60deleted: overflow-x: hidden;
61deleted: }
62deleted: :root,
63deleted: html[data-theme="dark"] {
64deleted: --ifm-color-emphasis-500: var(--ifm-color-gray-500);
65deleted: }
66deleted: :root {
67deleted: --ifm-color-scheme: light;
68deleted: --ifm-dark-value: 10%;
69deleted: --ifm-darker-value: 15%;
70deleted: --ifm-darkest-value: 30%;
71deleted: --ifm-light-value: 15%;
72deleted: --ifm-lighter-value: 30%;
73deleted: --ifm-lightest-value: 50%;
74deleted: --ifm-contrast-background-value: 90%;
75deleted: --ifm-contrast-foreground-value: 70%;
76deleted: --ifm-contrast-background-dark-value: 70%;
77deleted: --ifm-contrast-foreground-dark-value: 90%;
78deleted: --ifm-color-primary: #3578e5;
79deleted: --ifm-color-secondary: #ebedf0;
80deleted: --ifm-color-success: #00a400;
81deleted: --ifm-color-info: #54c7ec;
82deleted: --ifm-color-warning: #ffba00;
83deleted: --ifm-color-danger: #fa383e;
84deleted: --ifm-color-primary-dark: #306cce;
85deleted: --ifm-color-primary-darker: #2d66c3;
86deleted: --ifm-color-primary-darkest: #2554a0;
87deleted: --ifm-color-primary-light: #538ce9;
88deleted: --ifm-color-primary-lighter: #72a1ed;
89deleted: --ifm-color-primary-lightest: #9abcf2;
90deleted: --ifm-color-primary-contrast-background: #ebf2fc;
91deleted: --ifm-color-primary-contrast-foreground: #102445;
92deleted: --ifm-color-secondary-dark: #d4d5d8;
93deleted: --ifm-color-secondary-darker: #c8c9cc;
94deleted: --ifm-color-secondary-darkest: #a4a6a8;
95deleted: --ifm-color-secondary-light: #eef0f2;
96deleted: --ifm-color-secondary-lighter: #f1f2f5;
97deleted: --ifm-color-secondary-lightest: #f5f6f8;
98deleted: --ifm-color-secondary-contrast-background: #fdfdfe;
99deleted: --ifm-color-secondary-contrast-foreground: #474748;
100deleted: --ifm-color-success-dark: #009400;
101deleted: --ifm-color-success-darker: #008b00;
102deleted: --ifm-color-success-darkest: #007300;
103deleted: --ifm-color-success-light: #26b226;
104deleted: --ifm-color-success-lighter: #4dbf4d;
105deleted: --ifm-color-success-lightest: #80d280;
106deleted: --ifm-color-success-contrast-background: #e6f6e6;
107deleted: --ifm-color-success-contrast-foreground: #003100;
108deleted: --ifm-color-info-dark: #4cb3d4;
109deleted: --ifm-color-info-darker: #47a9c9;
110deleted: --ifm-color-info-darkest: #3b8ba5;
111deleted: --ifm-color-info-light: #6ecfef;
112deleted: --ifm-color-info-lighter: #87d8f2;
113deleted: --ifm-color-info-lightest: #aae3f6;
114deleted: --ifm-color-info-contrast-background: #eef9fd;
115deleted: --ifm-color-info-contrast-foreground: #193c47;
116deleted: --ifm-color-warning-dark: #e6a700;
117deleted: --ifm-color-warning-darker: #d99e00;
118deleted: --ifm-color-warning-darkest: #b38200;
119deleted: --ifm-color-warning-light: #ffc426;
120deleted: --ifm-color-warning-lighter: #ffcf4d;
121deleted: --ifm-color-warning-lightest: #ffdd80;
122deleted: --ifm-color-warning-contrast-background: #fff8e6;
123deleted: --ifm-color-warning-contrast-foreground: #4d3800;
124deleted: --ifm-color-danger-dark: #e13238;
125deleted: --ifm-color-danger-darker: #d53035;
126deleted: --ifm-color-danger-darkest: #af272b;
127deleted: --ifm-color-danger-light: #fb565b;
128deleted: --ifm-color-danger-lighter: #fb7478;
129deleted: --ifm-color-danger-lightest: #fd9c9f;
130deleted: --ifm-color-danger-contrast-background: #ffebec;
131deleted: --ifm-color-danger-contrast-foreground: #4b1113;
132deleted: --ifm-color-white: #fff;
133deleted: --ifm-color-black: #000;
134deleted: --ifm-color-gray-0: var(--ifm-color-white);
135deleted: --ifm-color-gray-100: #f5f6f7;
136deleted: --ifm-color-gray-200: #ebedf0;
137deleted: --ifm-color-gray-300: #dadde1;
138deleted: --ifm-color-gray-400: #ccd0d5;
139deleted: --ifm-color-gray-500: #bec3c9;
140deleted: --ifm-color-gray-600: #8d949e;
141deleted: --ifm-color-gray-700: #606770;
142deleted: --ifm-color-gray-800: #444950;
143deleted: --ifm-color-gray-900: #1c1e21;
144deleted: --ifm-color-gray-1000: var(--ifm-color-black);
145deleted: --ifm-color-emphasis-0: var(--ifm-color-gray-0);
146deleted: --ifm-color-emphasis-100: var(--ifm-color-gray-100);
147deleted: --ifm-color-emphasis-200: var(--ifm-color-gray-200);
148deleted: --ifm-color-emphasis-300: var(--ifm-color-gray-300);
149deleted: --ifm-color-emphasis-400: var(--ifm-color-gray-400);
150deleted: --ifm-color-emphasis-600: var(--ifm-color-gray-600);
151deleted: --ifm-color-emphasis-700: var(--ifm-color-gray-700);
152deleted: --ifm-color-emphasis-800: var(--ifm-color-gray-800);
153deleted: --ifm-color-emphasis-900: var(--ifm-color-gray-900);
154deleted: --ifm-color-emphasis-1000: var(--ifm-color-gray-1000);
155deleted: --ifm-color-content: var(--ifm-color-emphasis-900);
156deleted: --ifm-color-content-inverse: var(--ifm-color-emphasis-0);
157deleted: --ifm-color-content-secondary: #525860;
158deleted: --ifm-background-color: #0000;
159deleted: --ifm-background-surface-color: var(--ifm-color-content-inverse);
160deleted: --ifm-global-border-width: 1px;
161deleted: --ifm-global-radius: 0.4rem;
162deleted: --ifm-hover-overlay: #0000000d;
163deleted: --ifm-font-color-base: var(--ifm-color-content);
164deleted: --ifm-font-color-base-inverse: var(--ifm-color-content-inverse);
165deleted: --ifm-font-color-secondary: var(--ifm-color-content-secondary);
166deleted: --ifm-font-family-base:
167deleted: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans,
168deleted: sans-serif, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif,
169deleted: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
170deleted: --ifm-font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas,
171deleted: "Liberation Mono", "Courier New", monospace;
172deleted: --ifm-font-size-base: 100%;
173deleted: --ifm-font-weight-light: 300;
174deleted: --ifm-font-weight-normal: 400;
175deleted: --ifm-font-weight-semibold: 500;
176deleted: --ifm-font-weight-bold: 700;
177deleted: --ifm-font-weight-base: var(--ifm-font-weight-normal);
178deleted: --ifm-line-height-base: 1.65;
179deleted: --ifm-global-spacing: 1rem;
180deleted: --ifm-spacing-vertical: var(--ifm-global-spacing);
181deleted: --ifm-spacing-horizontal: var(--ifm-global-spacing);
182deleted: --ifm-transition-fast: 200ms;
183deleted: --ifm-transition-slow: 400ms;
184deleted: --ifm-transition-timing-default: cubic-bezier(0.08, 0.52, 0.52, 1);
185deleted: --ifm-global-shadow-lw: 0 1px 2px 0 #0000001a;
186deleted: --ifm-global-shadow-md: 0 5px 40px #0003;
187deleted: --ifm-global-shadow-tl: 0 12px 28px 0 #0003, 0 2px 4px 0 #0000001a;
188deleted: --ifm-z-index-dropdown: 100;
189deleted: --ifm-z-index-fixed: 200;
190deleted: --ifm-z-index-overlay: 400;
191deleted: --ifm-container-width: 1140px;
192deleted: --ifm-container-width-xl: 1320px;
193deleted: --ifm-code-background: #f6f7f8;
194deleted: --ifm-code-border-radius: var(--ifm-global-radius);
195deleted: --ifm-code-font-size: 90%;
196deleted: --ifm-code-padding-horizontal: 0.1rem;
197deleted: --ifm-code-padding-vertical: 0.1rem;
198deleted: --ifm-pre-background: var(--ifm-code-background);
199deleted: --ifm-pre-border-radius: var(--ifm-code-border-radius);
200deleted: --ifm-pre-color: inherit;
201deleted: --ifm-pre-line-height: 1.45;
202deleted: --ifm-pre-padding: 1rem;
203deleted: --ifm-heading-color: inherit;
204deleted: --ifm-heading-margin-top: 0;
205deleted: --ifm-heading-margin-bottom: var(--ifm-spacing-vertical);
206deleted: --ifm-heading-font-family: var(--ifm-font-family-base);
207deleted: --ifm-heading-font-weight: var(--ifm-font-weight-bold);
208deleted: --ifm-heading-line-height: 1.25;
209deleted: --ifm-h1-font-size: 2rem;
210deleted: --ifm-h2-font-size: 1.5rem;
211deleted: --ifm-h3-font-size: 1.25rem;
212deleted: --ifm-h4-font-size: 1rem;
213deleted: --ifm-h5-font-size: 0.875rem;
214deleted: --ifm-h6-font-size: 0.85rem;
215deleted: --ifm-image-alignment-padding: 1.25rem;
216deleted: --ifm-leading-desktop: 1.25;
217deleted: --ifm-leading: calc(var(--ifm-leading-desktop) * 1rem);
218deleted: --ifm-list-left-padding: 2rem;
219deleted: --ifm-list-margin: 1rem;
220deleted: --ifm-list-item-margin: 0.25rem;
221deleted: --ifm-list-paragraph-margin: 1rem;
222deleted: --ifm-table-cell-padding: 0.75rem;
223deleted: --ifm-table-background: #0000;
224deleted: --ifm-table-stripe-background: #00000008;
225deleted: --ifm-table-border-width: 1px;
226deleted: --ifm-table-border-color: var(--ifm-color-emphasis-300);
227deleted: --ifm-table-head-background: inherit;
228deleted: --ifm-table-head-color: inherit;
229deleted: --ifm-table-head-font-weight: var(--ifm-font-weight-bold);
230deleted: --ifm-table-cell-color: inherit;
231deleted: --ifm-link-color: var(--ifm-color-primary);
232deleted: --ifm-link-decoration: none;
233deleted: --ifm-link-hover-color: var(--ifm-link-color);
234deleted: --ifm-link-hover-decoration: underline;
235deleted: --ifm-paragraph-margin-bottom: var(--ifm-leading);
236deleted: --ifm-blockquote-font-size: var(--ifm-font-size-base);
237deleted: --ifm-blockquote-border-left-width: 2px;
238deleted: --ifm-blockquote-padding-horizontal: var(--ifm-spacing-horizontal);
239deleted: --ifm-blockquote-padding-vertical: 0;
240deleted: --ifm-blockquote-shadow: none;
241deleted: --ifm-blockquote-color: var(--ifm-color-emphasis-800);
242deleted: --ifm-blockquote-border-color: var(--ifm-color-emphasis-300);
243deleted: --ifm-hr-background-color: var(--ifm-color-emphasis-500);
244deleted: --ifm-hr-height: 1px;
245deleted: --ifm-hr-margin-vertical: 1.5rem;
246deleted: --ifm-scrollbar-size: 7px;
247deleted: --ifm-scrollbar-track-background-color: #f1f1f1;
248deleted: --ifm-scrollbar-thumb-background-color: silver;
249deleted: --ifm-scrollbar-thumb-hover-background-color: #a7a7a7;
250deleted: --ifm-alert-background-color: inherit;
251deleted: --ifm-alert-border-color: inherit;
252deleted: --ifm-alert-border-radius: var(--ifm-global-radius);
253deleted: --ifm-alert-border-width: 0px;
254deleted: --ifm-alert-border-left-width: 5px;
255deleted: --ifm-alert-color: var(--ifm-font-color-base);
256deleted: --ifm-alert-padding-horizontal: var(--ifm-spacing-horizontal);
257deleted: --ifm-alert-padding-vertical: var(--ifm-spacing-vertical);
258deleted: --ifm-alert-shadow: var(--ifm-global-shadow-lw);
259deleted: --ifm-avatar-intro-margin: 1rem;
260deleted: --ifm-avatar-intro-alignment: inherit;
261deleted: --ifm-avatar-photo-size: 3rem;
262deleted: --ifm-badge-background-color: inherit;
263deleted: --ifm-badge-border-color: inherit;
264deleted: --ifm-badge-border-radius: var(--ifm-global-radius);
265deleted: --ifm-badge-border-width: var(--ifm-global-border-width);
266deleted: --ifm-badge-color: var(--ifm-color-white);
267deleted: --ifm-badge-padding-horizontal: calc(var(--ifm-spacing-horizontal) * 0.5);
268deleted: --ifm-badge-padding-vertical: calc(var(--ifm-spacing-vertical) * 0.25);
269deleted: --ifm-breadcrumb-border-radius: 1.5rem;
270deleted: --ifm-breadcrumb-spacing: 0.5rem;
271deleted: --ifm-breadcrumb-color-active: var(--ifm-color-primary);
272deleted: --ifm-breadcrumb-item-background-active: var(--ifm-hover-overlay);
273deleted: --ifm-breadcrumb-padding-horizontal: 0.8rem;
274deleted: --ifm-breadcrumb-padding-vertical: 0.4rem;
275deleted: --ifm-breadcrumb-size-multiplier: 1;
276deleted: --ifm-breadcrumb-separator: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 256 256"><g><g><polygon points="79.093,0 48.907,30.187 146.72,128 48.907,225.813 79.093,256 207.093,128"/></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg>');
277deleted: --ifm-breadcrumb-separator-filter: none;
278deleted: --ifm-breadcrumb-separator-size: 0.5rem;
279deleted: --ifm-breadcrumb-separator-size-multiplier: 1.25;
280deleted: --ifm-button-background-color: inherit;
281deleted: --ifm-button-border-color: var(--ifm-button-background-color);
282deleted: --ifm-button-border-width: var(--ifm-global-border-width);
283deleted: --ifm-button-font-weight: var(--ifm-font-weight-bold);
284deleted: --ifm-button-padding-horizontal: 1.5rem;
285deleted: --ifm-button-padding-vertical: 0.375rem;
286deleted: --ifm-button-size-multiplier: 1;
287deleted: --ifm-button-transition-duration: var(--ifm-transition-fast);
288deleted: --ifm-button-border-radius: calc(
289deleted: var(--ifm-global-radius) *
290deleted: var(--ifm-button-size-multiplier)
291deleted: );
292deleted: --ifm-button-group-spacing: 2px;
293deleted: --ifm-card-background-color: var(--ifm-background-surface-color);
294deleted: --ifm-card-border-radius: calc(var(--ifm-global-radius) * 2);
295deleted: --ifm-card-horizontal-spacing: var(--ifm-global-spacing);
296deleted: --ifm-card-vertical-spacing: var(--ifm-global-spacing);
297deleted: --ifm-toc-border-color: var(--ifm-color-emphasis-300);
298deleted: --ifm-toc-link-color: var(--ifm-color-content-secondary);
299deleted: --ifm-toc-padding-vertical: 0.5rem;
300deleted: --ifm-toc-padding-horizontal: 0.5rem;
301deleted: --ifm-dropdown-background-color: var(--ifm-background-surface-color);
302deleted: --ifm-dropdown-font-weight: var(--ifm-font-weight-semibold);
303deleted: --ifm-dropdown-link-color: var(--ifm-font-color-base);
304deleted: --ifm-dropdown-hover-background-color: var(--ifm-hover-overlay);
305deleted: --ifm-footer-background-color: var(--ifm-color-emphasis-100);
306deleted: --ifm-footer-color: inherit;
307deleted: --ifm-footer-link-color: var(--ifm-color-emphasis-700);
308deleted: --ifm-footer-link-hover-color: var(--ifm-color-primary);
309deleted: --ifm-footer-link-horizontal-spacing: 0.5rem;
310deleted: --ifm-footer-padding-horizontal: calc(var(--ifm-spacing-horizontal) * 2);
311deleted: --ifm-footer-padding-vertical: calc(var(--ifm-spacing-vertical) * 2);
312deleted: --ifm-footer-title-color: inherit;
313deleted: --ifm-footer-logo-max-width: min(30rem, 90vw);
314deleted: --ifm-hero-background-color: var(--ifm-background-surface-color);
315deleted: --ifm-hero-text-color: var(--ifm-color-emphasis-800);
316deleted: --ifm-menu-color: var(--ifm-color-emphasis-700);
317deleted: --ifm-menu-color-active: var(--ifm-color-primary);
318deleted: --ifm-menu-color-background-active: var(--ifm-hover-overlay);
319deleted: --ifm-menu-color-background-hover: var(--ifm-hover-overlay);
320deleted: --ifm-menu-link-padding-horizontal: 0.75rem;
321deleted: --ifm-menu-link-padding-vertical: 0.375rem;
322deleted: --ifm-menu-link-sublist-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 0 24 24"><path fill="rgba(0,0,0,0.5)" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path></svg>');
323deleted: --ifm-menu-link-sublist-icon-filter: none;
324deleted: --ifm-navbar-background-color: var(--ifm-background-surface-color);
325deleted: --ifm-navbar-height: 3.75rem;
326deleted: --ifm-navbar-item-padding-horizontal: 0.75rem;
327deleted: --ifm-navbar-item-padding-vertical: 0.25rem;
328deleted: --ifm-navbar-link-color: var(--ifm-font-color-base);
329deleted: --ifm-navbar-link-active-color: var(--ifm-link-color);
330deleted: --ifm-navbar-padding-horizontal: var(--ifm-spacing-horizontal);
331deleted: --ifm-navbar-padding-vertical: calc(var(--ifm-spacing-vertical) * 0.5);
332deleted: --ifm-navbar-shadow: var(--ifm-global-shadow-lw);
333deleted: --ifm-navbar-search-input-background-color: var(--ifm-color-emphasis-200);
334deleted: --ifm-navbar-search-input-color: var(--ifm-color-emphasis-800);
335deleted: --ifm-navbar-search-input-placeholder-color: var(--ifm-color-emphasis-500);
336deleted: --ifm-navbar-search-input-icon: url('data:image/svg+xml;utf8,<svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" height="16px" width="16px"><path d="M6.02945,10.20327a4.17382,4.17382,0,1,1,4.17382-4.17382A4.15609,4.15609,0,0,1,6.02945,10.20327Zm9.69195,4.2199L10.8989,9.59979A5.88021,5.88021,0,0,0,12.058,6.02856,6.00467,6.00467,0,1,0,9.59979,10.8989l4.82338,4.82338a.89729.89729,0,0,0,1.29912,0,.89749.89749,0,0,0-.00087-1.29909Z" /></svg>');
337deleted: --ifm-navbar-sidebar-width: 83vw;
338deleted: --ifm-pagination-border-radius: var(--ifm-global-radius);
339deleted: --ifm-pagination-color-active: var(--ifm-color-primary);
340deleted: --ifm-pagination-font-size: 1rem;
341deleted: --ifm-pagination-item-active-background: var(--ifm-hover-overlay);
342deleted: --ifm-pagination-page-spacing: 0.2em;
343deleted: --ifm-pagination-padding-horizontal: calc(var(--ifm-spacing-horizontal) * 1);
344deleted: --ifm-pagination-padding-vertical: calc(var(--ifm-spacing-vertical) * 0.25);
345deleted: --ifm-pagination-nav-border-radius: var(--ifm-global-radius);
346deleted: --ifm-pagination-nav-color-hover: var(--ifm-color-primary);
347deleted: --ifm-pills-color-active: var(--ifm-color-primary);
348deleted: --ifm-pills-color-background-active: var(--ifm-hover-overlay);
349deleted: --ifm-pills-spacing: 0.125rem;
350deleted: --ifm-tabs-color: var(--ifm-font-color-secondary);
351deleted: --ifm-tabs-color-active: var(--ifm-color-primary);
352deleted: --ifm-tabs-color-active-border: var(--ifm-tabs-color-active);
353deleted: --ifm-tabs-padding-horizontal: 1rem;
354deleted: --ifm-tabs-padding-vertical: 1rem;
355deleted: }
356deleted: .badge--danger,
357deleted: .badge--info,
358deleted: .badge--primary,
359deleted: .badge--secondary,
360deleted: .badge--success,
361deleted: .badge--warning {
362deleted: --ifm-badge-border-color: var(--ifm-badge-background-color);
363deleted: }
364deleted: .button--link,
365deleted: .button--outline {
366deleted: --ifm-button-background-color: #0000;
367deleted: }
368deleted: * {
369deleted: box-sizing: border-box;
370deleted: }
371deleted: html {
372deleted: -webkit-font-smoothing: antialiased;
373deleted: -webkit-tap-highlight-color: transparent;
374deleted: -webkit-text-size-adjust: 100%;
375deleted: text-size-adjust: 100%;
376deleted: background-color: var(--ifm-background-color);
377deleted: color: var(--ifm-font-color-base);
378deleted: color-scheme: var(--ifm-color-scheme);
379deleted: font: var(--ifm-font-size-base) / var(--ifm-line-height-base)
380deleted: var(--ifm-font-family-base);
381deleted: text-rendering: optimizelegibility;
382deleted: }
383deleted: iframe {
384deleted: border: 0;
385deleted: color-scheme: auto;
386deleted: }
387deleted: .container {
388deleted: margin: 0 auto;
389deleted: max-width: var(--ifm-container-width);
390deleted: }
391deleted: .container--fluid {
392deleted: max-width: inherit;
393deleted: }
394deleted: .row {
395deleted: display: flex;
396deleted: flex-wrap: wrap;
397deleted: margin: 0 calc(var(--ifm-spacing-horizontal) * -1);
398deleted: }
399deleted: .margin-bottom--none,
400deleted: .margin-vert--none,
401deleted: .markdown > :last-child {
402deleted: margin-bottom: 0 !important;
403deleted: }
404deleted: .margin-top--none,
405deleted: .margin-vert--none {
406deleted: margin-top: 0 !important;
407deleted: }
408deleted: .row--no-gutters {
409deleted: margin-left: 0;
410deleted: margin-right: 0;
411deleted: }
412deleted: .margin-horiz--none,
413deleted: .margin-right--none {
414deleted: margin-right: 0 !important;
415deleted: }
416deleted: .row--no-gutters > .col {
417deleted: padding-left: 0;
418deleted: padding-right: 0;
419deleted: }
420deleted: .row--align-top {
421deleted: align-items: flex-start;
422deleted: }
423deleted: .row--align-bottom {
424deleted: align-items: flex-end;
425deleted: }
426deleted: .row--align-center {
427deleted: align-items: center;
428deleted: }
429deleted: .row--align-stretch {
430deleted: align-items: stretch;
431deleted: }
432deleted: .row--align-baseline {
433deleted: align-items: baseline;
434deleted: }
435deleted: .col {
436deleted: --ifm-col-width: 100%;
437deleted: flex: 1 0;
438deleted: margin-left: 0;
439deleted: max-width: var(--ifm-col-width);
440deleted: }
441deleted: .padding-bottom--none,
442deleted: .padding-vert--none {
443deleted: padding-bottom: 0 !important;
444deleted: }
445deleted: .padding-top--none,
446deleted: .padding-vert--none {
447deleted: padding-top: 0 !important;
448deleted: }
449deleted: .padding-horiz--none,
450deleted: .padding-left--none {
451deleted: padding-left: 0 !important;
452deleted: }
453deleted: .padding-horiz--none,
454deleted: .padding-right--none {
455deleted: padding-right: 0 !important;
456deleted: }
457deleted: .col[class*="col--"] {
458deleted: flex: 0 0 var(--ifm-col-width);
459deleted: }
460deleted: .col--1 {
461deleted: --ifm-col-width: 8.33333%;
462deleted: }
463deleted: .col--offset-1 {
464deleted: margin-left: 8.33333%;
465deleted: }
466deleted: .col--2 {
467deleted: --ifm-col-width: 16.66667%;
468deleted: }
469deleted: .col--offset-2 {
470deleted: margin-left: 16.66667%;
471deleted: }
472deleted: .col--3 {
473deleted: --ifm-col-width: 25%;
474deleted: }
475deleted: .col--offset-3 {
476deleted: margin-left: 25%;
477deleted: }
478deleted: .col--4 {
479deleted: --ifm-col-width: 33.33333%;
480deleted: }
481deleted: .col--offset-4 {
482deleted: margin-left: 33.33333%;
483deleted: }
484deleted: .col--5 {
485deleted: --ifm-col-width: 41.66667%;
486deleted: }
487deleted: .col--offset-5 {
488deleted: margin-left: 41.66667%;
489deleted: }
490deleted: .col--6 {
491deleted: --ifm-col-width: 50%;
492deleted: }
493deleted: .col--offset-6 {
494deleted: margin-left: 50%;
495deleted: }
496deleted: .col--7 {
497deleted: --ifm-col-width: 58.33333%;
498deleted: }
499deleted: .col--offset-7 {
500deleted: margin-left: 58.33333%;
501deleted: }
502deleted: .col--8 {
503deleted: --ifm-col-width: 66.66667%;
504deleted: }
505deleted: .col--offset-8 {
506deleted: margin-left: 66.66667%;
507deleted: }
508deleted: .col--9 {
509deleted: --ifm-col-width: 75%;
510deleted: }
511deleted: .col--offset-9 {
512deleted: margin-left: 75%;
513deleted: }
514deleted: .col--10 {
515deleted: --ifm-col-width: 83.33333%;
516deleted: }
517deleted: .col--offset-10 {
518deleted: margin-left: 83.33333%;
519deleted: }
520deleted: .col--11 {
521deleted: --ifm-col-width: 91.66667%;
522deleted: }
523deleted: .col--offset-11 {
524deleted: margin-left: 91.66667%;
525deleted: }
526deleted: .col--12 {
527deleted: --ifm-col-width: 100%;
528deleted: }
529deleted: .col--offset-12 {
530deleted: margin-left: 100%;
531deleted: }
532deleted: .margin-horiz--none,
533deleted: .margin-left--none {
534deleted: margin-left: 0 !important;
535deleted: }
536deleted: .margin--none {
537deleted: margin: 0 !important;
538deleted: }
539deleted: .margin-bottom--xs,
540deleted: .margin-vert--xs {
541deleted: margin-bottom: 0.25rem !important;
542deleted: }
543deleted: .margin-top--xs,
544deleted: .margin-vert--xs {
545deleted: margin-top: 0.25rem !important;
546deleted: }
547deleted: .margin-horiz--xs,
548deleted: .margin-left--xs {
549deleted: margin-left: 0.25rem !important;
550deleted: }
551deleted: .margin-horiz--xs,
552deleted: .margin-right--xs {
553deleted: margin-right: 0.25rem !important;
554deleted: }
555deleted: .margin--xs {
556deleted: margin: 0.25rem !important;
557deleted: }
558deleted: .margin-bottom--sm,
559deleted: .margin-vert--sm {
560deleted: margin-bottom: 0.5rem !important;
561deleted: }
562deleted: .margin-top--sm,
563deleted: .margin-vert--sm {
564deleted: margin-top: 0.5rem !important;
565deleted: }
566deleted: .margin-horiz--sm,
567deleted: .margin-left--sm {
568deleted: margin-left: 0.5rem !important;
569deleted: }
570deleted: .margin-horiz--sm,
571deleted: .margin-right--sm {
572deleted: margin-right: 0.5rem !important;
573deleted: }
574deleted: .margin--sm {
575deleted: margin: 0.5rem !important;
576deleted: }
577deleted: .margin-bottom--md,
578deleted: .margin-vert--md {
579deleted: margin-bottom: 1rem !important;
580deleted: }
581deleted: .margin-top--md,
582deleted: .margin-vert--md {
583deleted: margin-top: 1rem !important;
584deleted: }
585deleted: .margin-horiz--md,
586deleted: .margin-left--md {
587deleted: margin-left: 1rem !important;
588deleted: }
589deleted: .margin-horiz--md,
590deleted: .margin-right--md {
591deleted: margin-right: 1rem !important;
592deleted: }
593deleted: .margin--md {
594deleted: margin: 1rem !important;
595deleted: }
596deleted: .margin-bottom--lg,
597deleted: .margin-vert--lg {
598deleted: margin-bottom: 2rem !important;
599deleted: }
600deleted: .margin-top--lg,
601deleted: .margin-vert--lg {
602deleted: margin-top: 2rem !important;
603deleted: }
604deleted: .margin-horiz--lg,
605deleted: .margin-left--lg {
606deleted: margin-left: 2rem !important;
607deleted: }
608deleted: .margin-horiz--lg,
609deleted: .margin-right--lg {
610deleted: margin-right: 2rem !important;
611deleted: }
612deleted: .margin--lg {
613deleted: margin: 2rem !important;
614deleted: }
615deleted: .margin-bottom--xl,
616deleted: .margin-vert--xl {
617deleted: margin-bottom: 5rem !important;
618deleted: }
619deleted: .margin-top--xl,
620deleted: .margin-vert--xl {
621deleted: margin-top: 5rem !important;
622deleted: }
623deleted: .margin-horiz--xl,
624deleted: .margin-left--xl {
625deleted: margin-left: 5rem !important;
626deleted: }
627deleted: .margin-horiz--xl,
628deleted: .margin-right--xl {
629deleted: margin-right: 5rem !important;
630deleted: }
631deleted: .margin--xl {
632deleted: margin: 5rem !important;
633deleted: }
634deleted: .padding--none {
635deleted: padding: 0 !important;
636deleted: }
637deleted: .padding-bottom--xs,
638deleted: .padding-vert--xs {
639deleted: padding-bottom: 0.25rem !important;
640deleted: }
641deleted: .padding-top--xs,
642deleted: .padding-vert--xs {
643deleted: padding-top: 0.25rem !important;
644deleted: }
645deleted: .padding-horiz--xs,
646deleted: .padding-left--xs {
647deleted: padding-left: 0.25rem !important;
648deleted: }
649deleted: .padding-horiz--xs,
650deleted: .padding-right--xs {
651deleted: padding-right: 0.25rem !important;
652deleted: }
653deleted: .padding--xs {
654deleted: padding: 0.25rem !important;
655deleted: }
656deleted: .padding-bottom--sm,
657deleted: .padding-vert--sm {
658deleted: padding-bottom: 0.5rem !important;
659deleted: }
660deleted: .padding-top--sm,
661deleted: .padding-vert--sm {
662deleted: padding-top: 0.5rem !important;
663deleted: }
664deleted: .padding-horiz--sm,
665deleted: .padding-left--sm {
666deleted: padding-left: 0.5rem !important;
667deleted: }
668deleted: .padding-horiz--sm,
669deleted: .padding-right--sm {
670deleted: padding-right: 0.5rem !important;
671deleted: }
672deleted: .padding--sm {
673deleted: padding: 0.5rem !important;
674deleted: }
675deleted: .padding-bottom--md,
676deleted: .padding-vert--md {
677deleted: padding-bottom: 1rem !important;
678deleted: }
679deleted: .padding-top--md,
680deleted: .padding-vert--md {
681deleted: padding-top: 1rem !important;
682deleted: }
683deleted: .padding-horiz--md,
684deleted: .padding-left--md {
685deleted: padding-left: 1rem !important;
686deleted: }
687deleted: .padding-horiz--md,
688deleted: .padding-right--md {
689deleted: padding-right: 1rem !important;
690deleted: }
691deleted: .padding--md {
692deleted: padding: 1rem !important;
693deleted: }
694deleted: .padding-bottom--lg,
695deleted: .padding-vert--lg {
696deleted: padding-bottom: 2rem !important;
697deleted: }
698deleted: .padding-top--lg,
699deleted: .padding-vert--lg {
700deleted: padding-top: 2rem !important;
701deleted: }
702deleted: .padding-horiz--lg,
703deleted: .padding-left--lg {
704deleted: padding-left: 2rem !important;
705deleted: }
706deleted: .padding-horiz--lg,
707deleted: .padding-right--lg {
708deleted: padding-right: 2rem !important;
709deleted: }
710deleted: .padding--lg {
711deleted: padding: 2rem !important;
712deleted: }
713deleted: .padding-bottom--xl,
714deleted: .padding-vert--xl {
715deleted: padding-bottom: 5rem !important;
716deleted: }
717deleted: .padding-top--xl,
718deleted: .padding-vert--xl {
719deleted: padding-top: 5rem !important;
720deleted: }
721deleted: .padding-horiz--xl,
722deleted: .padding-left--xl {
723deleted: padding-left: 5rem !important;
724deleted: }
725deleted: .padding-horiz--xl,
726deleted: .padding-right--xl {
727deleted: padding-right: 5rem !important;
728deleted: }
729deleted: .padding--xl {
730deleted: padding: 5rem !important;
731deleted: }
732deleted: code {
733deleted: background-color: var(--ifm-code-background);
734deleted: border: 0.1rem solid #0000001a;
735deleted: border-radius: var(--ifm-code-border-radius);
736deleted: font-family: var(--ifm-font-family-monospace);
737deleted: font-size: var(--ifm-code-font-size);
738deleted: padding: var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal);
739deleted: }
740deleted: a code {
741deleted: color: inherit;
742deleted: }
743deleted: pre {
744deleted: background-color: var(--ifm-pre-background);
745deleted: border-radius: var(--ifm-pre-border-radius);
746deleted: color: var(--ifm-pre-color);
747deleted: font: var(--ifm-code-font-size) / var(--ifm-pre-line-height)
748deleted: var(--ifm-font-family-monospace);
749deleted: padding: var(--ifm-pre-padding);
750deleted: }
751deleted: pre code {
752deleted: background-color: initial;
753deleted: border: none;
754deleted: font-size: 100%;
755deleted: line-height: inherit;
756deleted: padding: 0;
757deleted: }
758deleted: kbd {
759deleted: background-color: var(--ifm-color-emphasis-0);
760deleted: border: 1px solid var(--ifm-color-emphasis-400);
761deleted: border-radius: 0.2rem;
762deleted: box-shadow: inset 0 -1px 0 var(--ifm-color-emphasis-400);
763deleted: color: var(--ifm-color-emphasis-800);
764deleted: font: 80% var(--ifm-font-family-monospace);
765deleted: padding: 0.15rem 0.3rem;
766deleted: }
767deleted: h1,
768deleted: h2,
769deleted: h3,
770deleted: h4,
771deleted: h5,
772deleted: h6 {
773deleted: color: var(--ifm-heading-color);
774deleted: font-family: var(--ifm-heading-font-family);
775deleted: font-weight: var(--ifm-heading-font-weight);
776deleted: line-height: var(--ifm-heading-line-height);
777deleted: margin: var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0;
778deleted: }
779deleted: h1 {
780deleted: font-size: var(--ifm-h1-font-size);
781deleted: }
782deleted: h2 {
783deleted: font-size: var(--ifm-h2-font-size);
784deleted: }
785deleted: h3 {
786deleted: font-size: var(--ifm-h3-font-size);
787deleted: }
788deleted: h4 {
789deleted: font-size: var(--ifm-h4-font-size);
790deleted: }
791deleted: h5 {
792deleted: font-size: var(--ifm-h5-font-size);
793deleted: }
794deleted: h6 {
795deleted: font-size: var(--ifm-h6-font-size);
796deleted: }
797deleted: img {
798deleted: max-width: 100%;
799deleted: }
800deleted: img[align="right"] {
801deleted: padding-left: var(--image-alignment-padding);
802deleted: }
803deleted: img[align="left"] {
804deleted: padding-right: var(--image-alignment-padding);
805deleted: }
806deleted: .markdown {
807deleted: --ifm-h1-vertical-rhythm-top: 3;
808deleted: --ifm-h2-vertical-rhythm-top: 2;
809deleted: --ifm-h3-vertical-rhythm-top: 1.5;
810deleted: --ifm-heading-vertical-rhythm-top: 1.25;
811deleted: --ifm-h1-vertical-rhythm-bottom: 1.25;
812deleted: --ifm-heading-vertical-rhythm-bottom: 1;
813deleted: }
814deleted: .markdown:after,
815deleted: .markdown:before {
816deleted: content: "";
817deleted: display: table;
818deleted: }
819deleted: .markdown:after {
820deleted: clear: both;
821deleted: }
822deleted: .markdown h1:first-child {
823deleted: --ifm-h1-font-size: 3rem;
824deleted: margin-bottom: calc(var(--ifm-h1-vertical-rhythm-bottom) * var(--ifm-leading));
825deleted: }
826deleted: .markdown > h2 {
827deleted: --ifm-h2-font-size: 2rem;
828deleted: margin-top: calc(var(--ifm-h2-vertical-rhythm-top) * var(--ifm-leading));
829deleted: }
830deleted: .markdown > h3 {
831deleted: --ifm-h3-font-size: 1.5rem;
832deleted: margin-top: calc(var(--ifm-h3-vertical-rhythm-top) * var(--ifm-leading));
833deleted: }
834deleted: .markdown > h4,
835deleted: .markdown > h5,
836deleted: .markdown > h6 {
837deleted: margin-top: calc(var(--ifm-heading-vertical-rhythm-top) * var(--ifm-leading));
838deleted: }
839deleted: .markdown > p,
840deleted: .markdown > pre,
841deleted: .markdown > ul {
842deleted: margin-bottom: var(--ifm-leading);
843deleted: }
844deleted: .markdown li > p {
845deleted: margin-top: var(--ifm-list-paragraph-margin);
846deleted: }
847deleted: .markdown li + li {
848deleted: margin-top: var(--ifm-list-item-margin);
849deleted: }
850deleted: ol,
851deleted: ul {
852deleted: margin: 0 0 var(--ifm-list-margin);
853deleted: padding-left: var(--ifm-list-left-padding);
854deleted: }
855deleted: ol ol,
856deleted: ul ol {
857deleted: list-style-type: lower-roman;
858deleted: }
859deleted: ol ol ol,
860deleted: ol ul ol,
861deleted: ul ol ol,
862deleted: ul ul ol {
863deleted: list-style-type: lower-alpha;
864deleted: }
865deleted: table {
866deleted: border-collapse: collapse;
867deleted: display: block;
868deleted: margin-bottom: var(--ifm-spacing-vertical);
869deleted: }
870deleted: table thead tr {
871deleted: border-bottom: 2px solid var(--ifm-table-border-color);
872deleted: }
873deleted: table thead,
874deleted: table tr:nth-child(2n) {
875deleted: background-color: var(--ifm-table-stripe-background);
876deleted: }
877deleted: table tr {
878deleted: background-color: var(--ifm-table-background);
879deleted: border-top: var(--ifm-table-border-width) solid var(--ifm-table-border-color);
880deleted: }
881deleted: table td,
882deleted: table th {
883deleted: border: var(--ifm-table-border-width) solid var(--ifm-table-border-color);
884deleted: padding: var(--ifm-table-cell-padding);
885deleted: }
886deleted: table th {
887deleted: background-color: var(--ifm-table-head-background);
888deleted: color: var(--ifm-table-head-color);
889deleted: font-weight: var(--ifm-table-head-font-weight);
890deleted: }
891deleted: table td {
892deleted: color: var(--ifm-table-cell-color);
893deleted: }
894deleted: strong {
895deleted: font-weight: var(--ifm-font-weight-bold);
896deleted: }
897deleted: a {
898deleted: color: var(--ifm-link-color);
899deleted: text-decoration: var(--ifm-link-decoration);
900deleted: }
901deleted: a:hover {
902deleted: color: var(--ifm-link-hover-color);
903deleted: text-decoration: var(--ifm-link-hover-decoration);
904deleted: }
905deleted: .button:hover,
906deleted: .text--no-decoration,
907deleted: .text--no-decoration:hover,
908deleted: a:not([href]) {
909deleted: text-decoration: none;
910deleted: }
911deleted: p {
912deleted: margin: 0 0 var(--ifm-paragraph-margin-bottom);
913deleted: }
914deleted: blockquote {
915deleted: border-left: var(--ifm-blockquote-border-left-width) solid
916deleted: var(--ifm-blockquote-border-color);
917deleted: box-shadow: var(--ifm-blockquote-shadow);
918deleted: color: var(--ifm-blockquote-color);
919deleted: font-size: var(--ifm-blockquote-font-size);
920deleted: padding: var(--ifm-blockquote-padding-vertical)
921deleted: var(--ifm-blockquote-padding-horizontal);
922deleted: }
923deleted: blockquote > :first-child {
924deleted: margin-top: 0;
925deleted: }
926deleted: blockquote > :last-child {
927deleted: margin-bottom: 0;
928deleted: }
929deleted: hr {
930deleted: background-color: var(--ifm-hr-background-color);
931deleted: border: 0;
932deleted: height: var(--ifm-hr-height);
933deleted: margin: var(--ifm-hr-margin-vertical) 0;
934deleted: }
935deleted: .shadow--lw {
936deleted: box-shadow: var(--ifm-global-shadow-lw) !important;
937deleted: }
938deleted: .shadow--md {
939deleted: box-shadow: var(--ifm-global-shadow-md) !important;
940deleted: }
941deleted: .shadow--tl {
942deleted: box-shadow: var(--ifm-global-shadow-tl) !important;
943deleted: }
944deleted: .text--primary {
945deleted: color: var(--ifm-color-primary);
946deleted: }
947deleted: .text--secondary {
948deleted: color: var(--ifm-color-secondary);
949deleted: }
950deleted: .text--success {
951deleted: color: var(--ifm-color-success);
952deleted: }
953deleted: .text--info {
954deleted: color: var(--ifm-color-info);
955deleted: }
956deleted: .text--warning {
957deleted: color: var(--ifm-color-warning);
958deleted: }
959deleted: .text--danger {
960deleted: color: var(--ifm-color-danger);
961deleted: }
962deleted: .text--center {
963deleted: text-align: center;
964deleted: }
965deleted: .text--left {
966deleted: text-align: left;
967deleted: }
968deleted: .text--justify {
969deleted: text-align: justify;
970deleted: }
971deleted: .text--right {
972deleted: text-align: right;
973deleted: }
974deleted: .text--capitalize {
975deleted: text-transform: capitalize;
976deleted: }
977deleted: .text--lowercase {
978deleted: text-transform: lowercase;
979deleted: }
980deleted: .alert__heading,
981deleted: .text--uppercase {
982deleted: text-transform: uppercase;
983deleted: }
984deleted: .text--light {
985deleted: font-weight: var(--ifm-font-weight-light);
986deleted: }
987deleted: .text--normal {
988deleted: font-weight: var(--ifm-font-weight-normal);
989deleted: }
990deleted: .text--semibold {
991deleted: font-weight: var(--ifm-font-weight-semibold);
992deleted: }
993deleted: .text--bold {
994deleted: font-weight: var(--ifm-font-weight-bold);
995deleted: }
996deleted: .text--italic {
997deleted: font-style: italic;
998deleted: }
999deleted: .text--truncate {
1000deleted: overflow: hidden;
1001deleted: text-overflow: ellipsis;
1002deleted: white-space: nowrap;
1003deleted: }
1004deleted: .text--break {
1005deleted: word-wrap: break-word !important;
1006deleted: word-break: break-word !important;
1007deleted: }
1008deleted: .clean-btn {
1009deleted: background: none;
1010deleted: border: none;
1011deleted: color: inherit;
1012deleted: cursor: pointer;
1013deleted: font-family: inherit;
1014deleted: padding: 0;
1015deleted: }
1016deleted: .alert,
1017deleted: .alert .close {
1018deleted: color: var(--ifm-alert-foreground-color);
1019deleted: }
1020deleted: .clean-list {
1021deleted: list-style: none;
1022deleted: padding-left: 0;
1023deleted: }
1024deleted: .alert--primary {
1025deleted: --ifm-alert-background-color: var(--ifm-color-primary-contrast-background);
1026deleted: --ifm-alert-background-color-highlight: #3578e526;
1027deleted: --ifm-alert-foreground-color: var(--ifm-color-primary-contrast-foreground);
1028deleted: --ifm-alert-border-color: var(--ifm-color-primary-dark);
1029deleted: }
1030deleted: .alert--secondary {
1031deleted: --ifm-alert-background-color: var(--ifm-color-secondary-contrast-background);
1032deleted: --ifm-alert-background-color-highlight: #ebedf026;
1033deleted: --ifm-alert-foreground-color: var(--ifm-color-secondary-contrast-foreground);
1034deleted: --ifm-alert-border-color: var(--ifm-color-secondary-dark);
1035deleted: }
1036deleted: .alert--success {
1037deleted: --ifm-alert-background-color: var(--ifm-color-success-contrast-background);
1038deleted: --ifm-alert-background-color-highlight: #00a40026;
1039deleted: --ifm-alert-foreground-color: var(--ifm-color-success-contrast-foreground);
1040deleted: --ifm-alert-border-color: var(--ifm-color-success-dark);
1041deleted: }
1042deleted: .alert--info {
1043deleted: --ifm-alert-background-color: var(--ifm-color-info-contrast-background);
1044deleted: --ifm-alert-background-color-highlight: #54c7ec26;
1045deleted: --ifm-alert-foreground-color: var(--ifm-color-info-contrast-foreground);
1046deleted: --ifm-alert-border-color: var(--ifm-color-info-dark);
1047deleted: }
1048deleted: .alert--warning {
1049deleted: --ifm-alert-background-color: var(--ifm-color-warning-contrast-background);
1050deleted: --ifm-alert-background-color-highlight: #ffba0026;
1051deleted: --ifm-alert-foreground-color: var(--ifm-color-warning-contrast-foreground);
1052deleted: --ifm-alert-border-color: var(--ifm-color-warning-dark);
1053deleted: }
1054deleted: .alert--danger {
1055deleted: --ifm-alert-background-color: var(--ifm-color-danger-contrast-background);
1056deleted: --ifm-alert-background-color-highlight: #fa383e26;
1057deleted: --ifm-alert-foreground-color: var(--ifm-color-danger-contrast-foreground);
1058deleted: --ifm-alert-border-color: var(--ifm-color-danger-dark);
1059deleted: }
1060deleted: .alert {
1061deleted: --ifm-code-background: var(--ifm-alert-background-color-highlight);
1062deleted: --ifm-link-color: var(--ifm-alert-foreground-color);
1063deleted: --ifm-link-hover-color: var(--ifm-alert-foreground-color);
1064deleted: --ifm-link-decoration: underline;
1065deleted: --ifm-tabs-color: var(--ifm-alert-foreground-color);
1066deleted: --ifm-tabs-color-active: var(--ifm-alert-foreground-color);
1067deleted: --ifm-tabs-color-active-border: var(--ifm-alert-border-color);
1068deleted: background-color: var(--ifm-alert-background-color);
1069deleted: border: var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);
1070deleted: border-left-width: var(--ifm-alert-border-left-width);
1071deleted: border-radius: var(--ifm-alert-border-radius);
1072deleted: box-shadow: var(--ifm-alert-shadow);
1073deleted: padding: var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal);
1074deleted: }
1075deleted: .alert__heading {
1076deleted: align-items: center;
1077deleted: display: flex;
1078deleted: font: 700 var(--ifm-h5-font-size) / var(--ifm-heading-line-height)
1079deleted: var(--ifm-heading-font-family);
1080deleted: margin-bottom: 0.5rem;
1081deleted: }
1082deleted: .alert__icon {
1083deleted: display: inline-flex;
1084deleted: margin-right: 0.4em;
1085deleted: }
1086deleted: .alert__icon svg {
1087deleted: fill: var(--ifm-alert-foreground-color);
1088deleted: stroke: var(--ifm-alert-foreground-color);
1089deleted: stroke-width: 0;
1090deleted: }
1091deleted: .alert .close {
1092deleted: margin: calc(var(--ifm-alert-padding-vertical) * -1)
1093deleted: calc(var(--ifm-alert-padding-horizontal) * -1) 0 0;
1094deleted: opacity: 0.75;
1095deleted: }
1096deleted: .alert .close:focus,
1097deleted: .alert .close:hover {
1098deleted: opacity: 1;
1099deleted: }
1100deleted: .alert a {
1101deleted: text-decoration-color: var(--ifm-alert-border-color);
1102deleted: }
1103deleted: .alert a:hover {
1104deleted: text-decoration-thickness: 2px;
1105deleted: }
1106deleted: .avatar {
1107deleted: column-gap: var(--ifm-avatar-intro-margin);
1108deleted: display: flex;
1109deleted: }
1110deleted: .avatar__photo {
1111deleted: border-radius: 50%;
1112deleted: display: block;
1113deleted: height: var(--ifm-avatar-photo-size);
1114deleted: overflow: hidden;
1115deleted: width: var(--ifm-avatar-photo-size);
1116deleted: }
1117deleted: .card--full-height,
1118deleted: .navbar__logo img {
1119deleted: height: 100%;
1120deleted: }
1121deleted: .avatar__photo--sm {
1122deleted: --ifm-avatar-photo-size: 2rem;
1123deleted: }
1124deleted: .avatar__photo--lg {
1125deleted: --ifm-avatar-photo-size: 4rem;
1126deleted: }
1127deleted: .avatar__photo--xl {
1128deleted: --ifm-avatar-photo-size: 6rem;
1129deleted: }
1130deleted: .avatar__intro {
1131deleted: display: flex;
1132deleted: flex: 1 1;
1133deleted: flex-direction: column;
1134deleted: justify-content: center;
1135deleted: text-align: var(--ifm-avatar-intro-alignment);
1136deleted: }
1137deleted: .badge,
1138deleted: .breadcrumbs__item,
1139deleted: .breadcrumbs__link,
1140deleted: .button,
1141deleted: .dropdown > .navbar__link:after {
1142deleted: display: inline-block;
1143deleted: }
1144deleted: .avatar__name {
1145deleted: font: 700 var(--ifm-h4-font-size) / var(--ifm-heading-line-height)
1146deleted: var(--ifm-font-family-base);
1147deleted: }
1148deleted: .avatar__subtitle {
1149deleted: margin-top: 0.25rem;
1150deleted: }
1151deleted: .avatar--vertical {
1152deleted: --ifm-avatar-intro-alignment: center;
1153deleted: --ifm-avatar-intro-margin: 0.5rem;
1154deleted: align-items: center;
1155deleted: flex-direction: column;
1156deleted: }
1157deleted: .badge {
1158deleted: background-color: var(--ifm-badge-background-color);
1159deleted: border: var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);
1160deleted: border-radius: var(--ifm-badge-border-radius);
1161deleted: color: var(--ifm-badge-color);
1162deleted: font-size: 75%;
1163deleted: font-weight: var(--ifm-font-weight-bold);
1164deleted: line-height: 1;
1165deleted: padding: var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal);
1166deleted: }
1167deleted: .badge--primary {
1168deleted: --ifm-badge-background-color: var(--ifm-color-primary);
1169deleted: }
1170deleted: .badge--secondary {
1171deleted: --ifm-badge-background-color: var(--ifm-color-secondary);
1172deleted: color: var(--ifm-color-black);
1173deleted: }
1174deleted: .breadcrumbs__link,
1175deleted: .button.button--secondary.button--outline:not(.button--active):not(:hover) {
1176deleted: color: var(--ifm-font-color-base);
1177deleted: }
1178deleted: .badge--success {
1179deleted: --ifm-badge-background-color: var(--ifm-color-success);
1180deleted: }
1181deleted: .badge--info {
1182deleted: --ifm-badge-background-color: var(--ifm-color-info);
1183deleted: }
1184deleted: .badge--warning {
1185deleted: --ifm-badge-background-color: var(--ifm-color-warning);
1186deleted: }
1187deleted: .badge--danger {
1188deleted: --ifm-badge-background-color: var(--ifm-color-danger);
1189deleted: }
1190deleted: .breadcrumbs {
1191deleted: margin-bottom: 0;
1192deleted: padding-left: 0;
1193deleted: }
1194deleted: .breadcrumbs__item:not(:last-child):after {
1195deleted: background: var(--ifm-breadcrumb-separator) center;
1196deleted: content: " ";
1197deleted: display: inline-block;
1198deleted: filter: var(--ifm-breadcrumb-separator-filter);
1199deleted: height: calc(
1200deleted: var(--ifm-breadcrumb-separator-size) *
1201deleted: var(--ifm-breadcrumb-size-multiplier) *
1202deleted: var(--ifm-breadcrumb-separator-size-multiplier)
1203deleted: );
1204deleted: margin: 0 var(--ifm-breadcrumb-spacing);
1205deleted: opacity: 0.5;
1206deleted: width: calc(
1207deleted: var(--ifm-breadcrumb-separator-size) *
1208deleted: var(--ifm-breadcrumb-size-multiplier) *
1209deleted: var(--ifm-breadcrumb-separator-size-multiplier)
1210deleted: );
1211deleted: }
1212deleted: .breadcrumbs__item--active .breadcrumbs__link {
1213deleted: background: var(--ifm-breadcrumb-item-background-active);
1214deleted: color: var(--ifm-breadcrumb-color-active);
1215deleted: }
1216deleted: .breadcrumbs__link {
1217deleted: border-radius: var(--ifm-breadcrumb-border-radius);
1218deleted: font-size: calc(1rem * var(--ifm-breadcrumb-size-multiplier));
1219deleted: padding: calc(
1220deleted: var(--ifm-breadcrumb-padding-vertical) *
1221deleted: var(--ifm-breadcrumb-size-multiplier)
1222deleted: )
1223deleted: calc(
1224deleted: var(--ifm-breadcrumb-padding-horizontal) *
1225deleted: var(--ifm-breadcrumb-size-multiplier)
1226deleted: );
1227deleted: transition-duration: var(--ifm-transition-fast);
1228deleted: transition-property: background, color;
1229deleted: }
1230deleted: .breadcrumbs__link:link:hover,
1231deleted: .breadcrumbs__link:visited:hover,
1232deleted: area[href].breadcrumbs__link:hover {
1233deleted: background: var(--ifm-breadcrumb-item-background-active);
1234deleted: text-decoration: none;
1235deleted: }
1236deleted: .breadcrumbs__link:any-link:hover {
1237deleted: background: var(--ifm-breadcrumb-item-background-active);
1238deleted: text-decoration: none;
1239deleted: }
1240deleted: .breadcrumbs--sm {
1241deleted: --ifm-breadcrumb-size-multiplier: 0.8;
1242deleted: }
1243deleted: .breadcrumbs--lg {
1244deleted: --ifm-breadcrumb-size-multiplier: 1.2;
1245deleted: }
1246deleted: .button {
1247deleted: background-color: var(--ifm-button-background-color);
1248deleted: border: var(--ifm-button-border-width) solid var(--ifm-button-border-color);
1249deleted: border-radius: var(--ifm-button-border-radius);
1250deleted: cursor: pointer;
1251deleted: font-size: calc(0.875rem * var(--ifm-button-size-multiplier));
1252deleted: font-weight: var(--ifm-button-font-weight);
1253deleted: line-height: 1.5;
1254deleted: padding: calc(
1255deleted: var(--ifm-button-padding-vertical) *
1256deleted: var(--ifm-button-size-multiplier)
1257deleted: )
1258deleted: calc(
1259deleted: var(--ifm-button-padding-horizontal) *
1260deleted: var(--ifm-button-size-multiplier)
1261deleted: );
1262deleted: text-align: center;
1263deleted: transition-duration: var(--ifm-button-transition-duration);
1264deleted: transition-property: color, background, border-color;
1265deleted: -webkit-user-select: none;
1266deleted: user-select: none;
1267deleted: white-space: nowrap;
1268deleted: }
1269deleted: .button,
1270deleted: .button:hover {
1271deleted: color: var(--ifm-button-color);
1272deleted: }
1273deleted: .button--outline {
1274deleted: --ifm-button-color: var(--ifm-button-border-color);
1275deleted: }
1276deleted: .button--outline:hover {
1277deleted: --ifm-button-background-color: var(--ifm-button-border-color);
1278deleted: }
1279deleted: .button--link {
1280deleted: --ifm-button-border-color: #0000;
1281deleted: color: var(--ifm-link-color);
1282deleted: text-decoration: var(--ifm-link-decoration);
1283deleted: }
1284deleted: .button--link.button--active,
1285deleted: .button--link:active,
1286deleted: .button--link:hover {
1287deleted: color: var(--ifm-link-hover-color);
1288deleted: text-decoration: var(--ifm-link-hover-decoration);
1289deleted: }
1290deleted: .button.disabled,
1291deleted: .button:disabled,
1292deleted: .button[disabled] {
1293deleted: opacity: 0.65;
1294deleted: pointer-events: none;
1295deleted: }
1296deleted: .button--sm {
1297deleted: --ifm-button-size-multiplier: 0.8;
1298deleted: }
1299deleted: .button--lg {
1300deleted: --ifm-button-size-multiplier: 1.35;
1301deleted: }
1302deleted: .button--block {
1303deleted: display: block;
1304deleted: width: 100%;
1305deleted: }
1306deleted: .button.button--secondary {
1307deleted: color: var(--ifm-color-gray-900);
1308deleted: }
1309deleted: :where(.button--primary) {
1310deleted: --ifm-button-background-color: var(--ifm-color-primary);
1311deleted: --ifm-button-border-color: var(--ifm-color-primary);
1312deleted: }
1313deleted: :where(.button--primary):not(.button--outline):hover {
1314deleted: --ifm-button-background-color: var(--ifm-color-primary-dark);
1315deleted: --ifm-button-border-color: var(--ifm-color-primary-dark);
1316deleted: }
1317deleted: .button--primary.button--active,
1318deleted: .button--primary:active {
1319deleted: --ifm-button-background-color: var(--ifm-color-primary-darker);
1320deleted: --ifm-button-border-color: var(--ifm-color-primary-darker);
1321deleted: }
1322deleted: :where(.button--secondary) {
1323deleted: --ifm-button-background-color: var(--ifm-color-secondary);
1324deleted: --ifm-button-border-color: var(--ifm-color-secondary);
1325deleted: }
1326deleted: :where(.button--secondary):not(.button--outline):hover {
1327deleted: --ifm-button-background-color: var(--ifm-color-secondary-dark);
1328deleted: --ifm-button-border-color: var(--ifm-color-secondary-dark);
1329deleted: }
1330deleted: .button--secondary.button--active,
1331deleted: .button--secondary:active {
1332deleted: --ifm-button-background-color: var(--ifm-color-secondary-darker);
1333deleted: --ifm-button-border-color: var(--ifm-color-secondary-darker);
1334deleted: }
1335deleted: :where(.button--success) {
1336deleted: --ifm-button-background-color: var(--ifm-color-success);
1337deleted: --ifm-button-border-color: var(--ifm-color-success);
1338deleted: }
1339deleted: :where(.button--success):not(.button--outline):hover {
1340deleted: --ifm-button-background-color: var(--ifm-color-success-dark);
1341deleted: --ifm-button-border-color: var(--ifm-color-success-dark);
1342deleted: }
1343deleted: .button--success.button--active,
1344deleted: .button--success:active {
1345deleted: --ifm-button-background-color: var(--ifm-color-success-darker);
1346deleted: --ifm-button-border-color: var(--ifm-color-success-darker);
1347deleted: }
1348deleted: :where(.button--info) {
1349deleted: --ifm-button-background-color: var(--ifm-color-info);
1350deleted: --ifm-button-border-color: var(--ifm-color-info);
1351deleted: }
1352deleted: :where(.button--info):not(.button--outline):hover {
1353deleted: --ifm-button-background-color: var(--ifm-color-info-dark);
1354deleted: --ifm-button-border-color: var(--ifm-color-info-dark);
1355deleted: }
1356deleted: .button--info.button--active,
1357deleted: .button--info:active {
1358deleted: --ifm-button-background-color: var(--ifm-color-info-darker);
1359deleted: --ifm-button-border-color: var(--ifm-color-info-darker);
1360deleted: }
1361deleted: :where(.button--warning) {
1362deleted: --ifm-button-background-color: var(--ifm-color-warning);
1363deleted: --ifm-button-border-color: var(--ifm-color-warning);
1364deleted: }
1365deleted: :where(.button--warning):not(.button--outline):hover {
1366deleted: --ifm-button-background-color: var(--ifm-color-warning-dark);
1367deleted: --ifm-button-border-color: var(--ifm-color-warning-dark);
1368deleted: }
1369deleted: .button--warning.button--active,
1370deleted: .button--warning:active {
1371deleted: --ifm-button-background-color: var(--ifm-color-warning-darker);
1372deleted: --ifm-button-border-color: var(--ifm-color-warning-darker);
1373deleted: }
1374deleted: :where(.button--danger) {
1375deleted: --ifm-button-background-color: var(--ifm-color-danger);
1376deleted: --ifm-button-border-color: var(--ifm-color-danger);
1377deleted: }
1378deleted: :where(.button--danger):not(.button--outline):hover {
1379deleted: --ifm-button-background-color: var(--ifm-color-danger-dark);
1380deleted: --ifm-button-border-color: var(--ifm-color-danger-dark);
1381deleted: }
1382deleted: .button--danger.button--active,
1383deleted: .button--danger:active {
1384deleted: --ifm-button-background-color: var(--ifm-color-danger-darker);
1385deleted: --ifm-button-border-color: var(--ifm-color-danger-darker);
1386deleted: }
1387deleted: .button-group {
1388deleted: display: inline-flex;
1389deleted: gap: var(--ifm-button-group-spacing);
1390deleted: }
1391deleted: .button-group > .button:not(:first-child) {
1392deleted: border-bottom-left-radius: 0;
1393deleted: border-top-left-radius: 0;
1394deleted: }
1395deleted: .button-group > .button:not(:last-child) {
1396deleted: border-bottom-right-radius: 0;
1397deleted: border-top-right-radius: 0;
1398deleted: }
1399deleted: .button-group--block {
1400deleted: display: flex;
1401deleted: justify-content: stretch;
1402deleted: }
1403deleted: .button-group--block > .button {
1404deleted: flex-grow: 1;
1405deleted: }
1406deleted: .card {
1407deleted: background-color: var(--ifm-card-background-color);
1408deleted: border-radius: var(--ifm-card-border-radius);
1409deleted: box-shadow: var(--ifm-global-shadow-lw);
1410deleted: display: flex;
1411deleted: flex-direction: column;
1412deleted: overflow: hidden;
1413deleted: }
1414deleted: .card__image {
1415deleted: padding-top: var(--ifm-card-vertical-spacing);
1416deleted: }
1417deleted: .card__image:first-child {
1418deleted: padding-top: 0;
1419deleted: }
1420deleted: .card__body,
1421deleted: .card__footer,
1422deleted: .card__header {
1423deleted: padding: var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing);
1424deleted: }
1425deleted: .card__body:not(:last-child),
1426deleted: .card__footer:not(:last-child),
1427deleted: .card__header:not(:last-child) {
1428deleted: padding-bottom: 0;
1429deleted: }
1430deleted: .card__body > :last-child,
1431deleted: .card__footer > :last-child,
1432deleted: .card__header > :last-child {
1433deleted: margin-bottom: 0;
1434deleted: }
1435deleted: .card__footer {
1436deleted: margin-top: auto;
1437deleted: }
1438deleted: .table-of-contents {
1439deleted: font-size: 0.8rem;
1440deleted: margin-bottom: 0;
1441deleted: padding: var(--ifm-toc-padding-vertical) 0;
1442deleted: }
1443deleted: .table-of-contents,
1444deleted: .table-of-contents ul {
1445deleted: list-style: none;
1446deleted: padding-left: var(--ifm-toc-padding-horizontal);
1447deleted: }
1448deleted: .table-of-contents li {
1449deleted: margin: var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal);
1450deleted: }
1451deleted: .table-of-contents__left-border {
1452deleted: border-left: 1px solid var(--ifm-toc-border-color);
1453deleted: }
1454deleted: .table-of-contents__link {
1455deleted: color: var(--ifm-toc-link-color);
1456deleted: display: block;
1457deleted: }
1458deleted: .table-of-contents__link--active,
1459deleted: .table-of-contents__link--active code,
1460deleted: .table-of-contents__link:hover,
1461deleted: .table-of-contents__link:hover code {
1462deleted: color: var(--ifm-color-primary);
1463deleted: text-decoration: none;
1464deleted: }
1465deleted: .close {
1466deleted: color: var(--ifm-color-black);
1467deleted: float: right;
1468deleted: font-size: 1.5rem;
1469deleted: font-weight: var(--ifm-font-weight-bold);
1470deleted: line-height: 1;
1471deleted: opacity: 0.5;
1472deleted: padding: 1rem;
1473deleted: transition: opacity var(--ifm-transition-fast)
1474deleted: var(--ifm-transition-timing-default);
1475deleted: }
1476deleted: .close:hover {
1477deleted: opacity: 0.7;
1478deleted: }
1479deleted: .close:focus {
1480deleted: opacity: 0.8;
1481deleted: }
1482deleted: .dropdown {
1483deleted: display: inline-flex;
1484deleted: font-weight: var(--ifm-dropdown-font-weight);
1485deleted: position: relative;
1486deleted: vertical-align: top;
1487deleted: }
1488deleted: .dropdown--hoverable:hover .dropdown__menu,
1489deleted: .dropdown--show .dropdown__menu {
1490deleted: opacity: 1;
1491deleted: pointer-events: all;
1492deleted: transform: translateY(-1px);
1493deleted: visibility: visible;
1494deleted: }
1495deleted: .dropdown__menu,
1496deleted: .navbar__item.dropdown .navbar__link:not([href]) {
1497deleted: pointer-events: none;
1498deleted: }
1499deleted: .dropdown--right .dropdown__menu {
1500deleted: left: inherit;
1501deleted: right: 0;
1502deleted: }
1503deleted: .dropdown--nocaret .navbar__link:after {
1504deleted: content: none !important;
1505deleted: }
1506deleted: .dropdown__menu {
1507deleted: background-color: var(--ifm-dropdown-background-color);
1508deleted: border-radius: var(--ifm-global-radius);
1509deleted: box-shadow: var(--ifm-global-shadow-md);
1510deleted: left: 0;
1511deleted: list-style: none;
1512deleted: max-height: 80vh;
1513deleted: min-width: 10rem;
1514deleted: opacity: 0;
1515deleted: overflow-y: auto;
1516deleted: padding: 0.5rem;
1517deleted: position: absolute;
1518deleted: top: calc(100% - var(--ifm-navbar-item-padding-vertical) + 0.3rem);
1519deleted: transform: translateY(-0.625rem);
1520deleted: transition-duration: var(--ifm-transition-fast);
1521deleted: transition-property: opacity, transform, visibility;
1522deleted: transition-timing-function: var(--ifm-transition-timing-default);
1523deleted: visibility: hidden;
1524deleted: z-index: var(--ifm-z-index-dropdown);
1525deleted: }
1526deleted: .menu__caret,
1527deleted: .menu__link,
1528deleted: .menu__list-item-collapsible {
1529deleted: border-radius: 0.25rem;
1530deleted: transition: background var(--ifm-transition-fast)
1531deleted: var(--ifm-transition-timing-default);
1532deleted: }
1533deleted: .dropdown__link {
1534deleted: border-radius: 0.25rem;
1535deleted: color: var(--ifm-dropdown-link-color);
1536deleted: display: block;
1537deleted: font-size: 0.875rem;
1538deleted: margin-top: 0.2rem;
1539deleted: padding: 0.25rem 0.5rem;
1540deleted: white-space: nowrap;
1541deleted: }
1542deleted: .dropdown__link--active,
1543deleted: .dropdown__link:hover {
1544deleted: background-color: var(--ifm-dropdown-hover-background-color);
1545deleted: color: var(--ifm-dropdown-link-color);
1546deleted: text-decoration: none;
1547deleted: }
1548deleted: .dropdown__link--active,
1549deleted: .dropdown__link--active:hover {
1550deleted: --ifm-dropdown-link-color: var(--ifm-link-color);
1551deleted: }
1552deleted: .dropdown > .navbar__link:after {
1553deleted: border-color: currentcolor #0000;
1554deleted: border-style: solid;
1555deleted: border-width: 0.4em 0.4em 0;
1556deleted: content: "";
1557deleted: margin-left: 0.3em;
1558deleted: position: relative;
1559deleted: top: 2px;
1560deleted: transform: translateY(-50%);
1561deleted: }
1562deleted: .footer {
1563deleted: background-color: var(--ifm-footer-background-color);
1564deleted: color: var(--ifm-footer-color);
1565deleted: padding: var(--ifm-footer-padding-vertical)
1566deleted: var(--ifm-footer-padding-horizontal);
1567deleted: }
1568deleted: .footer--dark {
1569deleted: --ifm-footer-background-color: #303846;
1570deleted: --ifm-footer-color: var(--ifm-footer-link-color);
1571deleted: --ifm-footer-link-color: var(--ifm-color-secondary);
1572deleted: --ifm-footer-title-color: var(--ifm-color-white);
1573deleted: }
1574deleted: .footer__links {
1575deleted: margin-bottom: 1rem;
1576deleted: }
1577deleted: .footer__link-item {
1578deleted: color: var(--ifm-footer-link-color);
1579deleted: line-height: 2;
1580deleted: }
1581deleted: .footer__link-item:hover {
1582deleted: color: var(--ifm-footer-link-hover-color);
1583deleted: }
1584deleted: .footer__link-separator {
1585deleted: margin: 0 var(--ifm-footer-link-horizontal-spacing);
1586deleted: }
1587deleted: .footer__logo {
1588deleted: margin-top: 1rem;
1589deleted: max-width: var(--ifm-footer-logo-max-width);
1590deleted: }
1591deleted: .footer__title {
1592deleted: color: var(--ifm-footer-title-color);
1593deleted: font: 700 var(--ifm-h4-font-size) / var(--ifm-heading-line-height)
1594deleted: var(--ifm-font-family-base);
1595deleted: margin-bottom: var(--ifm-heading-margin-bottom);
1596deleted: }
1597deleted: .menu,
1598deleted: .navbar__link {
1599deleted: font-weight: var(--ifm-font-weight-semibold);
1600deleted: }
1601deleted: .footer__item {
1602deleted: margin-top: 0;
1603deleted: }
1604deleted: .footer__items {
1605deleted: margin-bottom: 0;
1606deleted: }
1607deleted: [type="checkbox"] {
1608deleted: padding: 0;
1609deleted: }
1610deleted: .hero {
1611deleted: align-items: center;
1612deleted: background-color: var(--ifm-hero-background-color);
1613deleted: color: var(--ifm-hero-text-color);
1614deleted: display: flex;
1615deleted: padding: 4rem 2rem;
1616deleted: }
1617deleted: .hero--primary {
1618deleted: --ifm-hero-background-color: var(--ifm-color-primary);
1619deleted: --ifm-hero-text-color: var(--ifm-font-color-base-inverse);
1620deleted: }
1621deleted: .hero--dark {
1622deleted: --ifm-hero-background-color: #303846;
1623deleted: --ifm-hero-text-color: var(--ifm-color-white);
1624deleted: }
1625deleted: .hero__title {
1626deleted: font-size: 3rem;
1627deleted: }
1628deleted: .hero__subtitle {
1629deleted: font-size: 1.5rem;
1630deleted: }
1631deleted: .menu__list {
1632deleted: list-style: none;
1633deleted: margin: 0;
1634deleted: padding-left: 0;
1635deleted: }
1636deleted: .menu__caret,
1637deleted: .menu__link {
1638deleted: padding: var(--ifm-menu-link-padding-vertical)
1639deleted: var(--ifm-menu-link-padding-horizontal);
1640deleted: }
1641deleted: .menu__list .menu__list {
1642deleted: flex: 0 0 100%;
1643deleted: margin-top: 0.25rem;
1644deleted: padding-left: var(--ifm-menu-link-padding-horizontal);
1645deleted: }
1646deleted: .menu__list-item:not(:first-child) {
1647deleted: margin-top: 0.25rem;
1648deleted: }
1649deleted: .menu__list-item--collapsed .menu__list {
1650deleted: height: 0;
1651deleted: overflow: hidden;
1652deleted: }
1653deleted: .menu__list-item--collapsed .menu__caret:before,
1654deleted: .menu__list-item--collapsed .menu__link--sublist:after {
1655deleted: transform: rotate(90deg);
1656deleted: }
1657deleted: .menu__list-item-collapsible {
1658deleted: display: flex;
1659deleted: flex-wrap: wrap;
1660deleted: position: relative;
1661deleted: }
1662deleted: .menu__caret:hover,
1663deleted: .menu__link:hover,
1664deleted: .menu__list-item-collapsible--active,
1665deleted: .menu__list-item-collapsible:hover {
1666deleted: background: var(--ifm-menu-color-background-hover);
1667deleted: }
1668deleted: .menu__list-item-collapsible .menu__link--active,
1669deleted: .menu__list-item-collapsible .menu__link:hover {
1670deleted: background: none !important;
1671deleted: }
1672deleted: .menu__caret,
1673deleted: .menu__link {
1674deleted: align-items: center;
1675deleted: display: flex;
1676deleted: }
1677deleted: .menu__link {
1678deleted: color: var(--ifm-menu-color);
1679deleted: flex: 1;
1680deleted: line-height: 1.25;
1681deleted: }
1682deleted: .menu__link:hover {
1683deleted: color: var(--ifm-menu-color);
1684deleted: text-decoration: none;
1685deleted: }
1686deleted: .menu__caret:before,
1687deleted: .menu__link--sublist-caret:after {
1688deleted: content: "";
1689deleted: filter: var(--ifm-menu-link-sublist-icon-filter);
1690deleted: height: 1.25rem;
1691deleted: transform: rotate(180deg);
1692deleted: transition: transform var(--ifm-transition-fast) linear;
1693deleted: width: 1.25rem;
1694deleted: }
1695deleted: .menu__link--sublist-caret:after {
1696deleted: background: var(--ifm-menu-link-sublist-icon) 50% / 2rem 2rem;
1697deleted: margin-left: auto;
1698deleted: min-width: 1.25rem;
1699deleted: }
1700deleted: .menu__link--active,
1701deleted: .menu__link--active:hover {
1702deleted: color: var(--ifm-menu-color-active);
1703deleted: }
1704deleted: .navbar__brand,
1705deleted: .navbar__link {
1706deleted: color: var(--ifm-navbar-link-color);
1707deleted: }
1708deleted: .menu__link--active:not(.menu__link--sublist) {
1709deleted: background-color: var(--ifm-menu-color-background-active);
1710deleted: }
1711deleted: .menu__caret:before {
1712deleted: background: var(--ifm-menu-link-sublist-icon) 50% / 2rem 2rem;
1713deleted: }
1714deleted: .navbar--dark,
1715deleted: html[data-theme="dark"] {
1716deleted: --ifm-menu-link-sublist-icon-filter: invert(100%) sepia(94%) saturate(17%)
1717deleted: hue-rotate(223deg) brightness(104%) contrast(98%);
1718deleted: }
1719deleted: .navbar {
1720deleted: background-color: var(--ifm-navbar-background-color);
1721deleted: box-shadow: var(--ifm-navbar-shadow);
1722deleted: height: var(--ifm-navbar-height);
1723deleted: padding: var(--ifm-navbar-padding-vertical)
1724deleted: var(--ifm-navbar-padding-horizontal);
1725deleted: }
1726deleted: .navbar,
1727deleted: .navbar > .container,
1728deleted: .navbar > .container-fluid {
1729deleted: display: flex;
1730deleted: }
1731deleted: .navbar--fixed-top {
1732deleted: position: sticky;
1733deleted: top: 0;
1734deleted: z-index: var(--ifm-z-index-fixed);
1735deleted: }
1736deleted: .navbar-sidebar,
1737deleted: .navbar-sidebar__backdrop {
1738deleted: bottom: 0;
1739deleted: left: 0;
1740deleted: opacity: 0;
1741deleted: position: fixed;
1742deleted: top: 0;
1743deleted: transition-duration: var(--ifm-transition-fast);
1744deleted: transition-timing-function: ease-in-out;
1745deleted: visibility: hidden;
1746deleted: }
1747deleted: .navbar__inner {
1748deleted: display: flex;
1749deleted: flex-wrap: wrap;
1750deleted: justify-content: space-between;
1751deleted: width: 100%;
1752deleted: }
1753deleted: .navbar__brand {
1754deleted: align-items: center;
1755deleted: display: flex;
1756deleted: margin-right: 1rem;
1757deleted: min-width: 0;
1758deleted: }
1759deleted: .navbar__brand:hover {
1760deleted: color: var(--ifm-navbar-link-hover-color);
1761deleted: text-decoration: none;
1762deleted: }
1763deleted: .navbar__title {
1764deleted: flex: 1 1 auto;
1765deleted: }
1766deleted: .navbar__toggle {
1767deleted: display: none;
1768deleted: margin-right: 0.5rem;
1769deleted: }
1770deleted: .navbar__logo {
1771deleted: flex: 0 0 auto;
1772deleted: height: 2rem;
1773deleted: margin-right: 0.5rem;
1774deleted: }
1775deleted: .navbar__items {
1776deleted: align-items: center;
1777deleted: display: flex;
1778deleted: flex: 1;
1779deleted: min-width: 0;
1780deleted: }
1781deleted: .navbar__items--center {
1782deleted: flex: 0 0 auto;
1783deleted: }
1784deleted: .navbar__items--center .navbar__brand {
1785deleted: margin: 0;
1786deleted: }
1787deleted: .navbar__items--center + .navbar__items--right {
1788deleted: flex: 1;
1789deleted: }
1790deleted: .navbar__items--right {
1791deleted: flex: 0 0 auto;
1792deleted: justify-content: flex-end;
1793deleted: }
1794deleted: .navbar__items--right > :last-child {
1795deleted: padding-right: 0;
1796deleted: }
1797deleted: .navbar__item {
1798deleted: display: inline-block;
1799deleted: padding: var(--ifm-navbar-item-padding-vertical)
1800deleted: var(--ifm-navbar-item-padding-horizontal);
1801deleted: }
1802deleted: .navbar__link--active,
1803deleted: .navbar__link:hover {
1804deleted: color: var(--ifm-navbar-link-hover-color);
1805deleted: text-decoration: none;
1806deleted: }
1807deleted: .navbar--dark,
1808deleted: .navbar--primary {
1809deleted: --ifm-menu-color: var(--ifm-color-gray-300);
1810deleted: --ifm-navbar-link-color: var(--ifm-color-gray-100);
1811deleted: --ifm-navbar-search-input-background-color: #ffffff1a;
1812deleted: --ifm-navbar-search-input-placeholder-color: #ffffff80;
1813deleted: color: var(--ifm-color-white);
1814deleted: }
1815deleted: .navbar--dark {
1816deleted: --ifm-navbar-background-color: #242526;
1817deleted: --ifm-menu-color-background-active: #ffffff0d;
1818deleted: --ifm-navbar-search-input-color: var(--ifm-color-white);
1819deleted: }
1820deleted: .navbar--primary {
1821deleted: --ifm-navbar-background-color: var(--ifm-color-primary);
1822deleted: --ifm-navbar-link-hover-color: var(--ifm-color-white);
1823deleted: --ifm-menu-color-active: var(--ifm-color-white);
1824deleted: --ifm-navbar-search-input-color: var(--ifm-color-emphasis-500);
1825deleted: }
1826deleted: .navbar__search-input {
1827deleted: appearance: none;
1828deleted: background: var(--ifm-navbar-search-input-background-color)
1829deleted: var(--ifm-navbar-search-input-icon) no-repeat 0.75rem center / 1rem 1rem;
1830deleted: border: none;
1831deleted: border-radius: 2rem;
1832deleted: color: var(--ifm-navbar-search-input-color);
1833deleted: cursor: text;
1834deleted: display: inline-block;
1835deleted: font-size: 1rem;
1836deleted: height: 2rem;
1837deleted: padding: 0 0.5rem 0 2.25rem;
1838deleted: width: 12.5rem;
1839deleted: }
1840deleted: .navbar__search-input::placeholder {
1841deleted: color: var(--ifm-navbar-search-input-placeholder-color);
1842deleted: }
1843deleted: .navbar-sidebar {
1844deleted: background-color: var(--ifm-navbar-background-color);
1845deleted: box-shadow: var(--ifm-global-shadow-md);
1846deleted: transform: translate3d(-100%, 0, 0);
1847deleted: transition-property: opacity, visibility, transform;
1848deleted: width: var(--ifm-navbar-sidebar-width);
1849deleted: }
1850deleted: .navbar-sidebar--show .navbar-sidebar,
1851deleted: .navbar-sidebar__items {
1852deleted: transform: translateZ(0);
1853deleted: }
1854deleted: .navbar-sidebar--show .navbar-sidebar,
1855deleted: .navbar-sidebar--show .navbar-sidebar__backdrop {
1856deleted: opacity: 1;
1857deleted: visibility: visible;
1858deleted: }
1859deleted: .navbar-sidebar__backdrop {
1860deleted: background-color: #0009;
1861deleted: right: 0;
1862deleted: transition-property: opacity, visibility;
1863deleted: }
1864deleted: .navbar-sidebar__brand {
1865deleted: align-items: center;
1866deleted: box-shadow: var(--ifm-navbar-shadow);
1867deleted: display: flex;
1868deleted: flex: 1;
1869deleted: height: var(--ifm-navbar-height);
1870deleted: padding: var(--ifm-navbar-padding-vertical)
1871deleted: var(--ifm-navbar-padding-horizontal);
1872deleted: }
1873deleted: .navbar-sidebar__items {
1874deleted: display: flex;
1875deleted: height: calc(100% - var(--ifm-navbar-height));
1876deleted: transition: transform var(--ifm-transition-fast) ease-in-out;
1877deleted: }
1878deleted: .navbar-sidebar__items--show-secondary {
1879deleted: transform: translate3d(calc(var(--ifm-navbar-sidebar-width) * -1), 0, 0);
1880deleted: }
1881deleted: .navbar-sidebar__item {
1882deleted: flex-shrink: 0;
1883deleted: padding: 0.5rem;
1884deleted: width: calc(var(--ifm-navbar-sidebar-width));
1885deleted: }
1886deleted: .navbar-sidebar__back {
1887deleted: background: var(--ifm-menu-color-background-active);
1888deleted: font-size: 15px;
1889deleted: font-weight: var(--ifm-button-font-weight);
1890deleted: margin: 0 0 0.2rem -0.5rem;
1891deleted: padding: 0.6rem 1.5rem;
1892deleted: position: relative;
1893deleted: text-align: left;
1894deleted: top: -0.5rem;
1895deleted: width: calc(100% + 1rem);
1896deleted: }
1897deleted: .navbar-sidebar__close {
1898deleted: display: flex;
1899deleted: margin-left: auto;
1900deleted: }
1901deleted: .pagination {
1902deleted: column-gap: var(--ifm-pagination-page-spacing);
1903deleted: display: flex;
1904deleted: font-size: var(--ifm-pagination-font-size);
1905deleted: padding-left: 0;
1906deleted: }
1907deleted: .pagination--sm {
1908deleted: --ifm-pagination-font-size: 0.8rem;
1909deleted: --ifm-pagination-padding-horizontal: 0.8rem;
1910deleted: --ifm-pagination-padding-vertical: 0.2rem;
1911deleted: }
1912deleted: .pagination--lg {
1913deleted: --ifm-pagination-font-size: 1.2rem;
1914deleted: --ifm-pagination-padding-horizontal: 1.2rem;
1915deleted: --ifm-pagination-padding-vertical: 0.3rem;
1916deleted: }
1917deleted: .pagination__item {
1918deleted: display: inline-flex;
1919deleted: }
1920deleted: .pagination__item > span {
1921deleted: padding: var(--ifm-pagination-padding-vertical);
1922deleted: }
1923deleted: .pagination__item--active .pagination__link {
1924deleted: color: var(--ifm-pagination-color-active);
1925deleted: }
1926deleted: .pagination__item--active .pagination__link,
1927deleted: .pagination__item:not(.pagination__item--active):hover .pagination__link {
1928deleted: background: var(--ifm-pagination-item-active-background);
1929deleted: }
1930deleted: .pagination__item--disabled,
1931deleted: .pagination__item[disabled] {
1932deleted: opacity: 0.25;
1933deleted: pointer-events: none;
1934deleted: }
1935deleted: .pagination__link {
1936deleted: border-radius: var(--ifm-pagination-border-radius);
1937deleted: color: var(--ifm-font-color-base);
1938deleted: display: inline-block;
1939deleted: padding: var(--ifm-pagination-padding-vertical)
1940deleted: var(--ifm-pagination-padding-horizontal);
1941deleted: transition: background var(--ifm-transition-fast)
1942deleted: var(--ifm-transition-timing-default);
1943deleted: }
1944deleted: .pagination__link:hover {
1945deleted: text-decoration: none;
1946deleted: }
1947deleted: .pagination-nav {
1948deleted: grid-gap: var(--ifm-spacing-horizontal);
1949deleted: display: grid;
1950deleted: gap: var(--ifm-spacing-horizontal);
1951deleted: grid-template-columns: repeat(2, 1fr);
1952deleted: }
1953deleted: .pagination-nav__link {
1954deleted: border: 1px solid var(--ifm-color-emphasis-300);
1955deleted: border-radius: var(--ifm-pagination-nav-border-radius);
1956deleted: display: block;
1957deleted: height: 100%;
1958deleted: line-height: var(--ifm-heading-line-height);
1959deleted: padding: var(--ifm-global-spacing);
1960deleted: transition: border-color var(--ifm-transition-fast)
1961deleted: var(--ifm-transition-timing-default);
1962deleted: }
1963deleted: .pagination-nav__link:hover {
1964deleted: border-color: var(--ifm-pagination-nav-color-hover);
1965deleted: text-decoration: none;
1966deleted: }
1967deleted: .pagination-nav__link--next {
1968deleted: grid-column: 2 / 3;
1969deleted: text-align: right;
1970deleted: }
1971deleted: .pagination-nav__label {
1972deleted: font-size: var(--ifm-h4-font-size);
1973deleted: font-weight: var(--ifm-heading-font-weight);
1974deleted: word-break: break-word;
1975deleted: }
1976deleted: .pagination-nav__link--prev .pagination-nav__label:before {
1977deleted: content: "« ";
1978deleted: }
1979deleted: .pagination-nav__link--next .pagination-nav__label:after {
1980deleted: content: " »";
1981deleted: }
1982deleted: .pagination-nav__sublabel {
1983deleted: color: var(--ifm-color-content-secondary);
1984deleted: font-size: var(--ifm-h5-font-size);
1985deleted: font-weight: var(--ifm-font-weight-semibold);
1986deleted: margin-bottom: 0.25rem;
1987deleted: }
1988deleted: .pills__item,
1989deleted: .tabs {
1990deleted: font-weight: var(--ifm-font-weight-bold);
1991deleted: }
1992deleted: .pills {
1993deleted: display: flex;
1994deleted: gap: var(--ifm-pills-spacing);
1995deleted: padding-left: 0;
1996deleted: }
1997deleted: .pills__item {
1998deleted: border-radius: 0.5rem;
1999deleted: cursor: pointer;
2000deleted: display: inline-block;
2001deleted: padding: 0.25rem 1rem;
2002deleted: transition: background var(--ifm-transition-fast)
2003deleted: var(--ifm-transition-timing-default);
2004deleted: }
2005deleted: .pills__item--active {
2006deleted: color: var(--ifm-pills-color-active);
2007deleted: }
2008deleted: .pills__item--active,
2009deleted: .pills__item:not(.pills__item--active):hover {
2010deleted: background: var(--ifm-pills-color-background-active);
2011deleted: }
2012deleted: .pills--block {
2013deleted: justify-content: stretch;
2014deleted: }
2015deleted: .pills--block .pills__item {
2016deleted: flex-grow: 1;
2017deleted: text-align: center;
2018deleted: }
2019deleted: .tabs {
2020deleted: color: var(--ifm-tabs-color);
2021deleted: display: flex;
2022deleted: margin-bottom: 0;
2023deleted: overflow-x: auto;
2024deleted: padding-left: 0;
2025deleted: }
2026deleted: .tabs__item {
2027deleted: border-bottom: 3px solid #0000;
2028deleted: border-radius: var(--ifm-global-radius);
2029deleted: cursor: pointer;
2030deleted: display: inline-flex;
2031deleted: padding: var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);
2032deleted: transition: background-color var(--ifm-transition-fast)
2033deleted: var(--ifm-transition-timing-default);
2034deleted: }
2035deleted: .tabs__item--active {
2036deleted: border-bottom-color: var(--ifm-tabs-color-active-border);
2037deleted: border-bottom-left-radius: 0;
2038deleted: border-bottom-right-radius: 0;
2039deleted: color: var(--ifm-tabs-color-active);
2040deleted: }
2041deleted: .tabs__item:hover {
2042deleted: background-color: var(--ifm-hover-overlay);
2043deleted: }
2044deleted: .tabs--block {
2045deleted: justify-content: stretch;
2046deleted: }
2047deleted: .tabs--block .tabs__item {
2048deleted: flex-grow: 1;
2049deleted: justify-content: center;
2050deleted: }
2051deleted: html[data-theme="dark"] {
2052deleted: --ifm-color-scheme: dark;
2053deleted: --ifm-color-emphasis-0: var(--ifm-color-gray-1000);
2054deleted: --ifm-color-emphasis-100: var(--ifm-color-gray-900);
2055deleted: --ifm-color-emphasis-200: var(--ifm-color-gray-800);
2056deleted: --ifm-color-emphasis-300: var(--ifm-color-gray-700);
2057deleted: --ifm-color-emphasis-400: var(--ifm-color-gray-600);
2058deleted: --ifm-color-emphasis-600: var(--ifm-color-gray-400);
2059deleted: --ifm-color-emphasis-700: var(--ifm-color-gray-300);
2060deleted: --ifm-color-emphasis-800: var(--ifm-color-gray-200);
2061deleted: --ifm-color-emphasis-900: var(--ifm-color-gray-100);
2062deleted: --ifm-color-emphasis-1000: var(--ifm-color-gray-0);
2063deleted: --ifm-background-color: #1b1b1d;
2064deleted: --ifm-background-surface-color: #242526;
2065deleted: --ifm-hover-overlay: #ffffff0d;
2066deleted: --ifm-color-content: #e3e3e3;
2067deleted: --ifm-color-content-secondary: #fff;
2068deleted: --ifm-breadcrumb-separator-filter: invert(64%) sepia(11%) saturate(0%)
2069deleted: hue-rotate(149deg) brightness(99%) contrast(95%);
2070deleted: --ifm-code-background: #ffffff1a;
2071deleted: --ifm-scrollbar-track-background-color: #444;
2072deleted: --ifm-scrollbar-thumb-background-color: #686868;
2073deleted: --ifm-scrollbar-thumb-hover-background-color: #7a7a7a;
2074deleted: --ifm-table-stripe-background: #ffffff12;
2075deleted: --ifm-toc-border-color: var(--ifm-color-emphasis-200);
2076deleted: --ifm-color-primary-contrast-background: #102445;
2077deleted: --ifm-color-primary-contrast-foreground: #ebf2fc;
2078deleted: --ifm-color-secondary-contrast-background: #474748;
2079deleted: --ifm-color-secondary-contrast-foreground: #fdfdfe;
2080deleted: --ifm-color-success-contrast-background: #003100;
2081deleted: --ifm-color-success-contrast-foreground: #e6f6e6;
2082deleted: --ifm-color-info-contrast-background: #193c47;
2083deleted: --ifm-color-info-contrast-foreground: #eef9fd;
2084deleted: --ifm-color-warning-contrast-background: #4d3800;
2085deleted: --ifm-color-warning-contrast-foreground: #fff8e6;
2086deleted: --ifm-color-danger-contrast-background: #4b1113;
2087deleted: --ifm-color-danger-contrast-foreground: #ffebec;
2088deleted: }
2089deleted: @media (min-width: 1440px) {
2090deleted: .container {
2091deleted: max-width: var(--ifm-container-width-xl);
2092deleted: }
2093deleted: }
2094deleted: @media (max-width: 996px) {
2095deleted: .col {
2096deleted: --ifm-col-width: 100%;
2097deleted: flex-basis: var(--ifm-col-width);
2098deleted: margin-left: 0;
2099deleted: }
2100deleted: .footer {
2101deleted: --ifm-footer-padding-horizontal: 0;
2102deleted: }
2103deleted: .footer__link-separator,
2104deleted: .navbar__item {
2105deleted: display: none;
2106deleted: }
2107deleted: .footer__col {
2108deleted: margin-bottom: calc(var(--ifm-spacing-vertical) * 3);
2109deleted: }
2110deleted: .footer__link-item {
2111deleted: display: block;
2112deleted: width: max-content;
2113deleted: }
2114deleted: .hero {
2115deleted: padding-left: 0;
2116deleted: padding-right: 0;
2117deleted: }
2118deleted: .navbar > .container,
2119deleted: .navbar > .container-fluid {
2120deleted: padding: 0;
2121deleted: }
2122deleted: .navbar__toggle {
2123deleted: display: inherit;
2124deleted: }
2125deleted: .navbar__search-input {
2126deleted: width: 9rem;
2127deleted: }
2128deleted: .pills--block,
2129deleted: .tabs--block {
2130deleted: flex-direction: column;
2131deleted: }
2132deleted: }
2133deleted: @media (max-width: 576px) {
2134deleted: .markdown h1:first-child {
2135deleted: --ifm-h1-font-size: 2rem;
2136deleted: }
2137deleted: .markdown > h2 {
2138deleted: --ifm-h2-font-size: 1.5rem;
2139deleted: }
2140deleted: .markdown > h3 {
2141deleted: --ifm-h3-font-size: 1.25rem;
2142deleted: }
2143deleted: }
2144deleted: @media (pointer: fine) {
2145deleted: .thin-scrollbar {
2146deleted: scrollbar-width: thin;
2147deleted: }
2148deleted: .thin-scrollbar::-webkit-scrollbar {
2149deleted: height: var(--ifm-scrollbar-size);
2150deleted: width: var(--ifm-scrollbar-size);
2151deleted: }
2152deleted: .thin-scrollbar::-webkit-scrollbar-track {
2153deleted: background: var(--ifm-scrollbar-track-background-color);
2154deleted: border-radius: 10px;
2155deleted: }
2156deleted: .thin-scrollbar::-webkit-scrollbar-thumb {
2157deleted: background: var(--ifm-scrollbar-thumb-background-color);
2158deleted: border-radius: 10px;
2159deleted: }
2160deleted: .thin-scrollbar::-webkit-scrollbar-thumb:hover {
2161deleted: background: var(--ifm-scrollbar-thumb-hover-background-color);
2162deleted: }
2163deleted: }
2164deleted: @media (prefers-reduced-motion: reduce) {
2165deleted: :root {
2166deleted: --ifm-transition-fast: 0ms;
2167deleted: --ifm-transition-slow: 0ms;
2168deleted: }
2169deleted: }
2170deleted: @media print {
2171deleted: .footer,
2172deleted: .menu,
2173deleted: .navbar,
2174deleted: .pagination-nav,
2175deleted: .table-of-contents {
2176deleted: display: none;
2177deleted: }
2178deleted: .tabs {
2179deleted: page-break-inside: avoid;
2180deleted: }
2181deleted: }
Deletedstatic/public/pocketbase.umd.js+0 -2
@@ -1,2 +0,0 @@
1deleted: !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).PocketBase=t()}(this,(function(){"use strict";class ClientResponseError extends Error{constructor(e){super("ClientResponseError"),this.url="",this.status=0,this.response={},this.isAbort=!1,this.originalError=null,Object.setPrototypeOf(this,ClientResponseError.prototype),null!==e&&"object"==typeof e&&(this.url="string"==typeof e.url?e.url:"",this.status="number"==typeof e.status?e.status:0,this.isAbort=!!e.isAbort,this.originalError=e.originalError,null!==e.response&&"object"==typeof e.response?this.response=e.response:null!==e.data&&"object"==typeof e.data?this.response=e.data:this.response={}),this.originalError||e instanceof ClientResponseError||(this.originalError=e),"undefined"!=typeof DOMException&&e instanceof DOMException&&(this.isAbort=!0),this.name="ClientResponseError "+this.status,this.message=this.response?.message,this.message||(this.isAbort?this.message="The request was autocancelled. You can find more info in https://github.com/pocketbase/js-sdk#auto-cancellation.":this.originalError?.cause?.message?.includes("ECONNREFUSED ::1")?this.message="Failed to connect to the PocketBase server. Try changing the SDK URL from localhost to 127.0.0.1 (https://github.com/pocketbase/js-sdk/issues/21).":this.message="Something went wrong."),this.cause=this.originalError}get data(){return this.response}toJSON(){return{...this}}}const e=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function cookieSerialize(t,s,i){const n=Object.assign({},i||{}),r=n.encode||defaultEncode;if(!e.test(t))throw new TypeError("argument name is invalid");const o=r(s);if(o&&!e.test(o))throw new TypeError("argument val is invalid");let a=t+"="+o;if(null!=n.maxAge){const e=n.maxAge-0;if(isNaN(e)||!isFinite(e))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+Math.floor(e)}if(n.domain){if(!e.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!e.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){if(!function isDate(e){return"[object Date]"===Object.prototype.toString.call(e)||e instanceof Date}(n.expires)||isNaN(n.expires.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+n.expires.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.priority){switch("string"==typeof n.priority?n.priority.toLowerCase():n.priority){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(n.sameSite){switch("string"==typeof n.sameSite?n.sameSite.toLowerCase():n.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a}function defaultDecode(e){return-1!==e.indexOf("%")?decodeURIComponent(e):e}function defaultEncode(e){return encodeURIComponent(e)}const t="undefined"!=typeof navigator&&"ReactNative"===navigator.product||"undefined"!=typeof global&&global.HermesInternal;let s;function getTokenPayload(e){if(e)try{const t=decodeURIComponent(s(e.split(".")[1]).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""));return JSON.parse(t)||{}}catch(e){}return{}}function isTokenExpired(e,t=0){let s=getTokenPayload(e);return!(Object.keys(s).length>0&&(!s.exp||s.exp-t>Date.now()/1e3))}s="function"!=typeof atob||t?e=>{let t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(var s,i,n=0,r=0,o="";i=t.charAt(r++);~i&&(s=n%4?64*s+i:i,n++%4)?o+=String.fromCharCode(255&s>>(-2*n&6)):0)i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(i);return o}:atob;const i="pb_auth";class BaseAuthStore{constructor(){this.baseToken="",this.baseModel=null,this._onChangeCallbacks=[]}get token(){return this.baseToken}get record(){return this.baseModel}get model(){return this.baseModel}get isValid(){return!isTokenExpired(this.token)}get isSuperuser(){let e=getTokenPayload(this.token);return"auth"==e.type&&("_superusers"==this.record?.collectionName||!this.record?.collectionName&&"pbc_3142635823"==e.collectionId)}get isAdmin(){return console.warn("Please replace pb.authStore.isAdmin with pb.authStore.isSuperuser OR simply check the value of pb.authStore.record?.collectionName"),this.isSuperuser}get isAuthRecord(){return console.warn("Please replace pb.authStore.isAuthRecord with !pb.authStore.isSuperuser OR simply check the value of pb.authStore.record?.collectionName"),"auth"==getTokenPayload(this.token).type&&!this.isSuperuser}save(e,t){this.baseToken=e||"",this.baseModel=t||null,this.triggerChange()}clear(){this.baseToken="",this.baseModel=null,this.triggerChange()}loadFromCookie(e,t=i){const s=function cookieParse(e,t){const s={};if("string"!=typeof e)return s;const i=Object.assign({},{}).decode||defaultDecode;let n=0;for(;n<e.length;){const t=e.indexOf("=",n);if(-1===t)break;let r=e.indexOf(";",n);if(-1===r)r=e.length;else if(r<t){n=e.lastIndexOf(";",t-1)+1;continue}const o=e.slice(n,t).trim();if(void 0===s[o]){let n=e.slice(t+1,r).trim();34===n.charCodeAt(0)&&(n=n.slice(1,-1));try{s[o]=i(n)}catch(e){s[o]=n}}n=r+1}return s}(e||"")[t]||"";let n={};try{n=JSON.parse(s),(null===typeof n||"object"!=typeof n||Array.isArray(n))&&(n={})}catch(e){}this.save(n.token||"",n.record||n.model||null)}exportToCookie(e,t=i){const s={secure:!0,sameSite:!0,httpOnly:!0,path:"/"},n=getTokenPayload(this.token);s.expires=n?.exp?new Date(1e3*n.exp):new Date("1970-01-01"),e=Object.assign({},s,e);const r={token:this.token,record:this.record?JSON.parse(JSON.stringify(this.record)):null};let o=cookieSerialize(t,JSON.stringify(r),e);const a="undefined"!=typeof Blob?new Blob([o]).size:o.length;if(r.record&&a>4096){r.record={id:r.record?.id,email:r.record?.email};const s=["collectionId","collectionName","verified"];for(const e in this.record)s.includes(e)&&(r.record[e]=this.record[e]);o=cookieSerialize(t,JSON.stringify(r),e)}return o}onChange(e,t=!1){return this._onChangeCallbacks.push(e),t&&e(this.token,this.record),()=>{for(let t=this._onChangeCallbacks.length-1;t>=0;t--)if(this._onChangeCallbacks[t]==e)return delete this._onChangeCallbacks[t],void this._onChangeCallbacks.splice(t,1)}}triggerChange(){for(const e of this._onChangeCallbacks)e&&e(this.token,this.record)}}class LocalAuthStore extends BaseAuthStore{constructor(e="pocketbase_auth"){super(),this.storageFallback={},this.storageKey=e,this._bindStorageEvent()}get token(){return(this._storageGet(this.storageKey)||{}).token||""}get record(){const e=this._storageGet(this.storageKey)||{};return e.record||e.model||null}get model(){return this.record}save(e,t){this._storageSet(this.storageKey,{token:e,record:t}),super.save(e,t)}clear(){this._storageRemove(this.storageKey),super.clear()}_storageGet(e){if("undefined"!=typeof window&&window?.localStorage){const t=window.localStorage.getItem(e)||"";try{return JSON.parse(t)}catch(e){return t}}return this.storageFallback[e]}_storageSet(e,t){if("undefined"!=typeof window&&window?.localStorage){let s=t;"string"!=typeof t&&(s=JSON.stringify(t)),window.localStorage.setItem(e,s)}else this.storageFallback[e]=t}_storageRemove(e){"undefined"!=typeof window&&window?.localStorage&&window.localStorage?.removeItem(e),delete this.storageFallback[e]}_bindStorageEvent(){"undefined"!=typeof window&&window?.localStorage&&window.addEventListener&&window.addEventListener("storage",(e=>{if(e.key!=this.storageKey)return;const t=this._storageGet(this.storageKey)||{};super.save(t.token||"",t.record||t.model||null)}))}}class BaseService{constructor(e){this.client=e}}class SettingsService extends BaseService{async getAll(e){return e=Object.assign({method:"GET"},e),this.client.send("/api/settings",e)}async update(e,t){return t=Object.assign({method:"PATCH",body:e},t),this.client.send("/api/settings",t)}async testS3(e="storage",t){return t=Object.assign({method:"POST",body:{filesystem:e}},t),this.client.send("/api/settings/test/s3",t).then((()=>!0))}async testEmail(e,t,s,i){return i=Object.assign({method:"POST",body:{email:t,template:s,collection:e}},i),this.client.send("/api/settings/test/email",i).then((()=>!0))}async generateAppleClientSecret(e,t,s,i,n,r){return r=Object.assign({method:"POST",body:{clientId:e,teamId:t,keyId:s,privateKey:i,duration:n}},r),this.client.send("/api/settings/apple/generate-client-secret",r)}}const n=["requestKey","$cancelKey","$autoCancel","fetch","headers","body","query","params","cache","credentials","headers","integrity","keepalive","method","mode","redirect","referrer","referrerPolicy","signal","window"];function normalizeUnknownQueryParams(e){if(e){e.query=e.query||{};for(let t in e)n.includes(t)||(e.query[t]=e[t],delete e[t])}}function serializeQueryParams(e){const t=[];for(const s in e){const i=encodeURIComponent(s),n=Array.isArray(e[s])?e[s]:[e[s]];for(let e of n)e=prepareQueryParamValue(e),null!==e&&t.push(i+"="+e)}return t.join("&")}function prepareQueryParamValue(e){return null==e?null:e instanceof Date?encodeURIComponent(e.toISOString().replace("T"," ")):"object"==typeof e?encodeURIComponent(JSON.stringify(e)):encodeURIComponent(e)}class RealtimeService extends BaseService{constructor(){super(...arguments),this.clientId="",this.eventSource=null,this.subscriptions={},this.lastSentSubscriptions=[],this.maxConnectTimeout=15e3,this.reconnectAttempts=0,this.maxReconnectAttempts=1/0,this.predefinedReconnectIntervals=[200,300,500,1e3,1200,1500,2e3],this.pendingConnects=[]}get isConnected(){return!!this.eventSource&&!!this.clientId&&!this.pendingConnects.length}async subscribe(e,t,s){if(!e)throw new Error("topic must be set.");let i=e;if(s){normalizeUnknownQueryParams(s=Object.assign({},s));const e="options="+encodeURIComponent(JSON.stringify({query:s.query,headers:s.headers}));i+=(i.includes("?")?"&":"?")+e}const listener=function(e){const s=e;let i;try{i=JSON.parse(s?.data)}catch{}t(i||{})};return this.subscriptions[i]||(this.subscriptions[i]=[]),this.subscriptions[i].push(listener),this.isConnected?1===this.subscriptions[i].length?await this.submitSubscriptions():this.eventSource?.addEventListener(i,listener):await this.connect(),async()=>this.unsubscribeByTopicAndListener(e,listener)}async unsubscribe(e){let t=!1;if(e){const s=this.getSubscriptionsByTopic(e);for(let e in s)if(this.hasSubscriptionListeners(e)){for(let t of this.subscriptions[e])this.eventSource?.removeEventListener(e,t);delete this.subscriptions[e],t||(t=!0)}}else this.subscriptions={};this.hasSubscriptionListeners()?t&&await this.submitSubscriptions():this.disconnect()}async unsubscribeByPrefix(e){let t=!1;for(let s in this.subscriptions)if((s+"?").startsWith(e)){t=!0;for(let e of this.subscriptions[s])this.eventSource?.removeEventListener(s,e);delete this.subscriptions[s]}t&&(this.hasSubscriptionListeners()?await this.submitSubscriptions():this.disconnect())}async unsubscribeByTopicAndListener(e,t){let s=!1;const i=this.getSubscriptionsByTopic(e);for(let e in i){if(!Array.isArray(this.subscriptions[e])||!this.subscriptions[e].length)continue;let i=!1;for(let s=this.subscriptions[e].length-1;s>=0;s--)this.subscriptions[e][s]===t&&(i=!0,delete this.subscriptions[e][s],this.subscriptions[e].splice(s,1),this.eventSource?.removeEventListener(e,t));i&&(this.subscriptions[e].length||delete this.subscriptions[e],s||this.hasSubscriptionListeners(e)||(s=!0))}this.hasSubscriptionListeners()?s&&await this.submitSubscriptions():this.disconnect()}hasSubscriptionListeners(e){if(this.subscriptions=this.subscriptions||{},e)return!!this.subscriptions[e]?.length;for(let e in this.subscriptions)if(this.subscriptions[e]?.length)return!0;return!1}async submitSubscriptions(){if(this.clientId)return this.addAllSubscriptionListeners(),this.lastSentSubscriptions=this.getNonEmptySubscriptionKeys(),this.client.send("/api/realtime",{method:"POST",body:{clientId:this.clientId,subscriptions:this.lastSentSubscriptions},requestKey:this.getSubscriptionsCancelKey()}).catch((e=>{if(!e?.isAbort)throw e}))}getSubscriptionsCancelKey(){return"realtime_"+this.clientId}getSubscriptionsByTopic(e){const t={};e=e.includes("?")?e:e+"?";for(let s in this.subscriptions)(s+"?").startsWith(e)&&(t[s]=this.subscriptions[s]);return t}getNonEmptySubscriptionKeys(){const e=[];for(let t in this.subscriptions)this.subscriptions[t].length&&e.push(t);return e}addAllSubscriptionListeners(){if(this.eventSource){this.removeAllSubscriptionListeners();for(let e in this.subscriptions)for(let t of this.subscriptions[e])this.eventSource.addEventListener(e,t)}}removeAllSubscriptionListeners(){if(this.eventSource)for(let e in this.subscriptions)for(let t of this.subscriptions[e])this.eventSource.removeEventListener(e,t)}async connect(){if(!(this.reconnectAttempts>0))return new Promise(((e,t)=>{this.pendingConnects.push({resolve:e,reject:t}),this.pendingConnects.length>1||this.initConnect()}))}initConnect(){this.disconnect(!0),clearTimeout(this.connectTimeoutId),this.connectTimeoutId=setTimeout((()=>{this.connectErrorHandler(new Error("EventSource connect took too long."))}),this.maxConnectTimeout),this.eventSource=new EventSource(this.client.buildURL("/api/realtime")),this.eventSource.onerror=e=>{this.connectErrorHandler(new Error("Failed to establish realtime connection."))},this.eventSource.addEventListener("PB_CONNECT",(e=>{const t=e;this.clientId=t?.lastEventId,this.submitSubscriptions().then((async()=>{let e=3;for(;this.hasUnsentSubscriptions()&&e>0;)e--,await this.submitSubscriptions()})).then((()=>{for(let e of this.pendingConnects)e.resolve();this.pendingConnects=[],this.reconnectAttempts=0,clearTimeout(this.reconnectTimeoutId),clearTimeout(this.connectTimeoutId);const t=this.getSubscriptionsByTopic("PB_CONNECT");for(let s in t)for(let i of t[s])i(e)})).catch((e=>{this.clientId="",this.connectErrorHandler(e)}))}))}hasUnsentSubscriptions(){const e=this.getNonEmptySubscriptionKeys();if(e.length!=this.lastSentSubscriptions.length)return!0;for(const t of e)if(!this.lastSentSubscriptions.includes(t))return!0;return!1}connectErrorHandler(e){if(clearTimeout(this.connectTimeoutId),clearTimeout(this.reconnectTimeoutId),!this.clientId&&!this.reconnectAttempts||this.reconnectAttempts>this.maxReconnectAttempts){for(let t of this.pendingConnects)t.reject(new ClientResponseError(e));return this.pendingConnects=[],void this.disconnect()}this.disconnect(!0);const t=this.predefinedReconnectIntervals[this.reconnectAttempts]||this.predefinedReconnectIntervals[this.predefinedReconnectIntervals.length-1];this.reconnectAttempts++,this.reconnectTimeoutId=setTimeout((()=>{this.initConnect()}),t)}disconnect(e=!1){if(this.clientId&&this.onDisconnect&&this.onDisconnect(Object.keys(this.subscriptions)),clearTimeout(this.connectTimeoutId),clearTimeout(this.reconnectTimeoutId),this.removeAllSubscriptionListeners(),this.client.cancelRequest(this.getSubscriptionsCancelKey()),this.eventSource?.close(),this.eventSource=null,this.clientId="",!e){this.reconnectAttempts=0;for(let e of this.pendingConnects)e.resolve();this.pendingConnects=[]}}}class CrudService extends BaseService{decode(e){return e}async getFullList(e,t){if("number"==typeof e)return this._getFullList(e,t);let s=500;return(t=Object.assign({},e,t)).batch&&(s=t.batch,delete t.batch),this._getFullList(s,t)}async getList(e=1,t=30,s){return(s=Object.assign({method:"GET"},s)).query=Object.assign({page:e,perPage:t},s.query),this.client.send(this.baseCrudPath,s).then((e=>(e.items=e.items?.map((e=>this.decode(e)))||[],e)))}async getFirstListItem(e,t){return(t=Object.assign({requestKey:"one_by_filter_"+this.baseCrudPath+"_"+e},t)).query=Object.assign({filter:e,skipTotal:1},t.query),this.getList(1,1,t).then((e=>{if(!e?.items?.length)throw new ClientResponseError({status:404,response:{code:404,message:"The requested resource wasn't found.",data:{}}});return e.items[0]}))}async getOne(e,t){if(!e)throw new ClientResponseError({url:this.client.buildURL(this.baseCrudPath+"/"),status:404,response:{code:404,message:"Missing required record id.",data:{}}});return t=Object.assign({method:"GET"},t),this.client.send(this.baseCrudPath+"/"+encodeURIComponent(e),t).then((e=>this.decode(e)))}async create(e,t){return t=Object.assign({method:"POST",body:e},t),this.client.send(this.baseCrudPath,t).then((e=>this.decode(e)))}async update(e,t,s){return s=Object.assign({method:"PATCH",body:t},s),this.client.send(this.baseCrudPath+"/"+encodeURIComponent(e),s).then((e=>this.decode(e)))}async delete(e,t){return t=Object.assign({method:"DELETE"},t),this.client.send(this.baseCrudPath+"/"+encodeURIComponent(e),t).then((()=>!0))}_getFullList(e=500,t){(t=t||{}).query=Object.assign({skipTotal:1},t.query);let s=[],request=async i=>this.getList(i,e||500,t).then((e=>{const t=e.items;return s=s.concat(t),t.length==e.perPage?request(i+1):s}));return request(1)}}function normalizeLegacyOptionsArgs(e,t,s,i){const n=void 0!==i;return n||void 0!==s?n?(console.warn(e),t.body=Object.assign({},t.body,s),t.query=Object.assign({},t.query,i),t):Object.assign(t,s):t}function resetAutoRefresh(e){e._resetAutoRefresh?.()}class RecordService extends CrudService{constructor(e,t){super(e),this.collectionIdOrName=t}get baseCrudPath(){return this.baseCollectionPath+"/records"}get baseCollectionPath(){return"/api/collections/"+encodeURIComponent(this.collectionIdOrName)}get isSuperusers(){return"_superusers"==this.collectionIdOrName||"_pbc_2773867675"==this.collectionIdOrName}async subscribe(e,t,s){if(!e)throw new Error("Missing topic.");if(!t)throw new Error("Missing subscription callback.");return this.client.realtime.subscribe(this.collectionIdOrName+"/"+e,t,s)}async unsubscribe(e){return e?this.client.realtime.unsubscribe(this.collectionIdOrName+"/"+e):this.client.realtime.unsubscribeByPrefix(this.collectionIdOrName)}async getFullList(e,t){if("number"==typeof e)return super.getFullList(e,t);const s=Object.assign({},e,t);return super.getFullList(s)}async getList(e=1,t=30,s){return super.getList(e,t,s)}async getFirstListItem(e,t){return super.getFirstListItem(e,t)}async getOne(e,t){return super.getOne(e,t)}async create(e,t){return super.create(e,t)}async update(e,t,s){return super.update(e,t,s).then((e=>{if(this.client.authStore.record?.id===e?.id&&(this.client.authStore.record?.collectionId===this.collectionIdOrName||this.client.authStore.record?.collectionName===this.collectionIdOrName)){let t=Object.assign({},this.client.authStore.record.expand),s=Object.assign({},this.client.authStore.record,e);t&&(s.expand=Object.assign(t,e.expand)),this.client.authStore.save(this.client.authStore.token,s)}return e}))}async delete(e,t){return super.delete(e,t).then((t=>(!t||this.client.authStore.record?.id!==e||this.client.authStore.record?.collectionId!==this.collectionIdOrName&&this.client.authStore.record?.collectionName!==this.collectionIdOrName||this.client.authStore.clear(),t)))}authResponse(e){const t=this.decode(e?.record||{});return this.client.authStore.save(e?.token,t),Object.assign({},e,{token:e?.token||"",record:t})}async listAuthMethods(e){return e=Object.assign({method:"GET",fields:"mfa,otp,password,oauth2"},e),this.client.send(this.baseCollectionPath+"/auth-methods",e)}async authWithPassword(e,t,s){let i;s=Object.assign({method:"POST",body:{identity:e,password:t}},s),this.isSuperusers&&(i=s.autoRefreshThreshold,delete s.autoRefreshThreshold,s.autoRefresh||resetAutoRefresh(this.client));let n=await this.client.send(this.baseCollectionPath+"/auth-with-password",s);return n=this.authResponse(n),i&&this.isSuperusers&&function registerAutoRefresh(e,t,s,i){resetAutoRefresh(e);const n=e.beforeSend,r=e.authStore.record,o=e.authStore.onChange(((t,s)=>{(!t||s?.id!=r?.id||(s?.collectionId||r?.collectionId)&&s?.collectionId!=r?.collectionId)&&resetAutoRefresh(e)}));e._resetAutoRefresh=function(){o(),e.beforeSend=n,delete e._resetAutoRefresh},e.beforeSend=async(r,o)=>{const a=e.authStore.token;if(o.query?.autoRefresh)return n?n(r,o):{url:r,sendOptions:o};let c=e.authStore.isValid;if(c&&isTokenExpired(e.authStore.token,t))try{await s()}catch(e){c=!1}c||await i();const l=o.headers||{};for(let t in l)if("authorization"==t.toLowerCase()&&a==l[t]&&e.authStore.token){l[t]=e.authStore.token;break}return o.headers=l,n?n(r,o):{url:r,sendOptions:o}}}(this.client,i,(()=>this.authRefresh({autoRefresh:!0})),(()=>this.authWithPassword(e,t,Object.assign({autoRefresh:!0},s)))),n}async authWithOAuth2Code(e,t,s,i,n,r,o){let a={method:"POST",body:{provider:e,code:t,codeVerifier:s,redirectURL:i,createData:n}};return a=normalizeLegacyOptionsArgs("This form of authWithOAuth2Code(provider, code, codeVerifier, redirectURL, createData?, body?, query?) is deprecated. Consider replacing it with authWithOAuth2Code(provider, code, codeVerifier, redirectURL, createData?, options?).",a,r,o),this.client.send(this.baseCollectionPath+"/auth-with-oauth2",a).then((e=>this.authResponse(e)))}authWithOAuth2(...e){if(e.length>1||"string"==typeof e?.[0])return console.warn("PocketBase: This form of authWithOAuth2() is deprecated and may get removed in the future. Please replace with authWithOAuth2Code() OR use the authWithOAuth2() realtime form as shown in https://pocketbase.io/docs/authentication/#oauth2-integration."),this.authWithOAuth2Code(e?.[0]||"",e?.[1]||"",e?.[2]||"",e?.[3]||"",e?.[4]||{},e?.[5]||{},e?.[6]||{});const t=e?.[0]||{};let s=null;t.urlCallback||(s=openBrowserPopup(void 0));const i=new RealtimeService(this.client);function cleanup(){s?.close(),i.unsubscribe()}const n={},r=t.requestKey;return r&&(n.requestKey=r),this.listAuthMethods(n).then((e=>{const n=e.oauth2.providers.find((e=>e.name===t.provider));if(!n)throw new ClientResponseError(new Error(`Missing or invalid provider "${t.provider}".`));const o=this.client.buildURL("/api/oauth2-redirect"),a=r?this.client.cancelControllers?.[r]:void 0;return a&&(a.signal.onabort=()=>{cleanup()}),new Promise((async(e,r)=>{try{await i.subscribe("@oauth2",(async s=>{const c=i.clientId;try{if(!s.state||c!==s.state)throw new Error("State parameters don't match.");if(s.error||!s.code)throw new Error("OAuth2 redirect error or missing code: "+s.error);const i=Object.assign({},t);delete i.provider,delete i.scopes,delete i.createData,delete i.urlCallback,a?.signal?.onabort&&(a.signal.onabort=null);const r=await this.authWithOAuth2Code(n.name,s.code,n.codeVerifier,o,t.createData,i);e(r)}catch(e){r(new ClientResponseError(e))}cleanup()}));const c={state:i.clientId};t.scopes?.length&&(c.scope=t.scopes.join(" "));const l=this._replaceQueryParams(n.authURL+o,c);let h=t.urlCallback||function(e){s?s.location.href=e:s=openBrowserPopup(e)};await h(l)}catch(e){cleanup(),r(new ClientResponseError(e))}}))})).catch((e=>{throw cleanup(),e}))}async authRefresh(e,t){let s={method:"POST"};return s=normalizeLegacyOptionsArgs("This form of authRefresh(body?, query?) is deprecated. Consider replacing it with authRefresh(options?).",s,e,t),this.client.send(this.baseCollectionPath+"/auth-refresh",s).then((e=>this.authResponse(e)))}async requestPasswordReset(e,t,s){let i={method:"POST",body:{email:e}};return i=normalizeLegacyOptionsArgs("This form of requestPasswordReset(email, body?, query?) is deprecated. Consider replacing it with requestPasswordReset(email, options?).",i,t,s),this.client.send(this.baseCollectionPath+"/request-password-reset",i).then((()=>!0))}async confirmPasswordReset(e,t,s,i,n){let r={method:"POST",body:{token:e,password:t,passwordConfirm:s}};return r=normalizeLegacyOptionsArgs("This form of confirmPasswordReset(token, password, passwordConfirm, body?, query?) is deprecated. Consider replacing it with confirmPasswordReset(token, password, passwordConfirm, options?).",r,i,n),this.client.send(this.baseCollectionPath+"/confirm-password-reset",r).then((()=>!0))}async requestVerification(e,t,s){let i={method:"POST",body:{email:e}};return i=normalizeLegacyOptionsArgs("This form of requestVerification(email, body?, query?) is deprecated. Consider replacing it with requestVerification(email, options?).",i,t,s),this.client.send(this.baseCollectionPath+"/request-verification",i).then((()=>!0))}async confirmVerification(e,t,s){let i={method:"POST",body:{token:e}};return i=normalizeLegacyOptionsArgs("This form of confirmVerification(token, body?, query?) is deprecated. Consider replacing it with confirmVerification(token, options?).",i,t,s),this.client.send(this.baseCollectionPath+"/confirm-verification",i).then((()=>{const t=getTokenPayload(e),s=this.client.authStore.record;return s&&!s.verified&&s.id===t.id&&s.collectionId===t.collectionId&&(s.verified=!0,this.client.authStore.save(this.client.authStore.token,s)),!0}))}async requestEmailChange(e,t,s){let i={method:"POST",body:{newEmail:e}};return i=normalizeLegacyOptionsArgs("This form of requestEmailChange(newEmail, body?, query?) is deprecated. Consider replacing it with requestEmailChange(newEmail, options?).",i,t,s),this.client.send(this.baseCollectionPath+"/request-email-change",i).then((()=>!0))}async confirmEmailChange(e,t,s,i){let n={method:"POST",body:{token:e,password:t}};return n=normalizeLegacyOptionsArgs("This form of confirmEmailChange(token, password, body?, query?) is deprecated. Consider replacing it with confirmEmailChange(token, password, options?).",n,s,i),this.client.send(this.baseCollectionPath+"/confirm-email-change",n).then((()=>{const t=getTokenPayload(e),s=this.client.authStore.record;return s&&s.id===t.id&&s.collectionId===t.collectionId&&this.client.authStore.clear(),!0}))}async listExternalAuths(e,t){return this.client.collection("_externalAuths").getFullList(Object.assign({},t,{filter:this.client.filter("recordRef = {:id}",{id:e})}))}async unlinkExternalAuth(e,t,s){const i=await this.client.collection("_externalAuths").getFirstListItem(this.client.filter("recordRef = {:recordId} && provider = {:provider}",{recordId:e,provider:t}));return this.client.collection("_externalAuths").delete(i.id,s).then((()=>!0))}async requestOTP(e,t){return t=Object.assign({method:"POST",body:{email:e}},t),this.client.send(this.baseCollectionPath+"/request-otp",t)}async authWithOTP(e,t,s){return s=Object.assign({method:"POST",body:{otpId:e,password:t}},s),this.client.send(this.baseCollectionPath+"/auth-with-otp",s).then((e=>this.authResponse(e)))}async impersonate(e,t,s){(s=Object.assign({method:"POST",body:{duration:t}},s)).headers=s.headers||{},s.headers.Authorization||(s.headers.Authorization=this.client.authStore.token);const i=new Client(this.client.baseURL,new BaseAuthStore,this.client.lang),n=await i.send(this.baseCollectionPath+"/impersonate/"+encodeURIComponent(e),s);return i.authStore.save(n?.token,this.decode(n?.record||{})),i}_replaceQueryParams(e,t={}){let s=e,i="";e.indexOf("?")>=0&&(s=e.substring(0,e.indexOf("?")),i=e.substring(e.indexOf("?")+1));const n={},r=i.split("&");for(const e of r){if(""==e)continue;const t=e.split("=");n[decodeURIComponent(t[0].replace(/\+/g," "))]=decodeURIComponent((t[1]||"").replace(/\+/g," "))}for(let e in t)t.hasOwnProperty(e)&&(null==t[e]?delete n[e]:n[e]=t[e]);i="";for(let e in n)n.hasOwnProperty(e)&&(""!=i&&(i+="&"),i+=encodeURIComponent(e.replace(/%20/g,"+"))+"="+encodeURIComponent(n[e].replace(/%20/g,"+")));return""!=i?s+"?"+i:s}}function openBrowserPopup(e){if("undefined"==typeof window||!window?.open)throw new ClientResponseError(new Error("Not in a browser context - please pass a custom urlCallback function."));let t=1024,s=768,i=window.innerWidth,n=window.innerHeight;t=t>i?i:t,s=s>n?n:s;let r=i/2-t/2,o=n/2-s/2;return window.open(e,"popup_window","width="+t+",height="+s+",top="+o+",left="+r+",resizable,menubar=no")}class CollectionService extends CrudService{get baseCrudPath(){return"/api/collections"}async import(e,t=!1,s){return s=Object.assign({method:"PUT",body:{collections:e,deleteMissing:t}},s),this.client.send(this.baseCrudPath+"/import",s).then((()=>!0))}async getScaffolds(e){return e=Object.assign({method:"GET"},e),this.client.send(this.baseCrudPath+"/meta/scaffolds",e)}async truncate(e,t){return t=Object.assign({method:"DELETE"},t),this.client.send(this.baseCrudPath+"/"+encodeURIComponent(e)+"/truncate",t).then((()=>!0))}}class LogService extends BaseService{async getList(e=1,t=30,s){return(s=Object.assign({method:"GET"},s)).query=Object.assign({page:e,perPage:t},s.query),this.client.send("/api/logs",s)}async getOne(e,t){if(!e)throw new ClientResponseError({url:this.client.buildURL("/api/logs/"),status:404,response:{code:404,message:"Missing required log id.",data:{}}});return t=Object.assign({method:"GET"},t),this.client.send("/api/logs/"+encodeURIComponent(e),t)}async getStats(e){return e=Object.assign({method:"GET"},e),this.client.send("/api/logs/stats",e)}}class HealthService extends BaseService{async check(e){return e=Object.assign({method:"GET"},e),this.client.send("/api/health",e)}}class FileService extends BaseService{getUrl(e,t,s={}){return console.warn("Please replace pb.files.getUrl() with pb.files.getURL()"),this.getURL(e,t,s)}getURL(e,t,s={}){if(!t||!e?.id||!e?.collectionId&&!e?.collectionName)return"";const i=[];i.push("api"),i.push("files"),i.push(encodeURIComponent(e.collectionId||e.collectionName)),i.push(encodeURIComponent(e.id)),i.push(encodeURIComponent(t));let n=this.client.buildURL(i.join("/"));if(Object.keys(s).length){!1===s.download&&delete s.download;const e=new URLSearchParams(s);n+=(n.includes("?")?"&":"?")+e}return n}async getToken(e){return e=Object.assign({method:"POST"},e),this.client.send("/api/files/token",e).then((e=>e?.token||""))}}class BackupService extends BaseService{async getFullList(e){return e=Object.assign({method:"GET"},e),this.client.send("/api/backups",e)}async create(e,t){return t=Object.assign({method:"POST",body:{name:e}},t),this.client.send("/api/backups",t).then((()=>!0))}async upload(e,t){return t=Object.assign({method:"POST",body:e},t),this.client.send("/api/backups/upload",t).then((()=>!0))}async delete(e,t){return t=Object.assign({method:"DELETE"},t),this.client.send(`/api/backups/${encodeURIComponent(e)}`,t).then((()=>!0))}async restore(e,t){return t=Object.assign({method:"POST"},t),this.client.send(`/api/backups/${encodeURIComponent(e)}/restore`,t).then((()=>!0))}getDownloadUrl(e,t){return console.warn("Please replace pb.backups.getDownloadUrl() with pb.backups.getDownloadURL()"),this.getDownloadURL(e,t)}getDownloadURL(e,t){return this.client.buildURL(`/api/backups/${encodeURIComponent(t)}?token=${encodeURIComponent(e)}`)}}class CronService extends BaseService{async getFullList(e){return e=Object.assign({method:"GET"},e),this.client.send("/api/crons",e)}async run(e,t){return t=Object.assign({method:"POST"},t),this.client.send(`/api/crons/${encodeURIComponent(e)}`,t).then((()=>!0))}}function isFile(e){return"undefined"!=typeof Blob&&e instanceof Blob||"undefined"!=typeof File&&e instanceof File||null!==e&&"object"==typeof e&&e.uri&&("undefined"!=typeof navigator&&"ReactNative"===navigator.product||"undefined"!=typeof global&&global.HermesInternal)}function isFormData(e){return e&&("FormData"===e.constructor?.name||"undefined"!=typeof FormData&&e instanceof FormData)}function hasFileField(e){for(const t in e){const s=Array.isArray(e[t])?e[t]:[e[t]];for(const e of s)if(isFile(e))return!0}return!1}const r=/^[\-\.\d]+$/;function inferFormDataValue(e){if("string"!=typeof e)return e;if("true"==e)return!0;if("false"==e)return!1;if(("-"===e[0]||e[0]>="0"&&e[0]<="9")&&r.test(e)){let t=+e;if(""+t===e)return t}return e}class BatchService extends BaseService{constructor(){super(...arguments),this.requests=[],this.subs={}}collection(e){return this.subs[e]||(this.subs[e]=new SubBatchService(this.requests,e)),this.subs[e]}async send(e){const t=new FormData,s=[];for(let e=0;e<this.requests.length;e++){const i=this.requests[e];if(s.push({method:i.method,url:i.url,headers:i.headers,body:i.json}),i.files)for(let s in i.files){const n=i.files[s]||[];for(let i of n)t.append("requests."+e+"."+s,i)}}return t.append("@jsonPayload",JSON.stringify({requests:s})),e=Object.assign({method:"POST",body:t},e),this.client.send("/api/batch",e)}}class SubBatchService{constructor(e,t){this.requests=[],this.requests=e,this.collectionIdOrName=t}upsert(e,t){t=Object.assign({body:e||{}},t);const s={method:"PUT",url:"/api/collections/"+encodeURIComponent(this.collectionIdOrName)+"/records"};this.prepareRequest(s,t),this.requests.push(s)}create(e,t){t=Object.assign({body:e||{}},t);const s={method:"POST",url:"/api/collections/"+encodeURIComponent(this.collectionIdOrName)+"/records"};this.prepareRequest(s,t),this.requests.push(s)}update(e,t,s){s=Object.assign({body:t||{}},s);const i={method:"PATCH",url:"/api/collections/"+encodeURIComponent(this.collectionIdOrName)+"/records/"+encodeURIComponent(e)};this.prepareRequest(i,s),this.requests.push(i)}delete(e,t){t=Object.assign({},t);const s={method:"DELETE",url:"/api/collections/"+encodeURIComponent(this.collectionIdOrName)+"/records/"+encodeURIComponent(e)};this.prepareRequest(s,t),this.requests.push(s)}prepareRequest(e,t){if(normalizeUnknownQueryParams(t),e.headers=t.headers,e.json={},e.files={},void 0!==t.query){const s=serializeQueryParams(t.query);s&&(e.url+=(e.url.includes("?")?"&":"?")+s)}let s=t.body;isFormData(s)&&(s=function convertFormDataToObject(e){let t={};return e.forEach(((e,s)=>{if("@jsonPayload"===s&&"string"==typeof e)try{let s=JSON.parse(e);Object.assign(t,s)}catch(e){console.warn("@jsonPayload error:",e)}else void 0!==t[s]?(Array.isArray(t[s])||(t[s]=[t[s]]),t[s].push(inferFormDataValue(e))):t[s]=inferFormDataValue(e)})),t}(s));for(const t in s){const i=s[t];if(isFile(i))e.files[t]=e.files[t]||[],e.files[t].push(i);else if(Array.isArray(i)){const s=[],n=[];for(const e of i)isFile(e)?s.push(e):n.push(e);if(s.length>0&&s.length==i.length){e.files[t]=e.files[t]||[];for(let i of s)e.files[t].push(i)}else if(e.json[t]=n,s.length>0){let i=t;t.startsWith("+")||t.endsWith("+")||(i+="+"),e.files[i]=e.files[i]||[];for(let t of s)e.files[i].push(t)}}else e.json[t]=i}}}class Client{get baseUrl(){return this.baseURL}set baseUrl(e){this.baseURL=e}constructor(e="/",t,s="en-US"){this.cancelControllers={},this.recordServices={},this.enableAutoCancellation=!0,this.baseURL=e,this.lang=s,t?this.authStore=t:"undefined"!=typeof window&&window.Deno?this.authStore=new BaseAuthStore:this.authStore=new LocalAuthStore,this.collections=new CollectionService(this),this.files=new FileService(this),this.logs=new LogService(this),this.settings=new SettingsService(this),this.realtime=new RealtimeService(this),this.health=new HealthService(this),this.backups=new BackupService(this),this.crons=new CronService(this)}get admins(){return this.collection("_superusers")}createBatch(){return new BatchService(this)}collection(e){return this.recordServices[e]||(this.recordServices[e]=new RecordService(this,e)),this.recordServices[e]}autoCancellation(e){return this.enableAutoCancellation=!!e,this}cancelRequest(e){return this.cancelControllers[e]&&(this.cancelControllers[e].abort(),delete this.cancelControllers[e]),this}cancelAllRequests(){for(let e in this.cancelControllers)this.cancelControllers[e].abort();return this.cancelControllers={},this}filter(e,t){if(!t)return e;for(let s in t){let i=t[s];switch(typeof i){case"boolean":case"number":i=""+i;break;case"string":i="'"+i.replace(/'/g,"\\'")+"'";break;default:i=null===i?"null":i instanceof Date?"'"+i.toISOString().replace("T"," ")+"'":"'"+JSON.stringify(i).replace(/'/g,"\\'")+"'"}e=e.replaceAll("{:"+s+"}",i)}return e}getFileUrl(e,t,s={}){return console.warn("Please replace pb.getFileUrl() with pb.files.getURL()"),this.files.getURL(e,t,s)}buildUrl(e){return console.warn("Please replace pb.buildUrl() with pb.buildURL()"),this.buildURL(e)}buildURL(e){let t=this.baseURL;return"undefined"==typeof window||!window.location||t.startsWith("https://")||t.startsWith("http://")||(t=window.location.origin?.endsWith("/")?window.location.origin.substring(0,window.location.origin.length-1):window.location.origin||"",this.baseURL.startsWith("/")||(t+=window.location.pathname||"/",t+=t.endsWith("/")?"":"/"),t+=this.baseURL),e&&(t+=t.endsWith("/")?"":"/",t+=e.startsWith("/")?e.substring(1):e),t}async send(e,t){t=this.initSendOptions(e,t);let s=this.buildURL(e);if(this.beforeSend){const e=Object.assign({},await this.beforeSend(s,t));void 0!==e.url||void 0!==e.options?(s=e.url||s,t=e.options||t):Object.keys(e).length&&(t=e,console?.warn&&console.warn("Deprecated format of beforeSend return: please use `return { url, options }`, instead of `return options`."))}if(void 0!==t.query){const e=serializeQueryParams(t.query);e&&(s+=(s.includes("?")?"&":"?")+e),delete t.query}"application/json"==this.getHeader(t.headers,"Content-Type")&&t.body&&"string"!=typeof t.body&&(t.body=JSON.stringify(t.body));return(t.fetch||fetch)(s,t).then((async e=>{let s={};try{s=await e.json()}catch(e){}if(this.afterSend&&(s=await this.afterSend(e,s,t)),e.status>=400)throw new ClientResponseError({url:e.url,status:e.status,data:s});return s})).catch((e=>{throw new ClientResponseError(e)}))}initSendOptions(e,t){if((t=Object.assign({method:"GET"},t)).body=function convertToFormDataIfNeeded(e){if("undefined"==typeof FormData||void 0===e||"object"!=typeof e||null===e||isFormData(e)||!hasFileField(e))return e;const t=new FormData;for(const s in e){const i=e[s];if(void 0!==i)if("object"!=typeof i||hasFileField({data:i})){const e=Array.isArray(i)?i:[i];for(let i of e)t.append(s,i)}else{let e={};e[s]=i,t.append("@jsonPayload",JSON.stringify(e))}}return t}(t.body),normalizeUnknownQueryParams(t),t.query=Object.assign({},t.params,t.query),void 0===t.requestKey&&(!1===t.$autoCancel||!1===t.query.$autoCancel?t.requestKey=null:(t.$cancelKey||t.query.$cancelKey)&&(t.requestKey=t.$cancelKey||t.query.$cancelKey)),delete t.$autoCancel,delete t.query.$autoCancel,delete t.$cancelKey,delete t.query.$cancelKey,null!==this.getHeader(t.headers,"Content-Type")||isFormData(t.body)||(t.headers=Object.assign({},t.headers,{"Content-Type":"application/json"})),null===this.getHeader(t.headers,"Accept-Language")&&(t.headers=Object.assign({},t.headers,{"Accept-Language":this.lang})),this.authStore.token&&null===this.getHeader(t.headers,"Authorization")&&(t.headers=Object.assign({},t.headers,{Authorization:this.authStore.token})),this.enableAutoCancellation&&null!==t.requestKey){const s=t.requestKey||(t.method||"GET")+e;delete t.requestKey,this.cancelRequest(s);const i=new AbortController;this.cancelControllers[s]=i,t.signal=i.signal}return t}getHeader(e,t){e=e||{},t=t.toLowerCase();for(let s in e)if(s.toLowerCase()==t)return e[s];return null}}return Client}));
2deleted: //# sourceMappingURL=pocketbase.umd.js.map