@readme/markdown 7.6.5 → 7.6.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -79
- package/components/Accordion/index.tsx +1 -1
- package/components/Accordion/style.scss +1 -1
- package/components/Code/index.tsx +3 -3
- package/components/Image/index.tsx +1 -1
- package/components/Image/style.scss +6 -0
- package/dist/lib/ast-processor.d.ts +3 -1
- package/dist/lib/compile.d.ts +2 -1
- package/dist/main.css +2 -2
- package/dist/main.js +34 -12
- package/dist/main.node.js +34 -12
- package/dist/processor/transform/code-tabs.d.ts +3 -1
- package/dist/processor/transform/index.d.ts +12 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,129 +1,110 @@
|
|
|
1
|
-
#
|
|
1
|
+
# <img align="right" width="26%" src="https://owlbertsio-resized.s3.amazonaws.com/Reading.psd.full.png"> `@readme/markdown`
|
|
2
2
|
|
|
3
|
-
<img align=
|
|
3
|
+
<img align=right src=https://github.com/readmeio/markdown/workflows/CI/badge.svg alt="RDMD CI Status"> ReadMe's MDX rendering engine and custom component collection.
|
|
4
|
+
<br/> *(Use ReadMe? [Learn more about our upcoming move to MDX](https://docs.readme.com/rdmd/page/mdx-engine)!)*
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
## Getting Started
|
|
7
|
+
|
|
8
|
+
To use the engine, install it from NPM:
|
|
6
9
|
|
|
7
10
|
```
|
|
8
11
|
npm install --save @readme/markdown
|
|
9
12
|
```
|
|
10
13
|
|
|
11
|
-
|
|
14
|
+
Then [`compile`](#compile) and [`run`](#run) your MDX:
|
|
12
15
|
|
|
13
16
|
```jsx
|
|
14
|
-
import
|
|
15
|
-
import rmdx from '@readme/markdown';
|
|
17
|
+
import RMDX from '@readme/markdown';
|
|
16
18
|
|
|
17
|
-
export default ({ body }) =>
|
|
19
|
+
export default ({ body }) => (
|
|
20
|
+
<div className="markdown-body">
|
|
21
|
+
{RMDX.run(RMDX.compile(body))}
|
|
22
|
+
</div>
|
|
23
|
+
);
|
|
18
24
|
```
|
|
19
25
|
|
|
20
|
-
|
|
26
|
+
## API
|
|
21
27
|
|
|
22
|
-
|
|
28
|
+
### `compile`
|
|
23
29
|
|
|
24
|
-
Compiles MDX to JS. Essentially a wrapper around [`mdx.compile`](https://mdxjs.com/packages/mdx/#compilefile-options).
|
|
30
|
+
Compiles MDX to JS. Essentially a wrapper around [`mdx.compile`](https://mdxjs.com/packages/mdx/#compilefile-options). Used before calling [`run`](#run); it has been left as a seperate method for potential caching opportunities.
|
|
25
31
|
|
|
26
|
-
|
|
32
|
+
#### Parameters
|
|
27
33
|
|
|
28
|
-
-
|
|
29
|
-
-
|
|
34
|
+
- **`string`** (`string`)—an MDX document
|
|
35
|
+
- **`opts`** ([`CompileOpts`](#compileopts), optional)—a configuration object
|
|
30
36
|
|
|
31
|
-
|
|
37
|
+
#### Returns
|
|
32
38
|
|
|
33
|
-
compiled code
|
|
39
|
+
A string of compiled Javascript module code.
|
|
34
40
|
|
|
35
|
-
|
|
41
|
+
### `run`
|
|
36
42
|
|
|
37
43
|
> [!CAUTION]
|
|
38
|
-
>
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
A module ([`RMDXModule`](#rmdxmodule)) of renderable components
|
|
48
|
-
|
|
49
|
-
#### `mdx`
|
|
50
|
-
|
|
51
|
-
Compiles an ast to mdx.
|
|
52
|
-
|
|
53
|
-
###### Parameters
|
|
54
|
-
|
|
55
|
-
Extends [`remark-stringify` options](https://github.com/remarkjs/remark/tree/main/packages/remark-stringify#options).
|
|
56
|
-
|
|
57
|
-
###### Returns
|
|
44
|
+
> This is essentially a wrapper around [`mdx.run`](https://mdxjs.com/packages/mdx/#runcode-options) and **it will `eval` the compiled MDX**. Make sure you only call `run` on safe syntax from a trusted author!
|
|
45
|
+
>
|
|
46
|
+
> #### Parameters
|
|
47
|
+
> - **`string`** (`string`)—a compiled mdx document
|
|
48
|
+
> - **`opts`** (`RunOpts`, optional)—configuration
|
|
49
|
+
>
|
|
50
|
+
> #### Returns
|
|
51
|
+
> An [`RMDXModule`](#rmdxmodule) of renderable components.
|
|
58
52
|
|
|
59
|
-
|
|
53
|
+
### `mdx`
|
|
60
54
|
|
|
61
|
-
|
|
55
|
+
Compiles an AST to a string of MDX syntax.
|
|
62
56
|
|
|
63
|
-
|
|
57
|
+
#### Parameters
|
|
64
58
|
|
|
65
|
-
|
|
59
|
+
- **`tree`** (`object`)—an abstract syntax tree
|
|
60
|
+
- **`opts`** ([`Options`](https://github.com/remarkjs/remark/tree/main/packages/remark-stringify#options "`remark-stringify` Options type"))—`remark-stringify` configuration.
|
|
66
61
|
|
|
67
|
-
|
|
62
|
+
#### Returns
|
|
68
63
|
|
|
69
|
-
|
|
64
|
+
An MDX string.
|
|
70
65
|
|
|
71
|
-
|
|
66
|
+
### Other Methods
|
|
72
67
|
|
|
73
|
-
|
|
68
|
+
- **`mdast`**: parse MDX syntax to MDAST.
|
|
69
|
+
- **`hast`**: parse MDX syntax to HAST.
|
|
70
|
+
- **`plain`**: parse MDX to a plaintext string with all Markdown syntax removed. (This *does not* `eval` the doc.)
|
|
71
|
+
- **`tags`**: get a list of tag names from the doc. (This *does not* `eval` the doc.)
|
|
72
|
+
- **`utils`**: additional defaults, helper methods, components, and so on.
|
|
74
73
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
#### `utils`
|
|
78
|
-
|
|
79
|
-
Additional defaults, helpers, components, etc.
|
|
74
|
+
## Types
|
|
80
75
|
|
|
81
76
|
### `CompileOpts`
|
|
82
77
|
|
|
83
78
|
Extends [`CompileOptions`](https://mdxjs.com/packages/mdx/#compileoptions)
|
|
84
79
|
|
|
85
|
-
|
|
80
|
+
##### Additional Properties
|
|
86
81
|
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
82
|
+
- **`lazyImages`** (`boolean`, optional)—load images lazily
|
|
83
|
+
- **`safeMode`** (`boolean`, optional)—extract script tags from `HTMLBlock`s
|
|
84
|
+
- **`components`** (`Record<string, string>`, optional)—an object of tag names to mdx.
|
|
85
|
+
- **`copyButtons`** (`Boolean`, optional) — add a copy button to code blocks
|
|
91
86
|
|
|
92
87
|
### `RunOpts`
|
|
93
88
|
|
|
94
89
|
Extends [`RunOptions`](https://mdxjs.com/packages/mdx/#runoptions)
|
|
95
90
|
|
|
96
|
-
|
|
91
|
+
##### Additional Properties
|
|
97
92
|
|
|
98
|
-
-
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
-
|
|
93
|
+
- **`components`** (`Record<string, MDXModule>`, optional)—a set of custom MDX components
|
|
94
|
+
- **`imports`** (`Record<string, unknown>`, optional)—an set of modules to import globally
|
|
95
|
+
- **`terms`** (`GlossaryTerm[]`, optional)
|
|
96
|
+
- **`variables`** (`Variables`, optional)—an object containing [user variables](https://github.com/readmeio/variable)
|
|
102
97
|
|
|
103
98
|
### `RMDXModule`
|
|
104
99
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
- `default` (`() => MDXContent`) -- the MDX douments default export
|
|
108
|
-
- `toc` (`HastHeading[]`) -- a list of headings in the document
|
|
109
|
-
- `Toc` (`() => MDCContent`) -- a table of contents component
|
|
100
|
+
##### Properties
|
|
110
101
|
|
|
111
|
-
|
|
102
|
+
- **`default`** (`() => MDXContent`)—the MDX douments default export
|
|
103
|
+
- **`toc`** (`HastHeading[]`)—a list of headings in the document
|
|
104
|
+
- **`Toc`** (`() => MDCContent`)—a table of contents component
|
|
112
105
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
## Local Development
|
|
106
|
+
## Local Development and Testing
|
|
116
107
|
|
|
117
108
|
To make changes to the RDMD engine locally, run the local development server. Clone the repo, `cd` in to it, `npm install`, and `npm run start`!
|
|
118
109
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
Running the browser tests requires `docker`. Follow the docker [install instructions for mac](https://docs.docker.com/docker-for-mac/install/). You may want to increase the [memory usage](https://docs.docker.com/docker-for-mac/#resources). If you have not already, you'll need to create an account for `docker hub` and [sign-in locally](https://docs.docker.com/docker-for-mac/#docker-hub).
|
|
122
|
-
|
|
123
|
-
### Running visual regression tests
|
|
124
|
-
|
|
125
|
-
If you make changes to the docs or how the markdown is rendered, you may need to update the visual regression snapshots. You can run the visual regression tests in a docker container with:
|
|
126
|
-
|
|
127
|
-
```
|
|
128
|
-
make updateSnapshot
|
|
129
|
-
```
|
|
110
|
+
If you make changes to the docs or how the markdown is rendered, you may need to update the visual regression snapshots by running `make updateSnapshot`. Running these browser tests requires `docker`. Follow the docker [install instructions for mac](https://docs.docker.com/docker-for-mac/install/). You may want to increase the [memory usage](https://docs.docker.com/docker-for-mac/#resources). If you have not already, you'll need to create an account for `docker hub` and [sign-in locally](https://docs.docker.com/docker-for-mac/#docker-hub).
|
|
@@ -8,7 +8,7 @@ const Accordion = ({ children, icon, iconColor, title }) => {
|
|
|
8
8
|
return (
|
|
9
9
|
<details className="Accordion" onToggle={() => setIsOpen(!isOpen)}>
|
|
10
10
|
<summary className="Accordion-title">
|
|
11
|
-
<i className={`Accordion-toggleIcon${isOpen ? '_opened' : ''}
|
|
11
|
+
<i className={`Accordion-toggleIcon${isOpen ? '_opened' : ''} fa fa-regular fa-chevron-right`}></i>
|
|
12
12
|
{icon && <i className={`Accordion-icon fa-duotone fa-solid ${icon}`} style={{ color: `${iconColor}` }}></i>}
|
|
13
13
|
{title}
|
|
14
14
|
</summary>
|
|
@@ -16,20 +16,20 @@ if (typeof window !== 'undefined') {
|
|
|
16
16
|
|
|
17
17
|
function CopyCode({ codeRef, rootClass = 'rdmd-code-copy', className = '' }) {
|
|
18
18
|
const copyClass = `${rootClass}_copied`;
|
|
19
|
-
const
|
|
19
|
+
const buttonRef = createRef<HTMLButtonElement>();
|
|
20
20
|
|
|
21
21
|
const copier = () => {
|
|
22
22
|
const code = codeRef.current.textContent;
|
|
23
23
|
|
|
24
24
|
if (copy(code)) {
|
|
25
|
-
const el =
|
|
25
|
+
const el = buttonRef.current;
|
|
26
26
|
el.classList.add(copyClass);
|
|
27
27
|
|
|
28
28
|
setTimeout(() => el.classList.remove(copyClass), 1500);
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
-
return <button ref={
|
|
32
|
+
return <button ref={buttonRef} aria-label="Copy Code" className={`${rootClass} ${className}`} onClick={copier} />;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
interface CodeProps {
|
|
@@ -28,15 +28,19 @@
|
|
|
28
28
|
outline: none !important;
|
|
29
29
|
vertical-align: middle;
|
|
30
30
|
|
|
31
|
+
&.img-align-right,
|
|
31
32
|
&[align='right'],
|
|
32
33
|
&[alt~='align-right'] {
|
|
33
34
|
@extend %img-align-right;
|
|
34
35
|
}
|
|
35
36
|
|
|
37
|
+
&.img-align-left,
|
|
36
38
|
&[align='left'],
|
|
37
39
|
&[alt~='align-left'] {
|
|
38
40
|
@extend %img-align-left;
|
|
41
|
+
|
|
39
42
|
}
|
|
43
|
+
&.img-align-center,
|
|
40
44
|
&[align='middle'], // hack to fix Firefox; see: https://stackoverflow.com/a/45901819/1341949
|
|
41
45
|
&[align='center'],
|
|
42
46
|
&[alt~='align-center'] {
|
|
@@ -65,8 +69,10 @@
|
|
|
65
69
|
}
|
|
66
70
|
}
|
|
67
71
|
|
|
72
|
+
> .img,
|
|
68
73
|
> img,
|
|
69
74
|
figure > img {
|
|
75
|
+
display: block;
|
|
70
76
|
@extend %img-align-center;
|
|
71
77
|
}
|
|
72
78
|
|
|
@@ -6,7 +6,9 @@ export type MdastOpts = {
|
|
|
6
6
|
components?: Record<string, string>;
|
|
7
7
|
remarkPlugins?: PluggableList;
|
|
8
8
|
};
|
|
9
|
-
export declare const remarkPlugins: ((() => (tree: any) => void) |
|
|
9
|
+
export declare const remarkPlugins: ((() => (tree: any) => void) | (({ copyButtons }?: {
|
|
10
|
+
copyButtons?: boolean;
|
|
11
|
+
}) => (tree: import("mdast").Node) => import("mdast").Node) | typeof remarkFrontmatter | typeof remarkGfm)[];
|
|
10
12
|
export declare const rehypePlugins: (typeof rehypeSlug)[];
|
|
11
13
|
declare const astProcessor: (opts?: MdastOpts) => import("unified").Processor<import("mdast").Root, import("mdast").Root, import("mdast").Root, import("mdast").Root, string>;
|
|
12
14
|
export default astProcessor;
|
package/dist/lib/compile.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export type CompileOpts = CompileOptions & {
|
|
|
3
3
|
lazyImages?: boolean;
|
|
4
4
|
safeMode?: boolean;
|
|
5
5
|
components?: Record<string, string>;
|
|
6
|
+
copyButtons?: boolean;
|
|
6
7
|
};
|
|
7
|
-
declare const compile: (text: string, { components, ...opts }?: CompileOpts) => string;
|
|
8
|
+
declare const compile: (text: string, { components, copyButtons, ...opts }?: CompileOpts) => string;
|
|
8
9
|
export default compile;
|
package/dist/main.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.Accordion{background:rgba(var(--color-bg-page-rgb, white), 1);border:1px solid var(--color-border-default, rgba(0, 0, 0, 0.1));border-radius:5px}.Accordion-title{align-items:center;background:rgba(var(--color-bg-page-rgb, white), 1);border:0;border-radius:5px;color:var(--color-text-default, #384248);cursor:pointer;display:flex;font-size:16px;font-weight:500;padding:10px;position:relative;text-align:left;width:100%}.Accordion-title:hover{background:var(--color-bg-hover, rgba(0, 0, 0, 0.05))}.Accordion[open] .Accordion-title{border-bottom-left-radius:0;border-bottom-right-radius:0}.Accordion-title::marker{content:""}.Accordion-title::-webkit-details-marker{display:none}.Accordion-toggleIcon,.Accordion-toggleIcon_opened{color:var(--color-text-
|
|
1
|
+
.Accordion{background:rgba(var(--color-bg-page-rgb, white), 1);border:1px solid var(--color-border-default, rgba(0, 0, 0, 0.1));border-radius:5px}.Accordion-title{align-items:center;background:rgba(var(--color-bg-page-rgb, white), 1);border:0;border-radius:5px;color:var(--color-text-default, #384248);cursor:pointer;display:flex;font-size:16px;font-weight:500;padding:10px;position:relative;text-align:left;width:100%}.Accordion-title:hover{background:var(--color-bg-hover, rgba(0, 0, 0, 0.05))}.Accordion[open] .Accordion-title{border-bottom-left-radius:0;border-bottom-right-radius:0}.Accordion-title::marker{content:""}.Accordion-title::-webkit-details-marker{display:none}.Accordion-toggleIcon,.Accordion-toggleIcon_opened{color:var(--color-text-minimum, #637288);font-size:14px;margin-left:5px;margin-right:10px;transition:transform .1s}.Accordion-toggleIcon_opened,.Accordion-toggleIcon_opened_opened{transform:rotate(90deg)}.Accordion-icon{color:var(--project-color-primary, inherit);margin-right:10px}.Accordion-content{color:var(--color-text-muted, #4f5a66);padding:5px 15px 0 15px}
|
|
2
2
|
.CardsGrid{display:grid;gap:20px}.CardsGrid .Card{padding:15px;padding-bottom:0;backdrop-filter:blur(20px);background:rgba(var(--color-bg-page-rgb, white), 1);border:1px solid var(--color-border-default, rgba(0, 0, 0, 0.1));border-radius:5px;box-shadow:0 1px 2px rgba(0, 0, 0, 0.05),0 2px 5px rgba(0, 0, 0, 0.02)}.CardsGrid .Card-top{display:inline-flex;flex-direction:row}.CardsGrid .Card-icon{color:var(--project-color-primary, inherit);font-size:20px}.CardsGrid .Card-title{color:var(--color-text-default, #384248);font-weight:600;margin-top:10px}.CardsGrid .Card-title:first-child{margin-top:0}.CardsGrid .Card-content{color:var(--color-text-muted, #4f5a66)}.CardsGrid a.Card:not([href=""]){text-decoration:none;color:inherit}.CardsGrid a.Card:not([href=""]):hover{background:var(--color-bg-hover, rgba(0, 0, 0, 0.05))}
|
|
3
3
|
.TabGroup-nav{border-bottom:solid var(--color-border-default, rgba(0, 0, 0, 0.1));margin-bottom:15px}.TabGroup-tab{background:none;border:0;color:var(--color-text-minimum, #637288);cursor:pointer;font-size:15px;font-weight:600;margin-right:15px;padding:0;padding-bottom:10px}.TabGroup-tab_active{background:none;border:0;border-bottom:solid var(--project-color-primary, var(--color-text-default, #384248));color:var(--project-color-primary, var(--color-text-default, #384248));font-size:15px;font-weight:600;margin-right:15px;margin-bottom:-2px;padding:0;padding-bottom:10px}.TabGroup-tab:hover{color:var(--color-text-muted, #4f5a66)}.TabGroup-icon{color:var(--project-color-primary, inherit);margin-right:10px}.TabGroup .TabContent{color:var(--color-text-muted, #4f5a66)}
|
|
4
4
|
/* BASICS */
|
|
@@ -390,4 +390,4 @@ span.CodeMirror-selectedtext { background: none; }
|
|
|
390
390
|
z-index: 1;
|
|
391
391
|
}
|
|
392
392
|
|
|
393
|
-
.markdown-body img[align=right],.markdown-body img[alt~=align-right]{float:right;margin-left:.75rem}.markdown-body img[align=left],.markdown-body img[alt~=align-left]{float:left;margin-right:.75rem}.markdown-body>img,.markdown-body figure>img,.markdown-body img[align=middle],.markdown-body img[align=center],.markdown-body img[alt~=align-center]{display:block}.markdown-body img{border-style:none;box-sizing:content-box;display:inline-block;margin-left:auto;margin-right:auto;max-width:100%;outline:none !important;vertical-align:middle}.markdown-body img[width=smart]{max-height:450px;max-width:100%;width:auto}.markdown-body img.border{border:1px solid rgba(0,0,0,.2)}.markdown-body figure{margin:15px auto}.markdown-body figure figcaption{font-size:.93em;font-style:italic;margin-top:8px;text-align:center}.markdown-body figure .img{display:block}.markdown-body .lightbox.open{align-items:center;background:rgba(255,255,255,.966);display:flex;flex-flow:nowrap column;height:100vh;justify-content:flex-start;left:0;margin-bottom:0;margin-top:0;overflow:hidden;overflow-y:scroll;position:fixed;top:0;user-select:none;width:100vw;z-index:9999999}.markdown-body .lightbox.open::after{content:"";cursor:pointer;display:inline-block;font:normal normal normal 2em/1 FontAwesome;font-size:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;opacity:1;position:fixed;right:1em;text-rendering:auto;top:1em;transform:translate(0, 0);transform:scale(1.5);transition:.3s .3s ease-in}.markdown-body .lightbox.open:not(.open)::after{opacity:0;transform:scale(0)}.markdown-body .lightbox.open .lightbox-inner{align-items:center;box-sizing:content-box;display:inline-flex;justify-content:center;margin:auto;min-height:calc(100vh + 8px);padding:0;position:relative}.markdown-body .lightbox.open img{height:auto !important;max-height:97.5vh !important;max-width:97.5vw !important;min-width:unset !important;width:auto !important}.markdown-body .lightbox.open img.border,.markdown-body .lightbox.open img:not([src$=".png"]):not([src$=".svg"]):not([src$=".jp2"]):not([src$=".tiff"]){box-shadow:0 .5em 3em -1em rgba(0,0,0,.2)}.markdown-body .lightbox.open img[src$=svg]{display:block !important;height:66vw !important;max-width:100% !important;min-width:200px !important;width:42vw !important}.markdown-body table{display:table;border-collapse:collapse;border-spacing:0;width:100%;color:var(--table-text)}.markdown-body table thead{color:var(--table-head-text, inherit)}.markdown-body table thead tr{background:var(--table-head, #f6f8fa)}.markdown-body table tr{background-color:var(--table-row, #fff)}.markdown-body table tr+tr{border-top:1px solid var(--table-edges, #dfe2e5)}.markdown-body table th,.markdown-body table thead td{font-weight:600}.markdown-body table th:empty,.markdown-body table thead td:empty{padding:0}.markdown-body table td,.markdown-body table th{padding:0;color:inherit;vertical-align:middle;border:1px solid var(--table-edges, #dfe2e5);padding:6px 13px}.markdown-body table td>:first-child,.markdown-body table td>:only-child,.markdown-body table th>:first-child,.markdown-body table th>:only-child{margin-top:0 !important}.markdown-body table td>:last-child,.markdown-body table td>:only-child,.markdown-body table th>:last-child,.markdown-body table th>:only-child{margin-bottom:0 !important}.markdown-body table:not(.plain) tr:nth-child(2n){background-color:var(--table-stripe, #fbfcfd)}.markdown-body .rdmd-table{display:block;position:relative}.markdown-body .rdmd-table-inner{box-sizing:content-box;min-width:100%;overflow:auto;width:100%}.markdown-body .rdmd-table table{border:1px solid var(--table-edges, #dfe2e5)}.markdown-body .rdmd-table table:only-child{margin:0 !important}.markdown-body .rdmd-table table:only-child thead th{background:inherit}.markdown-body .rdmd-table table:only-child td:last-child,.markdown-body .rdmd-table table:only-child th:last-child{border-right:none}.markdown-body .rdmd-table table:only-child thead tr,.markdown-body .rdmd-table table:only-child thead th:last-child{box-shadow:3px 0 0 var(--table-head)}.toc-list .glossary-tooltip{pointer-events:none}.markdown-body{--font-size: 90%}.markdown-body code,.markdown-body kbd,.markdown-body pre{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-family:var(--md-code-font, SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace);font-size:1em}.markdown-body code,.markdown-body pre{font-size:12px}.markdown-body pre{margin-bottom:0;margin-top:0}.markdown-body code{background-color:#f6f8fa;background-color:var(--md-code-background, #f6f8fa);border-radius:3px;color:var(--md-code-text);font-size:var(--font-size);margin:0;padding:.2em .4em}.markdown-body code>div[class*=cm-]{display:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{background:0 0;border:0;font-size:100%;margin:0;padding:0;white-space:pre;word-break:normal}.markdown-body pre{background-color:#f6f8fa;background-color:var(--md-code-background, #f6f8fa);color:inherit;color:var(--md-code-text, inherit);border-radius:3px;border-radius:var(--markdown-radius, 3px);border-radius:var(--md-code-radius, var(--markdown-radius, 3px));font-size:var(--font-size);line-height:1.45;overflow:auto;padding:1em}.markdown-body pre code.theme-dark{background-color:#242e34;background-color:var(--md-code-background, #242e34)}.markdown-body pre code{background-color:rgba(0,0,0,0);border:0;display:inline;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0;word-wrap:normal}.markdown-body kbd{background-color:#f6f8fa;background-color:var(--d-code-background, #f6f8fa);border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px 0 #c6cbd1;color:#444d56;display:inline-block;font-size:11px;line-height:10px;padding:3px 5px;vertical-align:middle}.markdown-body button.rdmd-code-copy{display:none !important}.markdown-body button.rdmd-code-copy{-webkit-appearance:unset;margin:.5em .6em 0 0;padding:.25em .7em;cursor:copy;color:inherit;color:var(--md-code-text, inherit);border:none;border-radius:3px;outline:none !important;background:inherit;background:var(--md-code-background, inherit);box-shadow:inset 0 0 0 1px rgba(170,170,170,.66),-1px 2px 6px -3px rgba(0,0,0,.1);transition:.15s ease-out}.markdown-body button.rdmd-code-copy:not(:hover):before,.markdown-body button.rdmd-code-copy:not(:hover):after{opacity:.66}.markdown-body button.rdmd-code-copy:hover:not(:active){box-shadow:inset 0 0 0 1px rgba(139,139,139,.75),-1px 2px 6px -3px rgba(0,0,0,.2)}.markdown-body button.rdmd-code-copy:active{box-shadow:inset 0 0 0 1px rgba(139,139,139,.5),inset 1px 4px 6px -2px rgba(0,0,0,.175)}.markdown-body button.rdmd-code-copy:active:before,.markdown-body button.rdmd-code-copy:active:after{opacity:.75}.markdown-body button.rdmd-code-copy:before,.markdown-body button.rdmd-code-copy:after{display:inline-block;font-family:"Font Awesome 6 Pro"}.markdown-body button.rdmd-code-copy:before{content:"";transition:.3s .15s ease}.markdown-body button.rdmd-code-copy:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.33);opacity:0 !important;transition:.3s 0s ease}.markdown-body button.rdmd-code-copy_copied{pointer-events:none}.markdown-body button.rdmd-code-copy_copied,.markdown-body button.rdmd-code-copy_copied *{color:green !important;color:var(--md-code-text, green) !important;opacity:1}.markdown-body button.rdmd-code-copy_copied:before{transition:.3s 0s ease;transform:scale(0.33);opacity:0 !important}.markdown-body button.rdmd-code-copy_copied:after{transition:.3s .15s ease;transform:translate(-50%, -50%) scale(1);opacity:1 !important}.markdown-body pre{position:relative}.markdown-body pre>code{background:inherit}.markdown-body pre>code.theme-dark{color:#fff}.markdown-body pre button.rdmd-code-copy{display:inline-block !important;position:absolute;right:0;top:0}.markdown-body pre{overflow:hidden;padding:0}.markdown-body pre>code{display:block !important;overflow:auto;padding:1em;max-height:90vh}.markdown-body pre:hover button.rdmd-code-copy:not(:hover){transition-delay:.4s}.markdown-body pre:not(:hover) button.rdmd-code-copy:not(.rdmd-code-copy_copied){opacity:0 !important}.CodeTabs{color:#333;color:var(--md-code-text, #333);border-radius:var(--md-code-radius, var(--markdown-radius, 3px)) !important;overflow:hidden}.CodeTabs.theme-dark{color:#fff;color:var(--md-code-text, white)}.CodeTabs.theme-dark .CodeTabs-toolbar{background:#373737;background:var(--md-code-tabs, #373737)}.CodeTabs-toolbar{background:#ebedef;background:var(--md-code-tabs, #ebedef);display:flex;flex-flow:row nowrap;overflow:hidden;overflow-x:auto;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.CodeTabs-toolbar::-webkit-scrollbar{display:none}.CodeTabs-toolbar button{white-space:nowrap;transition:.123s ease;-webkit-appearance:none;appearance:none;display:inline-block;line-height:2;padding:.5em 1em;border:none;background:rgba(0,0,0,0);outline:none;color:inherit;font:inherit;font-size:.75em;cursor:pointer}.CodeTabs.CodeTabs_initial .CodeTabs-toolbar button:first-child,.CodeTabs-toolbar button.CodeTabs_active{background:#f6f8fa;background:var(--md-code-background, #F6F8FA);color:#000;color:var(--md-code-text, black);pointer-events:none}.CodeTabs.theme-dark.CodeTabs_initial .CodeTabs-toolbar button:first-child,.CodeTabs.theme-dark .CodeTabs-toolbar button.CodeTabs_active{background:#242e34;background:var(--md-code-background, #242E34);color:#fff;color:var(--md-code-text, white)}.CodeTabs-toolbar button:not(.CodeTabs_active):hover{background:rgba(0,0,0,.075)}.CodeTabs pre{border-radius:0 0 var(--md-code-radius, var(--markdown-radius, 3px)) var(--md-code-radius, var(--markdown-radius, 3px)) !important;background:#f6f8fa;background:var(--md-code-background, #F6F8FA);margin-bottom:0}.CodeTabs pre:not(.CodeTabs_active){display:none}.CodeTabs.theme-dark pre{background:#242e34;background:var(--md-code-background, #242E34)}.CodeTabs.CodeTabs_initial pre:first-child{display:block}.callout{--emoji: 1em;--icon-font: var(--fa-style-family, "Font Awesome 6 Pro", FontAwesome);border-top-right-radius:var(--markdown-radius);border-bottom-right-radius:var(--markdown-radius)}.callout.callout{--background: #f8f8f9;--border: #8b939c}.callout.callout{background:var(--background);border-color:var(--border);color:var(--text);padding:1.33rem}.callout.callout_info{--background: #e3edf2;--title: #46b8da;--border: #5bc0de}.callout.callout_warn,.callout.callout_warning{--background: #fcf8f2;--title: #eea236;--border: #f0ad4e}.callout.callout_ok,.callout.callout_okay,.callout.callout_success{--background: #f3f8f3;--title: #489e49;--border: #50af51}.callout.callout_err,.callout.callout_error{--background: #fdf7f7;--title: #d43f3a;--border: #d9534f}.callout.callout>*{margin-left:1.33rem;position:relative}.callout.callout ul,.callout.callout ol{padding-left:1.3em}.callout.callout a{color:inherit}.callout.callout hr{border-color:var(--border, var(--markdown-edge, #eee))}.callout.callout blockquote{color:var(--text);border-color:var(--border);border-width:3px;padding:0 0 0 .8em}.callout.callout .callout-heading{color:var(--title, --text);font-family:var(--markdown-title-font);font-size:1.25em;font-weight:var(--markdown-title-weight, 600);line-height:1.25;margin-bottom:calc(1.33rem*.5)}.callout.callout .callout-heading:only-child{margin-bottom:0}.callout.callout .callout-heading.empty{float:left;margin-top:calc(1.33rem*.5)}.callout.callout .callout-heading.empty .callout-icon{line-height:0}.callout.callout .callout-heading>*{color:inherit;margin:0}.callout.callout .callout-heading:before{position:absolute;right:100%;width:2.4em;text-align:center;font:normal normal normal 1em/1 var(--icon-font)}.callout.callout .callout-icon{float:left;margin-left:calc(-1.33rem - .5em);margin-right:-0.25rem}.callout-icon{font-size:var(--emoji, 0);color:var(--icon-color, inherit) !important}.callout-icon:before{content:var(--icon);font-family:var(--icon-font);font-size:var(--icon-size, 1rem);font-weight:var(--icon-weight, 400);position:absolute;top:50%;transform:translate(-50%, -50%);display:inline-block;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.rdmdCallouts--useIconFont .callout{--emoji: unset}.rdmdCallouts--useIconFont .callout_okay{--icon: ""}.rdmdCallouts--useIconFont .callout_info{--icon: ""}.rdmdCallouts--useIconFont .callout_warn{--icon: ""}.rdmdCallouts--useIconFont .callout_error{--icon: ""}.rdmdCallouts--useIconFont .callout_default{--emoji: 1rem}.heading.heading{display:flex;justify-content:flex-start;align-items:center;position:relative}.heading.heading .heading-text{flex:1 100%}.heading.heading .heading-anchor-deprecated{position:absolute;top:0}.heading.heading .heading-anchor{top:-1rem !important}.heading.heading .heading-anchor,.heading.heading .heading-anchor-icon{position:absolute !important;display:inline !important;order:-1;right:100%;top:unset !important;margin-right:-0.8rem;padding:.8rem .2rem .8rem 0 !important;font-size:.8rem !important;text-decoration:none;color:inherit;transform:translateX(-100%);transition:.2s ease}.heading.heading .heading-anchor:hover,.heading.heading .heading-anchor-icon:hover{opacity:1}.heading.heading:not(:hover) .heading-anchor-icon{opacity:0}.markdown-body .embed{padding:15px;color:var(--md-code-text, inherit);border-radius:var(--md-code-radius, var(--markdown-radius, 3px));border-radius:3px;background:rgba(0,0,0,0);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);transition:.3s ease}.markdown-body .embed:hover{background:var(--md-code-background, #f6f8fa);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.markdown-body>.embed_hasImg:nth-of-type(odd){margin-right:30px;padding-right:0}.markdown-body>.embed_hasImg:nth-of-type(odd) .embed-link{flex-direction:row-reverse}.markdown-body>.embed_hasImg:nth-of-type(odd) .embed-img{margin-left:.88em;margin-right:-30px;box-shadow:-0.3em .3em .9em -0.3em rgba(0,0,0,.15)}.markdown-body>.embed_hasImg:nth-of-type(even){margin-left:30px;padding-left:0}.markdown-body>.embed_hasImg:nth-of-type(even) .embed-img{margin-left:-30px}.markdown-body .embed:empty{display:none}.markdown-body .embed-media{display:flex;justify-content:center}.markdown-body .embed-media>:only-child{flex:1;margin:-15px;border-radius:0 !important}.markdown-body .embed-link{display:flex;align-items:center;color:var(--markdown-text, #333);text-decoration:none !important}.markdown-body .embed-body{flex:1;line-height:1.3}.markdown-body .embed-body,.markdown-body .embed-body .embed-title{font-size:1.15em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.markdown-body .embed-body .embed-provider{display:block;text-decoration-color:rgba(0,0,0,0) !important;opacity:.88}.markdown-body .embed-body-url{opacity:.75}.markdown-body .embed-provider{font-size:.8em;line-height:1.6;transition:.2 ease}.markdown-body .embed-provider code:only-child{display:block;width:100%;font-size:1.15em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:rgba(0,0,0,0);margin:0;padding:0;font-size:inherit !important}.markdown-body .embed-provider code{opacity:.8}.markdown-body .embed-img{width:5em;max-width:5em;margin:0 .88em 0 0;padding:4px;background:#fff;border:1px solid rgba(0,0,0,.15);border-radius:3px;transition:inherit;box-shadow:.3em .3em .9em -0.3em rgba(0,0,0,.15)}.markdown-body .embed:not(:hover) .embed-img{box-shadow:0 .25em 1em -0.5em rgba(0,0,0,.133)}.markdown-body .embed:hover .embed-img{border:1px solid rgba(0,0,0,.2)}.markdown-body .embed-favicon{width:12px !important;height:12px !important;margin-top:4px;margin-right:6px;margin-bottom:12px}.GlossaryItem-trigger{border-bottom:1px solid #737c83;border-style:dotted;border-top:none;border-left:none;border-right:none;cursor:pointer}.GlossaryItem-tooltip-content{--Glossary-bg: var(--color-bg-page, var(--white));--Glossary-color: var(--color-text-default, var(--gray20));--Glossary-shadow: var( --box-shadow-menu-light, 0 5px 10px rgba(0, 0, 0, 0.05), 0 2px 6px rgba(0, 0, 0, 0.025), 0 1px 3px rgba(0, 0, 0, 0.025) );background-color:var(--Glossary-bg);border:1px solid var(--color-border-default, rgba(0, 0, 0, 0.1));border-radius:var(--border-radius);box-shadow:var(--Glossary-shadow);color:var(--Glossary-color);font-size:15px;font-weight:400;line-height:1.5;padding:15px;text-align:left;width:350px}[data-color-mode=dark] .GlossaryItem-tooltip-content{--Glossary-bg: var(--gray15);--Glossary-color: var(--color-text-default, var(--white));--Glossary-shadow: var( --box-shadow-menu-dark, 0 1px 3px rgba(0, 0, 0, 0.025), 0 2px 6px rgba(0, 0, 0, 0.025), 0 5px 10px rgba(0, 0, 0, 0.05) )}@media(prefers-color-scheme: dark){[data-color-mode=auto] .GlossaryItem-tooltip-content{--Glossary-bg: var(--Tooltip-bg, var(--gray0));--Glossary-color: var(--color-text-default, var(--white));--Glossary-shadow: var( --box-shadow-menu-dark, 0 1px 3px rgba(0, 0, 0, 0.025), 0 2px 6px rgba(0, 0, 0, 0.025), 0 5px 10px rgba(0, 0, 0, 0.05) )}}.GlossaryItem-term{font-style:italic}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}:root{--markdown-text: inherit;--markdown-title: inherit;--markdown-title-font: inherit;--markdown-font: inherit;--markdown-font-size: inherit;--markdown-line-height: 1.5}.field-description,.markdown-body{color:var(--markdown-text);font-family:var(--markdown-font);line-height:var(--markdown-line-height);position:relative;text-size-adjust:100%;word-wrap:break-word;font-size:var(--markdown-font-size, 14px)}.field-description::before,.field-description::after,.markdown-body::before,.markdown-body::after{content:"";display:table}.field-description::after,.markdown-body::after{clear:both}.field-description ul,.markdown-body ul{list-style:initial}.field-description .anchor,.markdown-body .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.field-description .anchor:focus,.markdown-body .anchor:focus{outline:0}.field-description h1:hover .anchor,.field-description h2:hover .anchor,.field-description h3:hover .anchor,.field-description h4:hover .anchor,.field-description h5:hover .anchor,.field-description h6:hover .anchor,.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.field-description details,.markdown-body details{display:block}.field-description summary,.markdown-body summary{display:list-item}.field-description a,.markdown-body a{transition:.15s ease}.field-description a:hover,.markdown-body a:hover{text-decoration:underline}.field-description a:active,.field-description a:hover,.markdown-body a:active,.markdown-body a:hover{outline-width:0}.field-description a:not([href]),.markdown-body a:not([href]){color:inherit;text-decoration:none}.field-description strong,.markdown-body strong{font-weight:inherit;font-weight:bolder}.field-description h1,.markdown-body h1{font-size:2em;margin:.67em 0}.field-description hr,.markdown-body hr{background:rgba(0,0,0,0);border-bottom:1px solid var(--markdown-edge, #dfe2e5);border-width:0 0 1px;box-sizing:content-box;height:0;margin:15px 0;overflow:hidden}.field-description hr::before,.field-description hr::after,.markdown-body hr::before,.markdown-body hr::after{content:"";display:table}.field-description hr::after,.markdown-body hr::after{clear:both}.field-description input,.markdown-body input{font:inherit;margin:0}.field-description input,.markdown-body input{overflow:visible}.field-description [type=checkbox],.markdown-body [type=checkbox]{box-sizing:border-box;padding:0}.field-description *,.markdown-body *{box-sizing:border-box}.field-description input,.markdown-body input{font-family:inherit;font-size:inherit;line-height:inherit}.field-description strong,.markdown-body strong{font-weight:600}.field-description details summary,.markdown-body details summary{cursor:pointer}.field-description h1,.field-description h2,.field-description h3,.field-description h4,.field-description h5,.field-description h6,.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--markdown-title);font-family:var(--markdown-title-font);font-size:var(--markdown-title-size);font-weight:var(--markdown-title-weight, 600);line-height:1.25;margin-bottom:var(--markdown-title-marginBottom, 1rem);margin-top:var(--markdown-title-marginTop, 1em)}.field-description h1,.markdown-body h1{font-size:1.75em;font-size:var(--markdown-title-size, 1.75em)}.field-description h2,.markdown-body h2{font-size:1.5em;font-size:var(--markdown-title-size, 1.5em)}.field-description h1,.markdown-body h1{font-weight:700;font-weight:var(--markdown-title-weight, 700)}.field-description h2,.markdown-body h2{font-weight:600;font-weight:var(--markdown-title-weight, 600)}.field-description h3,.field-description h4,.markdown-body h3,.markdown-body h4{font-weight:600;font-weight:var(--markdown-title-weight, 600)}.field-description h3,.markdown-body h3{font-size:1.25em;font-size:var(--markdown-title-size, 1.25em)}.field-description h4,.markdown-body h4{font-size:1em;font-size:var(--markdown-title-size, 1em)}.field-description h5,.field-description h6,.markdown-body h5,.markdown-body h6{font-weight:600;font-weight:var(--markdown-title-weight, 600)}.field-description h5,.markdown-body h5{font-size:.875em;font-size:var(--markdown-title-size, 0.875em)}.field-description h6,.markdown-body h6{color:var(--markdown-title, #6a737d);font-size:.85em;font-size:var(--markdown-title-size, 0.85em)}.field-description p,.field-description .p,.markdown-body p,.markdown-body .p{margin-bottom:10px;margin-top:0}.field-description blockquote,.markdown-body blockquote{margin:0}.field-description ol,.field-description ul,.markdown-body ol,.markdown-body ul{margin-bottom:0;margin-top:0;padding-left:0}.field-description ol ol,.field-description ul ol,.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.field-description ol ol ol,.field-description ol ul ol,.field-description ul ol ol,.field-description ul ul ol,.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.field-description dd,.markdown-body dd{margin-left:0}.field-description input::-webkit-inner-spin-button,.field-description input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button,.markdown-body input::-webkit-outer-spin-button{appearance:none;appearance:none;margin:0}.field-description>:first-child,.markdown-body>:first-child{margin-top:0 !important}.field-description>:last-child,.markdown-body>:last-child{margin-bottom:0 !important}.field-description blockquote,.field-description dl,.field-description ol,.field-description p,.field-description pre,.field-description table,.field-description ul,.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-bottom:15px;margin-top:0}.field-description blockquote,.markdown-body blockquote{border-left:.25em solid #dfe2e5;color:#6a737d;display:block;padding:0 1em}.field-description blockquote>:first-child,.markdown-body blockquote>:first-child{margin-top:0}.field-description blockquote>:last-child,.markdown-body blockquote>:last-child{margin-bottom:0}.field-description ol,.field-description ul,.markdown-body ol,.markdown-body ul{padding-left:2em}.field-description ol ol,.field-description ol ul,.field-description ul ol,.field-description ul ul,.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-bottom:0;margin-top:0}.field-description li,.markdown-body li{clear:both;word-wrap:break-all}.field-description li>p,.markdown-body li>p{margin-top:1em}.field-description li+li,.markdown-body li+li{margin-top:.25em}.field-description dl,.markdown-body dl{padding:0}.field-description dl dt,.markdown-body dl dt{font-size:1em;font-style:italic;font-weight:600;margin-top:1em;padding:0}.field-description dl dd,.markdown-body dl dd{margin-bottom:1em;padding:0 1em}.field-description :checked+.radio-label,.markdown-body :checked+.radio-label{border-color:var(--project-color-primary);position:relative;z-index:1}.field-description .task-list-item,.markdown-body .task-list-item{list-style-type:none}.field-description .task-list-item+.task-list-item,.markdown-body .task-list-item+.task-list-item{margin-top:3px}.field-description .task-list-item input,.markdown-body .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}.field-description p.blank-line,.markdown-body p.blank-line{height:1.5em}.field-description h5,.field-description h6,.markdown-body h5,.markdown-body h6{font-size:.9em}.field-description blockquote h1:last-child,.field-description blockquote h2:last-child,.markdown-body blockquote h1:last-child,.markdown-body blockquote h2:last-child{border-bottom:0}.field-description>*,.markdown-body>*{margin-bottom:15px !important;margin-top:15px}.field-description .task-list-item input,.markdown-body .task-list-item input{margin:0 .5em .25em -1.25em}.field-description a[href],.field-description a:not([href=""]),.markdown-body a[href],.markdown-body a:not([href=""]){text-decoration:underline}
|
|
393
|
+
.markdown-body img.img-align-right,.markdown-body img[align=right],.markdown-body img[alt~=align-right]{float:right;margin-left:.75rem}.markdown-body img.img-align-left,.markdown-body img[align=left],.markdown-body img[alt~=align-left]{float:left;margin-right:.75rem}.markdown-body>.img,.markdown-body>img,.markdown-body figure>img,.markdown-body img.img-align-center,.markdown-body img[align=middle],.markdown-body img[align=center],.markdown-body img[alt~=align-center]{display:block}.markdown-body img{border-style:none;box-sizing:content-box;display:inline-block;margin-left:auto;margin-right:auto;max-width:100%;outline:none !important;vertical-align:middle}.markdown-body img[width=smart]{max-height:450px;max-width:100%;width:auto}.markdown-body img.border{border:1px solid rgba(0,0,0,.2)}.markdown-body figure{margin:15px auto}.markdown-body figure figcaption{font-size:.93em;font-style:italic;margin-top:8px;text-align:center}.markdown-body>.img,.markdown-body>img,.markdown-body figure>img{display:block}.markdown-body figure .img{display:block}.markdown-body .lightbox.open{align-items:center;background:rgba(255,255,255,.966);display:flex;flex-flow:nowrap column;height:100vh;justify-content:flex-start;left:0;margin-bottom:0;margin-top:0;overflow:hidden;overflow-y:scroll;position:fixed;top:0;user-select:none;width:100vw;z-index:9999999}.markdown-body .lightbox.open::after{content:"";cursor:pointer;display:inline-block;font:normal normal normal 2em/1 FontAwesome;font-size:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;opacity:1;position:fixed;right:1em;text-rendering:auto;top:1em;transform:translate(0, 0);transform:scale(1.5);transition:.3s .3s ease-in}.markdown-body .lightbox.open:not(.open)::after{opacity:0;transform:scale(0)}.markdown-body .lightbox.open .lightbox-inner{align-items:center;box-sizing:content-box;display:inline-flex;justify-content:center;margin:auto;min-height:calc(100vh + 8px);padding:0;position:relative}.markdown-body .lightbox.open img{height:auto !important;max-height:97.5vh !important;max-width:97.5vw !important;min-width:unset !important;width:auto !important}.markdown-body .lightbox.open img.border,.markdown-body .lightbox.open img:not([src$=".png"]):not([src$=".svg"]):not([src$=".jp2"]):not([src$=".tiff"]){box-shadow:0 .5em 3em -1em rgba(0,0,0,.2)}.markdown-body .lightbox.open img[src$=svg]{display:block !important;height:66vw !important;max-width:100% !important;min-width:200px !important;width:42vw !important}.markdown-body table{display:table;border-collapse:collapse;border-spacing:0;width:100%;color:var(--table-text)}.markdown-body table thead{color:var(--table-head-text, inherit)}.markdown-body table thead tr{background:var(--table-head, #f6f8fa)}.markdown-body table tr{background-color:var(--table-row, #fff)}.markdown-body table tr+tr{border-top:1px solid var(--table-edges, #dfe2e5)}.markdown-body table th,.markdown-body table thead td{font-weight:600}.markdown-body table th:empty,.markdown-body table thead td:empty{padding:0}.markdown-body table td,.markdown-body table th{padding:0;color:inherit;vertical-align:middle;border:1px solid var(--table-edges, #dfe2e5);padding:6px 13px}.markdown-body table td>:first-child,.markdown-body table td>:only-child,.markdown-body table th>:first-child,.markdown-body table th>:only-child{margin-top:0 !important}.markdown-body table td>:last-child,.markdown-body table td>:only-child,.markdown-body table th>:last-child,.markdown-body table th>:only-child{margin-bottom:0 !important}.markdown-body table:not(.plain) tr:nth-child(2n){background-color:var(--table-stripe, #fbfcfd)}.markdown-body .rdmd-table{display:block;position:relative}.markdown-body .rdmd-table-inner{box-sizing:content-box;min-width:100%;overflow:auto;width:100%}.markdown-body .rdmd-table table{border:1px solid var(--table-edges, #dfe2e5)}.markdown-body .rdmd-table table:only-child{margin:0 !important}.markdown-body .rdmd-table table:only-child thead th{background:inherit}.markdown-body .rdmd-table table:only-child td:last-child,.markdown-body .rdmd-table table:only-child th:last-child{border-right:none}.markdown-body .rdmd-table table:only-child thead tr,.markdown-body .rdmd-table table:only-child thead th:last-child{box-shadow:3px 0 0 var(--table-head)}.toc-list .glossary-tooltip{pointer-events:none}.markdown-body{--font-size: 90%}.markdown-body code,.markdown-body kbd,.markdown-body pre{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-family:var(--md-code-font, SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace);font-size:1em}.markdown-body code,.markdown-body pre{font-size:12px}.markdown-body pre{margin-bottom:0;margin-top:0}.markdown-body code{background-color:#f6f8fa;background-color:var(--md-code-background, #f6f8fa);border-radius:3px;color:var(--md-code-text);font-size:var(--font-size);margin:0;padding:.2em .4em}.markdown-body code>div[class*=cm-]{display:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{background:0 0;border:0;font-size:100%;margin:0;padding:0;white-space:pre;word-break:normal}.markdown-body pre{background-color:#f6f8fa;background-color:var(--md-code-background, #f6f8fa);color:inherit;color:var(--md-code-text, inherit);border-radius:3px;border-radius:var(--markdown-radius, 3px);border-radius:var(--md-code-radius, var(--markdown-radius, 3px));font-size:var(--font-size);line-height:1.45;overflow:auto;padding:1em}.markdown-body pre code.theme-dark{background-color:#242e34;background-color:var(--md-code-background, #242e34)}.markdown-body pre code{background-color:rgba(0,0,0,0);border:0;display:inline;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0;word-wrap:normal}.markdown-body kbd{background-color:#f6f8fa;background-color:var(--d-code-background, #f6f8fa);border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px 0 #c6cbd1;color:#444d56;display:inline-block;font-size:11px;line-height:10px;padding:3px 5px;vertical-align:middle}.markdown-body button.rdmd-code-copy{display:none !important}.markdown-body button.rdmd-code-copy{-webkit-appearance:unset;margin:.5em .6em 0 0;padding:.25em .7em;cursor:copy;color:inherit;color:var(--md-code-text, inherit);border:none;border-radius:3px;outline:none !important;background:inherit;background:var(--md-code-background, inherit);box-shadow:inset 0 0 0 1px rgba(170,170,170,.66),-1px 2px 6px -3px rgba(0,0,0,.1);transition:.15s ease-out}.markdown-body button.rdmd-code-copy:not(:hover):before,.markdown-body button.rdmd-code-copy:not(:hover):after{opacity:.66}.markdown-body button.rdmd-code-copy:hover:not(:active){box-shadow:inset 0 0 0 1px rgba(139,139,139,.75),-1px 2px 6px -3px rgba(0,0,0,.2)}.markdown-body button.rdmd-code-copy:active{box-shadow:inset 0 0 0 1px rgba(139,139,139,.5),inset 1px 4px 6px -2px rgba(0,0,0,.175)}.markdown-body button.rdmd-code-copy:active:before,.markdown-body button.rdmd-code-copy:active:after{opacity:.75}.markdown-body button.rdmd-code-copy:before,.markdown-body button.rdmd-code-copy:after{display:inline-block;font-family:"Font Awesome 6 Pro"}.markdown-body button.rdmd-code-copy:before{content:"";transition:.3s .15s ease}.markdown-body button.rdmd-code-copy:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.33);opacity:0 !important;transition:.3s 0s ease}.markdown-body button.rdmd-code-copy_copied{pointer-events:none}.markdown-body button.rdmd-code-copy_copied,.markdown-body button.rdmd-code-copy_copied *{color:green !important;color:var(--md-code-text, green) !important;opacity:1}.markdown-body button.rdmd-code-copy_copied:before{transition:.3s 0s ease;transform:scale(0.33);opacity:0 !important}.markdown-body button.rdmd-code-copy_copied:after{transition:.3s .15s ease;transform:translate(-50%, -50%) scale(1);opacity:1 !important}.markdown-body pre{position:relative}.markdown-body pre>code{background:inherit}.markdown-body pre>code.theme-dark{color:#fff}.markdown-body pre button.rdmd-code-copy{display:inline-block !important;position:absolute;right:0;top:0}.markdown-body pre{overflow:hidden;padding:0}.markdown-body pre>code{display:block !important;overflow:auto;padding:1em;max-height:90vh}.markdown-body pre:hover button.rdmd-code-copy:not(:hover){transition-delay:.4s}.markdown-body pre:not(:hover) button.rdmd-code-copy:not(.rdmd-code-copy_copied){opacity:0 !important}.CodeTabs{color:#333;color:var(--md-code-text, #333);border-radius:var(--md-code-radius, var(--markdown-radius, 3px)) !important;overflow:hidden}.CodeTabs.theme-dark{color:#fff;color:var(--md-code-text, white)}.CodeTabs.theme-dark .CodeTabs-toolbar{background:#373737;background:var(--md-code-tabs, #373737)}.CodeTabs-toolbar{background:#ebedef;background:var(--md-code-tabs, #ebedef);display:flex;flex-flow:row nowrap;overflow:hidden;overflow-x:auto;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.CodeTabs-toolbar::-webkit-scrollbar{display:none}.CodeTabs-toolbar button{white-space:nowrap;transition:.123s ease;-webkit-appearance:none;appearance:none;display:inline-block;line-height:2;padding:.5em 1em;border:none;background:rgba(0,0,0,0);outline:none;color:inherit;font:inherit;font-size:.75em;cursor:pointer}.CodeTabs.CodeTabs_initial .CodeTabs-toolbar button:first-child,.CodeTabs-toolbar button.CodeTabs_active{background:#f6f8fa;background:var(--md-code-background, #F6F8FA);color:#000;color:var(--md-code-text, black);pointer-events:none}.CodeTabs.theme-dark.CodeTabs_initial .CodeTabs-toolbar button:first-child,.CodeTabs.theme-dark .CodeTabs-toolbar button.CodeTabs_active{background:#242e34;background:var(--md-code-background, #242E34);color:#fff;color:var(--md-code-text, white)}.CodeTabs-toolbar button:not(.CodeTabs_active):hover{background:rgba(0,0,0,.075)}.CodeTabs pre{border-radius:0 0 var(--md-code-radius, var(--markdown-radius, 3px)) var(--md-code-radius, var(--markdown-radius, 3px)) !important;background:#f6f8fa;background:var(--md-code-background, #F6F8FA);margin-bottom:0}.CodeTabs pre:not(.CodeTabs_active){display:none}.CodeTabs.theme-dark pre{background:#242e34;background:var(--md-code-background, #242E34)}.CodeTabs.CodeTabs_initial pre:first-child{display:block}.callout{--emoji: 1em;--icon-font: var(--fa-style-family, "Font Awesome 6 Pro", FontAwesome);border-top-right-radius:var(--markdown-radius);border-bottom-right-radius:var(--markdown-radius)}.callout.callout{--background: #f8f8f9;--border: #8b939c}.callout.callout{background:var(--background);border-color:var(--border);color:var(--text);padding:1.33rem}.callout.callout_info{--background: #e3edf2;--title: #46b8da;--border: #5bc0de}.callout.callout_warn,.callout.callout_warning{--background: #fcf8f2;--title: #eea236;--border: #f0ad4e}.callout.callout_ok,.callout.callout_okay,.callout.callout_success{--background: #f3f8f3;--title: #489e49;--border: #50af51}.callout.callout_err,.callout.callout_error{--background: #fdf7f7;--title: #d43f3a;--border: #d9534f}.callout.callout>*{margin-left:1.33rem;position:relative}.callout.callout ul,.callout.callout ol{padding-left:1.3em}.callout.callout a{color:inherit}.callout.callout hr{border-color:var(--border, var(--markdown-edge, #eee))}.callout.callout blockquote{color:var(--text);border-color:var(--border);border-width:3px;padding:0 0 0 .8em}.callout.callout .callout-heading{color:var(--title, --text);font-family:var(--markdown-title-font);font-size:1.25em;font-weight:var(--markdown-title-weight, 600);line-height:1.25;margin-bottom:calc(1.33rem*.5)}.callout.callout .callout-heading:only-child{margin-bottom:0}.callout.callout .callout-heading.empty{float:left;margin-top:calc(1.33rem*.5)}.callout.callout .callout-heading.empty .callout-icon{line-height:0}.callout.callout .callout-heading>*{color:inherit;margin:0}.callout.callout .callout-heading:before{position:absolute;right:100%;width:2.4em;text-align:center;font:normal normal normal 1em/1 var(--icon-font)}.callout.callout .callout-icon{float:left;margin-left:calc(-1.33rem - .5em);margin-right:-0.25rem}.callout-icon{font-size:var(--emoji, 0);color:var(--icon-color, inherit) !important}.callout-icon:before{content:var(--icon);font-family:var(--icon-font);font-size:var(--icon-size, 1rem);font-weight:var(--icon-weight, 400);position:absolute;top:50%;transform:translate(-50%, -50%);display:inline-block;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.rdmdCallouts--useIconFont .callout{--emoji: unset}.rdmdCallouts--useIconFont .callout_okay{--icon: ""}.rdmdCallouts--useIconFont .callout_info{--icon: ""}.rdmdCallouts--useIconFont .callout_warn{--icon: ""}.rdmdCallouts--useIconFont .callout_error{--icon: ""}.rdmdCallouts--useIconFont .callout_default{--emoji: 1rem}.heading.heading{display:flex;justify-content:flex-start;align-items:center;position:relative}.heading.heading .heading-text{flex:1 100%}.heading.heading .heading-anchor-deprecated{position:absolute;top:0}.heading.heading .heading-anchor{top:-1rem !important}.heading.heading .heading-anchor,.heading.heading .heading-anchor-icon{position:absolute !important;display:inline !important;order:-1;right:100%;top:unset !important;margin-right:-0.8rem;padding:.8rem .2rem .8rem 0 !important;font-size:.8rem !important;text-decoration:none;color:inherit;transform:translateX(-100%);transition:.2s ease}.heading.heading .heading-anchor:hover,.heading.heading .heading-anchor-icon:hover{opacity:1}.heading.heading:not(:hover) .heading-anchor-icon{opacity:0}.markdown-body .embed{padding:15px;color:var(--md-code-text, inherit);border-radius:var(--md-code-radius, var(--markdown-radius, 3px));border-radius:3px;background:rgba(0,0,0,0);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);transition:.3s ease}.markdown-body .embed:hover{background:var(--md-code-background, #f6f8fa);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.markdown-body>.embed_hasImg:nth-of-type(odd){margin-right:30px;padding-right:0}.markdown-body>.embed_hasImg:nth-of-type(odd) .embed-link{flex-direction:row-reverse}.markdown-body>.embed_hasImg:nth-of-type(odd) .embed-img{margin-left:.88em;margin-right:-30px;box-shadow:-0.3em .3em .9em -0.3em rgba(0,0,0,.15)}.markdown-body>.embed_hasImg:nth-of-type(even){margin-left:30px;padding-left:0}.markdown-body>.embed_hasImg:nth-of-type(even) .embed-img{margin-left:-30px}.markdown-body .embed:empty{display:none}.markdown-body .embed-media{display:flex;justify-content:center}.markdown-body .embed-media>:only-child{flex:1;margin:-15px;border-radius:0 !important}.markdown-body .embed-link{display:flex;align-items:center;color:var(--markdown-text, #333);text-decoration:none !important}.markdown-body .embed-body{flex:1;line-height:1.3}.markdown-body .embed-body,.markdown-body .embed-body .embed-title{font-size:1.15em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.markdown-body .embed-body .embed-provider{display:block;text-decoration-color:rgba(0,0,0,0) !important;opacity:.88}.markdown-body .embed-body-url{opacity:.75}.markdown-body .embed-provider{font-size:.8em;line-height:1.6;transition:.2 ease}.markdown-body .embed-provider code:only-child{display:block;width:100%;font-size:1.15em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:rgba(0,0,0,0);margin:0;padding:0;font-size:inherit !important}.markdown-body .embed-provider code{opacity:.8}.markdown-body .embed-img{width:5em;max-width:5em;margin:0 .88em 0 0;padding:4px;background:#fff;border:1px solid rgba(0,0,0,.15);border-radius:3px;transition:inherit;box-shadow:.3em .3em .9em -0.3em rgba(0,0,0,.15)}.markdown-body .embed:not(:hover) .embed-img{box-shadow:0 .25em 1em -0.5em rgba(0,0,0,.133)}.markdown-body .embed:hover .embed-img{border:1px solid rgba(0,0,0,.2)}.markdown-body .embed-favicon{width:12px !important;height:12px !important;margin-top:4px;margin-right:6px;margin-bottom:12px}.GlossaryItem-trigger{border-bottom:1px solid #737c83;border-style:dotted;border-top:none;border-left:none;border-right:none;cursor:pointer}.GlossaryItem-tooltip-content{--Glossary-bg: var(--color-bg-page, var(--white));--Glossary-color: var(--color-text-default, var(--gray20));--Glossary-shadow: var( --box-shadow-menu-light, 0 5px 10px rgba(0, 0, 0, 0.05), 0 2px 6px rgba(0, 0, 0, 0.025), 0 1px 3px rgba(0, 0, 0, 0.025) );background-color:var(--Glossary-bg);border:1px solid var(--color-border-default, rgba(0, 0, 0, 0.1));border-radius:var(--border-radius);box-shadow:var(--Glossary-shadow);color:var(--Glossary-color);font-size:15px;font-weight:400;line-height:1.5;padding:15px;text-align:left;width:350px}[data-color-mode=dark] .GlossaryItem-tooltip-content{--Glossary-bg: var(--gray15);--Glossary-color: var(--color-text-default, var(--white));--Glossary-shadow: var( --box-shadow-menu-dark, 0 1px 3px rgba(0, 0, 0, 0.025), 0 2px 6px rgba(0, 0, 0, 0.025), 0 5px 10px rgba(0, 0, 0, 0.05) )}@media(prefers-color-scheme: dark){[data-color-mode=auto] .GlossaryItem-tooltip-content{--Glossary-bg: var(--Tooltip-bg, var(--gray0));--Glossary-color: var(--color-text-default, var(--white));--Glossary-shadow: var( --box-shadow-menu-dark, 0 1px 3px rgba(0, 0, 0, 0.025), 0 2px 6px rgba(0, 0, 0, 0.025), 0 5px 10px rgba(0, 0, 0, 0.05) )}}.GlossaryItem-term{font-style:italic}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}:root{--markdown-text: inherit;--markdown-title: inherit;--markdown-title-font: inherit;--markdown-font: inherit;--markdown-font-size: inherit;--markdown-line-height: 1.5}.field-description,.markdown-body{color:var(--markdown-text);font-family:var(--markdown-font);line-height:var(--markdown-line-height);position:relative;text-size-adjust:100%;word-wrap:break-word;font-size:var(--markdown-font-size, 14px)}.field-description::before,.field-description::after,.markdown-body::before,.markdown-body::after{content:"";display:table}.field-description::after,.markdown-body::after{clear:both}.field-description ul,.markdown-body ul{list-style:initial}.field-description .anchor,.markdown-body .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.field-description .anchor:focus,.markdown-body .anchor:focus{outline:0}.field-description h1:hover .anchor,.field-description h2:hover .anchor,.field-description h3:hover .anchor,.field-description h4:hover .anchor,.field-description h5:hover .anchor,.field-description h6:hover .anchor,.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.field-description details,.markdown-body details{display:block}.field-description summary,.markdown-body summary{display:list-item}.field-description a,.markdown-body a{transition:.15s ease}.field-description a:hover,.markdown-body a:hover{text-decoration:underline}.field-description a:active,.field-description a:hover,.markdown-body a:active,.markdown-body a:hover{outline-width:0}.field-description a:not([href]),.markdown-body a:not([href]){color:inherit;text-decoration:none}.field-description strong,.markdown-body strong{font-weight:inherit;font-weight:bolder}.field-description h1,.markdown-body h1{font-size:2em;margin:.67em 0}.field-description hr,.markdown-body hr{background:rgba(0,0,0,0);border-bottom:1px solid var(--markdown-edge, #dfe2e5);border-width:0 0 1px;box-sizing:content-box;height:0;margin:15px 0;overflow:hidden}.field-description hr::before,.field-description hr::after,.markdown-body hr::before,.markdown-body hr::after{content:"";display:table}.field-description hr::after,.markdown-body hr::after{clear:both}.field-description input,.markdown-body input{font:inherit;margin:0}.field-description input,.markdown-body input{overflow:visible}.field-description [type=checkbox],.markdown-body [type=checkbox]{box-sizing:border-box;padding:0}.field-description *,.markdown-body *{box-sizing:border-box}.field-description input,.markdown-body input{font-family:inherit;font-size:inherit;line-height:inherit}.field-description strong,.markdown-body strong{font-weight:600}.field-description details summary,.markdown-body details summary{cursor:pointer}.field-description h1,.field-description h2,.field-description h3,.field-description h4,.field-description h5,.field-description h6,.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--markdown-title);font-family:var(--markdown-title-font);font-size:var(--markdown-title-size);font-weight:var(--markdown-title-weight, 600);line-height:1.25;margin-bottom:var(--markdown-title-marginBottom, 1rem);margin-top:var(--markdown-title-marginTop, 1em)}.field-description h1,.markdown-body h1{font-size:1.75em;font-size:var(--markdown-title-size, 1.75em)}.field-description h2,.markdown-body h2{font-size:1.5em;font-size:var(--markdown-title-size, 1.5em)}.field-description h1,.markdown-body h1{font-weight:700;font-weight:var(--markdown-title-weight, 700)}.field-description h2,.markdown-body h2{font-weight:600;font-weight:var(--markdown-title-weight, 600)}.field-description h3,.field-description h4,.markdown-body h3,.markdown-body h4{font-weight:600;font-weight:var(--markdown-title-weight, 600)}.field-description h3,.markdown-body h3{font-size:1.25em;font-size:var(--markdown-title-size, 1.25em)}.field-description h4,.markdown-body h4{font-size:1em;font-size:var(--markdown-title-size, 1em)}.field-description h5,.field-description h6,.markdown-body h5,.markdown-body h6{font-weight:600;font-weight:var(--markdown-title-weight, 600)}.field-description h5,.markdown-body h5{font-size:.875em;font-size:var(--markdown-title-size, 0.875em)}.field-description h6,.markdown-body h6{color:var(--markdown-title, #6a737d);font-size:.85em;font-size:var(--markdown-title-size, 0.85em)}.field-description p,.field-description .p,.markdown-body p,.markdown-body .p{margin-bottom:10px;margin-top:0}.field-description blockquote,.markdown-body blockquote{margin:0}.field-description ol,.field-description ul,.markdown-body ol,.markdown-body ul{margin-bottom:0;margin-top:0;padding-left:0}.field-description ol ol,.field-description ul ol,.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.field-description ol ol ol,.field-description ol ul ol,.field-description ul ol ol,.field-description ul ul ol,.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.field-description dd,.markdown-body dd{margin-left:0}.field-description input::-webkit-inner-spin-button,.field-description input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button,.markdown-body input::-webkit-outer-spin-button{appearance:none;appearance:none;margin:0}.field-description>:first-child,.markdown-body>:first-child{margin-top:0 !important}.field-description>:last-child,.markdown-body>:last-child{margin-bottom:0 !important}.field-description blockquote,.field-description dl,.field-description ol,.field-description p,.field-description pre,.field-description table,.field-description ul,.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-bottom:15px;margin-top:0}.field-description blockquote,.markdown-body blockquote{border-left:.25em solid #dfe2e5;color:#6a737d;display:block;padding:0 1em}.field-description blockquote>:first-child,.markdown-body blockquote>:first-child{margin-top:0}.field-description blockquote>:last-child,.markdown-body blockquote>:last-child{margin-bottom:0}.field-description ol,.field-description ul,.markdown-body ol,.markdown-body ul{padding-left:2em}.field-description ol ol,.field-description ol ul,.field-description ul ol,.field-description ul ul,.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-bottom:0;margin-top:0}.field-description li,.markdown-body li{clear:both;word-wrap:break-all}.field-description li>p,.markdown-body li>p{margin-top:1em}.field-description li+li,.markdown-body li+li{margin-top:.25em}.field-description dl,.markdown-body dl{padding:0}.field-description dl dt,.markdown-body dl dt{font-size:1em;font-style:italic;font-weight:600;margin-top:1em;padding:0}.field-description dl dd,.markdown-body dl dd{margin-bottom:1em;padding:0 1em}.field-description :checked+.radio-label,.markdown-body :checked+.radio-label{border-color:var(--project-color-primary);position:relative;z-index:1}.field-description .task-list-item,.markdown-body .task-list-item{list-style-type:none}.field-description .task-list-item+.task-list-item,.markdown-body .task-list-item+.task-list-item{margin-top:3px}.field-description .task-list-item input,.markdown-body .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}.field-description p.blank-line,.markdown-body p.blank-line{height:1.5em}.field-description h5,.field-description h6,.markdown-body h5,.markdown-body h6{font-size:.9em}.field-description blockquote h1:last-child,.field-description blockquote h2:last-child,.markdown-body blockquote h1:last-child,.markdown-body blockquote h2:last-child{border-bottom:0}.field-description>*,.markdown-body>*{margin-bottom:15px !important;margin-top:15px}.field-description .task-list-item input,.markdown-body .task-list-item input{margin:0 .5em .25em -1.25em}.field-description a[href],.field-description a:not([href=""]),.markdown-body a[href],.markdown-body a:not([href=""]){text-decoration:underline}
|
package/dist/main.js
CHANGED
|
@@ -13310,7 +13310,7 @@ const Accordion = ({ children, icon, iconColor, title }) => {
|
|
|
13310
13310
|
const [isOpen, setIsOpen] = (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useState)(false);
|
|
13311
13311
|
return (external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("details", { className: "Accordion", onToggle: () => setIsOpen(!isOpen) },
|
|
13312
13312
|
external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("summary", { className: "Accordion-title" },
|
|
13313
|
-
external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("i", { className: `Accordion-toggleIcon${isOpen ? '_opened' : ''}
|
|
13313
|
+
external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("i", { className: `Accordion-toggleIcon${isOpen ? '_opened' : ''} fa fa-regular fa-chevron-right` }),
|
|
13314
13314
|
icon && external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("i", { className: `Accordion-icon fa-duotone fa-solid ${icon}`, style: { color: `${iconColor}` } }),
|
|
13315
13315
|
title),
|
|
13316
13316
|
external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("div", { className: "Accordion-content" }, children)));
|
|
@@ -13534,16 +13534,16 @@ if (typeof window !== 'undefined') {
|
|
|
13534
13534
|
}
|
|
13535
13535
|
function CopyCode({ codeRef, rootClass = 'rdmd-code-copy', className = '' }) {
|
|
13536
13536
|
const copyClass = `${rootClass}_copied`;
|
|
13537
|
-
const
|
|
13537
|
+
const buttonRef = (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.createRef)();
|
|
13538
13538
|
const copier = () => {
|
|
13539
13539
|
const code = codeRef.current.textContent;
|
|
13540
13540
|
if (copy_to_clipboard_default()(code)) {
|
|
13541
|
-
const el =
|
|
13541
|
+
const el = buttonRef.current;
|
|
13542
13542
|
el.classList.add(copyClass);
|
|
13543
13543
|
setTimeout(() => el.classList.remove(copyClass), 1500);
|
|
13544
13544
|
}
|
|
13545
13545
|
};
|
|
13546
|
-
return external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("button", { ref:
|
|
13546
|
+
return external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("button", { ref: buttonRef, "aria-label": "Copy Code", className: `${rootClass} ${className}`, onClick: copier });
|
|
13547
13547
|
}
|
|
13548
13548
|
const Code = (props) => {
|
|
13549
13549
|
var _a;
|
|
@@ -13764,7 +13764,7 @@ const Image = (Props) => {
|
|
|
13764
13764
|
return;
|
|
13765
13765
|
setLightbox(!lightbox);
|
|
13766
13766
|
};
|
|
13767
|
-
if (caption) {
|
|
13767
|
+
if (children || caption) {
|
|
13768
13768
|
return (external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.createElement("figure", null,
|
|
13769
13769
|
external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.createElement("span", { "aria-label": alt, className: `img lightbox ${lightbox ? 'open' : 'closed'}`, onClick: toggle, onKeyDown: handleKeyDown, role: 'button', tabIndex: 0 },
|
|
13770
13770
|
external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.createElement("span", { className: "lightbox-inner" },
|
|
@@ -47789,11 +47789,11 @@ const calloutTransformer = () => {
|
|
|
47789
47789
|
|
|
47790
47790
|
|
|
47791
47791
|
const isCode = (node) => (node === null || node === void 0 ? void 0 : node.type) === 'code';
|
|
47792
|
-
const codeTabsTransformer = () => (tree) => {
|
|
47792
|
+
const codeTabsTransformer = ({ copyButtons } = {}) => (tree) => {
|
|
47793
47793
|
visit(tree, 'code', (node) => {
|
|
47794
47794
|
const { lang, meta, value } = node;
|
|
47795
47795
|
node.data = {
|
|
47796
|
-
hProperties: { lang, meta, value },
|
|
47796
|
+
hProperties: { lang, meta, value, copyButtons },
|
|
47797
47797
|
};
|
|
47798
47798
|
});
|
|
47799
47799
|
visit(tree, 'code', (node, index, parent) => {
|
|
@@ -65530,7 +65530,14 @@ const compatibilityTransfomer = () => tree => {
|
|
|
65530
65530
|
|
|
65531
65531
|
|
|
65532
65532
|
|
|
65533
|
-
|
|
65533
|
+
const defaultTransforms = {
|
|
65534
|
+
calloutTransformer: callouts,
|
|
65535
|
+
codeTabsTransformer: code_tabs,
|
|
65536
|
+
embedTransformer: transform_embeds,
|
|
65537
|
+
imageTransformer: transform_images,
|
|
65538
|
+
gemojiTransformer: gemoji_,
|
|
65539
|
+
};
|
|
65540
|
+
/* harmony default export */ const transform = (Object.values(defaultTransforms));
|
|
65534
65541
|
|
|
65535
65542
|
;// CONCATENATED MODULE: ./node_modules/rehype-slug/node_modules/github-slugger/regex.js
|
|
65536
65543
|
// This module is generated by `script/`.
|
|
@@ -78190,11 +78197,17 @@ var compile_rest = (undefined && undefined.__rest) || function (s, e) {
|
|
|
78190
78197
|
|
|
78191
78198
|
|
|
78192
78199
|
|
|
78193
|
-
const
|
|
78200
|
+
const { codeTabsTransformer: compile_codeTabsTransformer } = defaultTransforms, transforms = compile_rest(defaultTransforms, ["codeTabsTransformer"]);
|
|
78194
78201
|
const compile_compile = (text, _a = {}) => {
|
|
78195
|
-
var { components } = _a, opts = compile_rest(_a, ["components"]);
|
|
78202
|
+
var { components, copyButtons } = _a, opts = compile_rest(_a, ["components", "copyButtons"]);
|
|
78196
78203
|
try {
|
|
78197
|
-
const vfile = compileSync(text, Object.assign({ outputFormat: 'function-body', providerImportSource: '#', remarkPlugins:
|
|
78204
|
+
const vfile = compileSync(text, Object.assign({ outputFormat: 'function-body', providerImportSource: '#', remarkPlugins: [
|
|
78205
|
+
remarkFrontmatter,
|
|
78206
|
+
remarkGfm,
|
|
78207
|
+
...Object.values(transforms),
|
|
78208
|
+
[compile_codeTabsTransformer, { copyButtons }],
|
|
78209
|
+
transform_variables,
|
|
78210
|
+
], rehypePlugins: [...rehypePlugins, [rehypeToc, { components }]] }, opts));
|
|
78198
78211
|
return String(vfile).replace(/await import\(_resolveDynamicMdxSpecifier\(('react'|"react")\)\)/, 'arguments[0].imports.React');
|
|
78199
78212
|
}
|
|
78200
78213
|
catch (error) {
|
|
@@ -93976,7 +93989,16 @@ const compatibility = (node) => {
|
|
|
93976
93989
|
case NodeTypes.reusableContent:
|
|
93977
93990
|
return `<${node.tag} />`;
|
|
93978
93991
|
case 'html':
|
|
93979
|
-
|
|
93992
|
+
// @note: We can't do anything about inline spans. remark only parses the
|
|
93993
|
+
// tags as html, so we can't tell where the html starts or stops. But, we
|
|
93994
|
+
// can still fix void nodes and comments.
|
|
93995
|
+
//
|
|
93996
|
+
// @ts-expect-error
|
|
93997
|
+
return node.block ||
|
|
93998
|
+
node.value.match(/<!--.*-->/s) ||
|
|
93999
|
+
node.value.match(/<(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)\b/)
|
|
94000
|
+
? compatibility_html(node)
|
|
94001
|
+
: node.value;
|
|
93980
94002
|
case 'escape':
|
|
93981
94003
|
return `\\${node.value}`;
|
|
93982
94004
|
case 'figure':
|
package/dist/main.node.js
CHANGED
|
@@ -7857,7 +7857,7 @@ const Accordion = ({ children, icon, iconColor, title }) => {
|
|
|
7857
7857
|
const [isOpen, setIsOpen] = (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useState)(false);
|
|
7858
7858
|
return (external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("details", { className: "Accordion", onToggle: () => setIsOpen(!isOpen) },
|
|
7859
7859
|
external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("summary", { className: "Accordion-title" },
|
|
7860
|
-
external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("i", { className: `Accordion-toggleIcon${isOpen ? '_opened' : ''}
|
|
7860
|
+
external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("i", { className: `Accordion-toggleIcon${isOpen ? '_opened' : ''} fa fa-regular fa-chevron-right` }),
|
|
7861
7861
|
icon && external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("i", { className: `Accordion-icon fa-duotone fa-solid ${icon}`, style: { color: `${iconColor}` } }),
|
|
7862
7862
|
title),
|
|
7863
7863
|
external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("div", { className: "Accordion-content" }, children)));
|
|
@@ -8014,16 +8014,16 @@ if (typeof window !== 'undefined') {
|
|
|
8014
8014
|
}
|
|
8015
8015
|
function CopyCode({ codeRef, rootClass = 'rdmd-code-copy', className = '' }) {
|
|
8016
8016
|
const copyClass = `${rootClass}_copied`;
|
|
8017
|
-
const
|
|
8017
|
+
const buttonRef = (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.createRef)();
|
|
8018
8018
|
const copier = () => {
|
|
8019
8019
|
const code = codeRef.current.textContent;
|
|
8020
8020
|
if (copy_to_clipboard_default()(code)) {
|
|
8021
|
-
const el =
|
|
8021
|
+
const el = buttonRef.current;
|
|
8022
8022
|
el.classList.add(copyClass);
|
|
8023
8023
|
setTimeout(() => el.classList.remove(copyClass), 1500);
|
|
8024
8024
|
}
|
|
8025
8025
|
};
|
|
8026
|
-
return external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("button", { ref:
|
|
8026
|
+
return external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("button", { ref: buttonRef, "aria-label": "Copy Code", className: `${rootClass} ${className}`, onClick: copier });
|
|
8027
8027
|
}
|
|
8028
8028
|
const Code = (props) => {
|
|
8029
8029
|
var _a;
|
|
@@ -13188,7 +13188,7 @@ const Image = (Props) => {
|
|
|
13188
13188
|
return;
|
|
13189
13189
|
setLightbox(!lightbox);
|
|
13190
13190
|
};
|
|
13191
|
-
if (caption) {
|
|
13191
|
+
if (children || caption) {
|
|
13192
13192
|
return (external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.createElement("figure", null,
|
|
13193
13193
|
external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.createElement("span", { "aria-label": alt, className: `img lightbox ${lightbox ? 'open' : 'closed'}`, onClick: toggle, onKeyDown: handleKeyDown, role: 'button', tabIndex: 0 },
|
|
13194
13194
|
external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.createElement("span", { className: "lightbox-inner" },
|
|
@@ -48776,11 +48776,11 @@ const calloutTransformer = () => {
|
|
|
48776
48776
|
|
|
48777
48777
|
|
|
48778
48778
|
const isCode = (node) => (node === null || node === void 0 ? void 0 : node.type) === 'code';
|
|
48779
|
-
const codeTabsTransformer = () => (tree) => {
|
|
48779
|
+
const codeTabsTransformer = ({ copyButtons } = {}) => (tree) => {
|
|
48780
48780
|
visit(tree, 'code', (node) => {
|
|
48781
48781
|
const { lang, meta, value } = node;
|
|
48782
48782
|
node.data = {
|
|
48783
|
-
hProperties: { lang, meta, value },
|
|
48783
|
+
hProperties: { lang, meta, value, copyButtons },
|
|
48784
48784
|
};
|
|
48785
48785
|
});
|
|
48786
48786
|
visit(tree, 'code', (node, index, parent) => {
|
|
@@ -66517,7 +66517,14 @@ const compatibilityTransfomer = () => tree => {
|
|
|
66517
66517
|
|
|
66518
66518
|
|
|
66519
66519
|
|
|
66520
|
-
|
|
66520
|
+
const defaultTransforms = {
|
|
66521
|
+
calloutTransformer: callouts,
|
|
66522
|
+
codeTabsTransformer: code_tabs,
|
|
66523
|
+
embedTransformer: transform_embeds,
|
|
66524
|
+
imageTransformer: transform_images,
|
|
66525
|
+
gemojiTransformer: gemoji_,
|
|
66526
|
+
};
|
|
66527
|
+
/* harmony default export */ const transform = (Object.values(defaultTransforms));
|
|
66521
66528
|
|
|
66522
66529
|
;// CONCATENATED MODULE: ./node_modules/rehype-slug/node_modules/github-slugger/regex.js
|
|
66523
66530
|
// This module is generated by `script/`.
|
|
@@ -79177,11 +79184,17 @@ var compile_rest = (undefined && undefined.__rest) || function (s, e) {
|
|
|
79177
79184
|
|
|
79178
79185
|
|
|
79179
79186
|
|
|
79180
|
-
const
|
|
79187
|
+
const { codeTabsTransformer: compile_codeTabsTransformer } = defaultTransforms, transforms = compile_rest(defaultTransforms, ["codeTabsTransformer"]);
|
|
79181
79188
|
const compile_compile = (text, _a = {}) => {
|
|
79182
|
-
var { components } = _a, opts = compile_rest(_a, ["components"]);
|
|
79189
|
+
var { components, copyButtons } = _a, opts = compile_rest(_a, ["components", "copyButtons"]);
|
|
79183
79190
|
try {
|
|
79184
|
-
const vfile = compileSync(text, Object.assign({ outputFormat: 'function-body', providerImportSource: '#', remarkPlugins:
|
|
79191
|
+
const vfile = compileSync(text, Object.assign({ outputFormat: 'function-body', providerImportSource: '#', remarkPlugins: [
|
|
79192
|
+
remarkFrontmatter,
|
|
79193
|
+
remarkGfm,
|
|
79194
|
+
...Object.values(transforms),
|
|
79195
|
+
[compile_codeTabsTransformer, { copyButtons }],
|
|
79196
|
+
transform_variables,
|
|
79197
|
+
], rehypePlugins: [...rehypePlugins, [rehypeToc, { components }]] }, opts));
|
|
79185
79198
|
return String(vfile).replace(/await import\(_resolveDynamicMdxSpecifier\(('react'|"react")\)\)/, 'arguments[0].imports.React');
|
|
79186
79199
|
}
|
|
79187
79200
|
catch (error) {
|
|
@@ -94963,7 +94976,16 @@ const compatibility = (node) => {
|
|
|
94963
94976
|
case NodeTypes.reusableContent:
|
|
94964
94977
|
return `<${node.tag} />`;
|
|
94965
94978
|
case 'html':
|
|
94966
|
-
|
|
94979
|
+
// @note: We can't do anything about inline spans. remark only parses the
|
|
94980
|
+
// tags as html, so we can't tell where the html starts or stops. But, we
|
|
94981
|
+
// can still fix void nodes and comments.
|
|
94982
|
+
//
|
|
94983
|
+
// @ts-expect-error
|
|
94984
|
+
return node.block ||
|
|
94985
|
+
node.value.match(/<!--.*-->/s) ||
|
|
94986
|
+
node.value.match(/<(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)\b/)
|
|
94987
|
+
? compatibility_html(node)
|
|
94988
|
+
: node.value;
|
|
94967
94989
|
case 'escape':
|
|
94968
94990
|
return `\\${node.value}`;
|
|
94969
94991
|
case 'figure':
|
|
@@ -6,5 +6,16 @@ import variablesTransformer from './variables';
|
|
|
6
6
|
import tablesToJsx from './tables-to-jsx';
|
|
7
7
|
import compatabilityTransfomer from './compatability';
|
|
8
8
|
export { compatabilityTransfomer, divTransformer, readmeComponentsTransformer, readmeToMdx, injectComponents, variablesTransformer, tablesToJsx, };
|
|
9
|
-
declare const
|
|
9
|
+
export declare const defaultTransforms: {
|
|
10
|
+
calloutTransformer: () => (tree: any) => void;
|
|
11
|
+
codeTabsTransformer: ({ copyButtons }?: {
|
|
12
|
+
copyButtons?: boolean;
|
|
13
|
+
}) => (tree: import("mdast").Node) => import("mdast").Node;
|
|
14
|
+
embedTransformer: () => (tree: import("mdast").Node) => void;
|
|
15
|
+
imageTransformer: () => (tree: import("mdast").Node) => import("mdast").Node;
|
|
16
|
+
gemojiTransformer: () => (tree: import("mdast").Root) => import("mdast").Root;
|
|
17
|
+
};
|
|
18
|
+
declare const _default: ((() => (tree: any) => void) | (({ copyButtons }?: {
|
|
19
|
+
copyButtons?: boolean;
|
|
20
|
+
}) => (tree: import("mdast").Node) => import("mdast").Node) | (() => (tree: import("mdast").Node) => void) | (() => (tree: import("mdast").Node) => import("mdast").Node) | (() => (tree: import("mdast").Root) => import("mdast").Root))[];
|
|
10
21
|
export default _default;
|
package/package.json
CHANGED