jobsys-explore 4.6.21 → 4.7.0
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/.eslintignore +3 -3
- package/CHANGELOG.md +542 -542
- package/README.md +41 -41
- package/TODOs.md +8 -8
- package/business-components/survey/ExSurvey.jsx +193 -193
- package/business-components/survey/index.js +5 -5
- package/business-components/survey/index.less +36 -36
- package/components/button/ExButton.jsx +120 -120
- package/components/button/index.js +4 -4
- package/components/button/index.less +7 -7
- package/components/decorator/ExDecorator.jsx +31 -31
- package/components/decorator/index.js +5 -5
- package/components/decorator/index.less +76 -76
- package/components/form/ExAddress.jsx +195 -195
- package/components/form/ExCascader.jsx +171 -171
- package/components/form/ExCheckbox.jsx +59 -59
- package/components/form/ExDate.jsx +143 -143
- package/components/form/ExDatetime.jsx +166 -166
- package/components/form/ExField.jsx +138 -138
- package/components/form/ExFieldUploader.jsx +50 -50
- package/components/form/ExForm.jsx +544 -544
- package/components/form/ExMatrixCheckbox.jsx +99 -99
- package/components/form/ExMatrixRadio.jsx +86 -86
- package/components/form/ExMatrixScale.jsx +97 -97
- package/components/form/ExNumber.jsx +51 -51
- package/components/form/ExRadio.jsx +58 -58
- package/components/form/ExRate.jsx +51 -51
- package/components/form/ExSelect.jsx +251 -251
- package/components/form/ExSlider.jsx +55 -55
- package/components/form/ExSwitch.jsx +51 -51
- package/components/form/ExTime.jsx +99 -99
- package/components/form/FormItem.jsx +307 -307
- package/components/form/PickerWrapper.jsx +120 -120
- package/components/form/index.js +46 -46
- package/components/form/index.less +178 -178
- package/components/form/utils.js +62 -62
- package/components/grid/ExGrid.jsx +53 -53
- package/components/grid/index.js +4 -4
- package/components/grid/index.less +2 -2
- package/components/index.js +12 -12
- package/components/pagination/ExPagination.jsx +457 -440
- package/components/pagination/index.js +5 -5
- package/components/pagination/index.less +3 -3
- package/components/provider/ExProvider.jsx +173 -173
- package/components/qrcode/ExQrcode.jsx +86 -86
- package/components/qrcode/index.js +5 -5
- package/components/qrcode/index.less +8 -8
- package/components/result/ExResult.jsx +122 -122
- package/components/result/index.js +5 -5
- package/components/result/index.less +59 -59
- package/components/search/ExSearch.jsx +370 -326
- package/components/search/components/Expand.jsx +77 -77
- package/components/search/components/Field.jsx +27 -27
- package/components/search/components/Quick.jsx +57 -57
- package/components/search/components/index.js +5 -5
- package/components/search/index.js +5 -5
- package/components/search/index.less +118 -118
- package/components/search/utils.js +30 -30
- package/components/sector/ExSector.jsx +52 -52
- package/components/sector/README.md +26 -26
- package/components/sector/index.js +5 -5
- package/components/sector/index.less +122 -122
- package/components/theme/ExTheme.jsx +10 -10
- package/components/theme/index.js +4 -4
- package/components/theme/index.less +98 -98
- package/components/uploader/ExUploader.jsx +293 -293
- package/components/uploader/index.js +5 -5
- package/components/utils.js +187 -187
- package/directives/auth.js +113 -113
- package/directives/index.js +4 -4
- package/dist/cipher-98df1050.cjs.map +1 -1
- package/dist/cipher-f2ed5ee6.js.map +1 -1
- package/dist/directives.cjs.map +1 -1
- package/dist/directives.js.map +1 -1
- package/dist/hooks.cjs.map +1 -1
- package/dist/hooks.js.map +1 -1
- package/dist/jobsys-explore.cjs +6 -6
- package/dist/jobsys-explore.cjs.map +1 -1
- package/dist/jobsys-explore.js +464 -407
- package/dist/jobsys-explore.js.map +1 -1
- package/docgen.config.js +15 -15
- package/docs/.vuepress/.cache/deps/_metadata.json +52 -52
- package/docs/.vuepress/.cache/deps/lodash-es.js +8442 -8442
- package/docs/.vuepress/.cache/deps/lodash-es.js.map +7 -7
- package/docs/.vuepress/.temp/internal/clientConfigs.js +17 -17
- package/docs/.vuepress/.temp/internal/pagesComponents.js +24 -24
- package/docs/.vuepress/.temp/internal/pagesData.js +22 -22
- package/docs/.vuepress/.temp/internal/pagesRoutes.js +12 -12
- package/docs/.vuepress/.temp/internal/themeData.js +1 -1
- package/docs/.vuepress/.temp/pages/components/decorator/ExDecorator.html.js +1 -1
- package/docs/.vuepress/.temp/pages/components/decorator/ExDecorator.html.vue +37 -37
- package/docs/.vuepress/.temp/pages/components/sector/ExSector.html.js +1 -1
- package/docs/.vuepress/.temp/pages/components/sector/ExSector.html.vue +71 -71
- package/docs/.vuepress/.temp/styles/index.scss +1 -1
- package/docs/.vuepress/config.js +61 -61
- package/docs/.vuepress/dist/404.html +33 -33
- package/docs/.vuepress/dist/assets/404.html-a0ce2184.js +1 -1
- package/docs/.vuepress/dist/assets/ExButton.html-ad283101.js +1 -1
- package/docs/.vuepress/dist/assets/ExDecorator.html-42d09114.js +1 -1
- package/docs/.vuepress/dist/assets/ExDecorator.html-c82c5fe8.js +1 -1
- package/docs/.vuepress/dist/assets/ExForm.html-9e3f8000.js +1 -1
- package/docs/.vuepress/dist/assets/ExProvider.html-78fdc6cd.js +1 -1
- package/docs/.vuepress/dist/assets/ExSearch.html-103f6f34.js +1 -1
- package/docs/.vuepress/dist/assets/ExSector.html-a1e24c3a.js +7 -7
- package/docs/.vuepress/dist/assets/ExSector.html-cff3fefd.js +1 -1
- package/docs/.vuepress/dist/assets/ExUploader.html-8310e424.js +1 -1
- package/docs/.vuepress/dist/assets/app-29fe8d1e.js +10 -10
- package/docs/.vuepress/dist/assets/hooks.html-90ccbc1a.js +1 -1
- package/docs/.vuepress/dist/assets/index.html-85b79c97.js +43 -43
- package/docs/.vuepress/dist/assets/style-46d7e227.css +1 -1
- package/docs/.vuepress/dist/components/button/ExButton.html +33 -33
- package/docs/.vuepress/dist/components/decorator/ExDecorator.html +33 -33
- package/docs/.vuepress/dist/components/form/ExForm.html +33 -33
- package/docs/.vuepress/dist/components/provider/ExProvider.html +33 -33
- package/docs/.vuepress/dist/components/search/ExSearch.html +33 -33
- package/docs/.vuepress/dist/components/sector/ExSector.html +39 -39
- package/docs/.vuepress/dist/components/uploader/ExUploader.html +33 -33
- package/docs/.vuepress/dist/hooks.html +33 -33
- package/docs/.vuepress/dist/index.html +75 -75
- package/docs/.vuepress/styles/index.scss +7 -7
- package/docs/components/decorator/ExDecorator.md +14 -14
- package/docs/components/sector/ExSector.md +43 -43
- package/docs/index.md +82 -82
- package/hooks/cipher.js +44 -44
- package/hooks/datetime.js +69 -69
- package/hooks/form.js +188 -188
- package/hooks/utils.js +282 -282
- package/index.html +17 -17
- package/package.json +1 -1
- package/playground/App.vue +191 -191
- package/playground/TestButton.vue +61 -61
- package/playground/TestCascader.vue +2442 -2442
- package/playground/TestDecorator.vue +14 -14
- package/playground/TestForm.vue +429 -429
- package/playground/TestFormItem.vue +110 -110
- package/playground/TestGrid.vue +22 -22
- package/playground/TestPagination.vue +1250 -1248
- package/playground/TestQrcode.vue +7 -7
- package/playground/TestResult.vue +12 -12
- package/playground/TestSearch.vue +115 -115
- package/playground/TestSector.vue +15 -15
- package/playground/TestSurvey.vue +27 -27
- package/playground/TestUploader.vue +14 -14
- package/playground/main.js +22 -22
- package/utils/style.js +13 -13
- package/vite.config.js +54 -54
- package/.changeset/blue-spiders-roll.md +0 -5
- package/.changeset/cyan-monkeys-draw.md +0 -5
- package/.changeset/dry-feet-float.md +0 -5
- package/.changeset/empty-mice-share.md +0 -5
- package/.changeset/famous-yaks-doubt.md +0 -5
- package/.changeset/five-fans-type.md +0 -5
- package/.changeset/funny-hats-drop.md +0 -5
- package/.changeset/khaki-cobras-bathe.md +0 -5
- package/.changeset/khaki-forks-shave.md +0 -5
- package/.changeset/lazy-yaks-crash.md +0 -5
- package/.changeset/light-cycles-flow.md +0 -5
- package/.changeset/loud-mirrors-explain.md +0 -5
- package/.changeset/lovely-balloons-protect.md +0 -5
- package/.changeset/mean-pens-travel.md +0 -5
- package/.changeset/moody-doors-grow.md +0 -5
- package/.changeset/moody-laws-change.md +0 -5
- package/.changeset/nasty-goats-joke.md +0 -5
- package/.changeset/odd-forks-drop.md +0 -5
- package/.changeset/olive-windows-suffer.md +0 -5
- package/.changeset/popular-carpets-jog.md +0 -5
- package/.changeset/popular-planets-play.md +0 -5
- package/.changeset/rare-gorillas-boil.md +0 -5
- package/.changeset/rare-moose-teach.md +0 -5
- package/.changeset/sharp-tools-hope.md +0 -5
- package/.changeset/slimy-sloths-refuse.md +0 -5
- package/.changeset/slow-boats-search.md +0 -5
- package/.changeset/small-experts-bake.md +0 -5
- package/.changeset/smooth-horses-tie.md +0 -5
- package/.changeset/tame-feet-reply.md +0 -5
- package/.changeset/tidy-items-reflect.md +0 -5
- package/.changeset/weak-chicken-admire.md +0 -5
- package/.changeset/weak-rockets-compare.md +0 -5
- package/.changeset/wild-glasses-bathe.md +0 -5
- package/.changeset/wise-ears-turn.md +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as t,o as d,c as e,a}from"./app-29fe8d1e.js";const o={},r=a('<h2 id="constants" tabindex="-1"><a class="header-anchor" href="#constants" aria-hidden="true">#</a> Constants</h2><dl><dt><a href="#STATUS">STATUS</a> : <code>Object</code></dt><dd><p>请求返回状态码</p></dd><dt><a href="#usePage">usePage</a></dt><dd><p>分页请求</p></dd></dl><h2 id="functions" tabindex="-1"><a class="header-anchor" href="#functions" aria-hidden="true">#</a> Functions</h2><dl><dt><a href="#useSm2">useSm2()</a></dt><dd><p>国密 sm2</p></dd><dt><a href="#useSm3">useSm3(msg, [options])</a> ⇒ <code>*</code></dt><dd><p>国密 sm3 加密</p></dd><dt><a href="#useSm4Encrypt">useSm4Encrypt(msg, key, [options])</a> ⇒ <code>Uint8Array</code></dt><dd><p>国密 sm4 加密</p></dd><dt><a href="#useSm4Decrypt">useSm4Decrypt(encryptData, key, [options])</a> ⇒ <code>Uint8Array</code></dt><dd><p>国密 sm4 解密</p></dd><dt><a href="#useDayjs">useDayjs(date, [format])</a> ⇒ <code>dayjs.Dayjs</code></dt><dd><p>根据格式创建 Dayjs 对象</p></dd><dt><a href="#useDateFormat">useDateFormat(date, format)</a> ⇒ <code>string</code></dt><dd><p>格式化日期</p></dd><dt><a href="#useDateUnix">useDateUnix(date)</a> ⇒ <code>number</code> | <code>string</code></dt><dd><p>获取日期的 Unix 时间戳</p></dd><dt><a href="#useTimestampFormat">useTimestampFormat(timestamp, [format])</a> ⇒ <code>string</code></dt><dd><p>根据时间戳格式化日期</p></dd><dt><a href="#useHiddenForm">useHiddenForm(options)</a> ⇒ <code>HTMLFormElement</code></dt><dd><p>创建一个隐藏的表单</p></dd><dt><a href="#useProcessStatus">useProcessStatus(res, ops)</a></dt><dd><p>处理请求结果</p></dd><dt><a href="#useProcessStatusSuccess">useProcessStatusSuccess(res, success)</a></dt><dd><p>处理正确请求结果</p></dd><dt><a href="#useFormFail">useFormFail(e)</a></dt><dd><p>处理表单提交失败</p></dd><dt><a href="#useFormFormat">useFormFormat(form, [format])</a> ⇒ <code>Object</code></dt><dd><p>处理表单数据</p></dd><dt><a href="#useFetch">useFetch([fetcher])</a> ⇒ <code>Object</code></dt><dd><p>通用 AJAX 请求</p></dd><dt><a href="#get">get(url, [config])</a> ⇒ <code>Promise.<unknown></code></dt><dd><p>get请求</p></dd><dt><a href="#post">post(url, data, [config])</a> ⇒ <code>Promise.<unknown></code></dt><dd><p>post请求</p></dd><dt><a href="#useTextFromOptionsValue">useTextFromOptionsValue(value, options)</a> ⇒ <code>*</code> | <code>string</code> | <code>string</code></dt><dd><p>从 options 中根据 value 获取 text</p></dd><dt><a href="#useFindTextsInValues">useFindTextsInValues(options, values, [adapter])</a> ⇒</dt><dd><p>从嵌套的 options 中根据 value 获取 text, 如 [1, 3] => ["东", "南"]</p></dd><dt><a href="#useFindLabelsFromPath">useFindLabelsFromPath(options, path, [adapter])</a> ⇒</dt><dd><p>从嵌套的 options 中根据 value 获取 label</p></dd><dt><a href="#useFindTextsFromPath">useFindTextsFromPath(options, path, [adapter])</a> ⇒</dt><dd><p>[移动端适配] 从嵌套的 options 中根据 value 获取 text</p></dd><dt><a href="#useFindParentValues">useFindParentValues(options, value, adapter)</a> ⇒</dt><dd><p>从嵌套的 options 中根据 value 获取整个 values 路径, 如地区路径: 440113 => [440000, 440100, 440113]</p></dd></dl><p><a name="STATUS"></a></p><h2 id="status-object" tabindex="-1"><a class="header-anchor" href="#status-object" aria-hidden="true">#</a> STATUS : <code>Object</code></h2><p>请求返回状态码</p><p><strong>Kind</strong>: global constant<br><a name="usePage"></a></p><h2 id="usepage" tabindex="-1"><a class="header-anchor" href="#usepage" aria-hidden="true">#</a> usePage</h2><p>分页请求</p><p><strong>Kind</strong>: global constant</p><table><thead><tr><th>Param</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>pagination</td><td><code>object</code></td><td>分页对象</td></tr><tr><td>pagination.uri</td><td><code>string</code></td><td>请求地址</td></tr><tr><td>[pagination.params]</td><td><code>object</code></td><td>请求参数</td></tr><tr><td>[pagination.page]</td><td><code>number</code></td><td>当前页码</td></tr><tr><td>[pagination.finishedText]</td><td><code>string</code></td><td>加载完毕文本</td></tr><tr><td>[pagination.loading]</td><td><code>boolean</code></td><td>加载状态</td></tr><tr><td>[pagination.finished]</td><td><code>boolean</code></td><td>加载完毕</td></tr><tr><td>[pagination.error]</td><td><code>boolean</code></td><td>是否错误</td></tr><tr><td>[pagination.errorText]</td><td><code>string</code></td><td>错误文本</td></tr><tr><td>[pagination.empty]</td><td><code>boolean</code></td><td>是否无内容</td></tr><tr><td>[pagination.items]</td><td><code>array</code></td><td>分页数据</td></tr><tr><td>refresh</td><td><code>boolean</code></td><td>是否刷新</td></tr><tr><td>[process]</td><td><code>function</code></td><td>数据处理函数</td></tr></tbody></table><p><a name="useSm2"></a></p><h2 id="usesm2" tabindex="-1"><a class="header-anchor" href="#usesm2" aria-hidden="true">#</a> useSm2()</h2><p>国密 sm2</p><p><strong>Kind</strong>: global function<br><a name="useSm3"></a></p><h2 id="usesm3-msg-options-⇒" tabindex="-1"><a class="header-anchor" href="#usesm3-msg-options-⇒" aria-hidden="true">#</a> useSm3(msg, [options]) ⇒ <code>*</code></h2><p>国密 sm3 加密</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th></tr></thead><tbody><tr><td>msg</td><td></td></tr><tr><td>[options]</td><td><code>Object</code></td></tr></tbody></table><p><a name="useSm4Encrypt"></a></p><h2 id="usesm4encrypt-msg-key-options-⇒-uint8array" tabindex="-1"><a class="header-anchor" href="#usesm4encrypt-msg-key-options-⇒-uint8array" aria-hidden="true">#</a> useSm4Encrypt(msg, key, [options]) ⇒ <code>Uint8Array</code></h2><p>国密 sm4 加密</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th></tr></thead><tbody><tr><td>msg</td><td></td></tr><tr><td>key</td><td></td></tr><tr><td>[options]</td><td><code>Object</code></td></tr></tbody></table><p><a name="useSm4Decrypt"></a></p><h2 id="usesm4decrypt-encryptdata-key-options-⇒-uint8array" tabindex="-1"><a class="header-anchor" href="#usesm4decrypt-encryptdata-key-options-⇒-uint8array" aria-hidden="true">#</a> useSm4Decrypt(encryptData, key, [options]) ⇒ <code>Uint8Array</code></h2><p>国密 sm4 解密</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th></tr></thead><tbody><tr><td>encryptData</td><td></td></tr><tr><td>key</td><td></td></tr><tr><td>[options]</td><td><code>Object</code></td></tr></tbody></table><p><a name="useDayjs"></a></p><h2 id="usedayjs-date-format-⇒-dayjs-dayjs" tabindex="-1"><a class="header-anchor" href="#usedayjs-date-format-⇒-dayjs-dayjs" aria-hidden="true">#</a> useDayjs(date, [format]) ⇒ <code>dayjs.Dayjs</code></h2><p>根据格式创建 Dayjs 对象</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>date</td><td><code>string</code> | <code>number</code></td><td></td></tr><tr><td>[format]</td><td><code>string</code></td><td>日期格式</td></tr></tbody></table><p><a name="useDateFormat"></a></p><h2 id="usedateformat-date-format-⇒-string" tabindex="-1"><a class="header-anchor" href="#usedateformat-date-format-⇒-string" aria-hidden="true">#</a> useDateFormat(date, format) ⇒ <code>string</code></h2><p>格式化日期</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th></tr></thead><tbody><tr><td>date</td><td><code>dayjs.Dayjs</code> | <code>Date</code></td></tr><tr><td>format</td><td><code>string</code></td></tr></tbody></table><p><a name="useDateUnix"></a></p><h2 id="usedateunix-date-⇒-number-string" tabindex="-1"><a class="header-anchor" href="#usedateunix-date-⇒-number-string" aria-hidden="true">#</a> useDateUnix(date) ⇒ <code>number</code> | <code>string</code></h2><p>获取日期的 Unix 时间戳</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th></tr></thead><tbody><tr><td>date</td><td><code>dayjs.Dayjs</code> | <code>Date</code></td></tr></tbody></table><p><a name="useTimestampFormat"></a></p><h2 id="usetimestampformat-timestamp-format-⇒-string" tabindex="-1"><a class="header-anchor" href="#usetimestampformat-timestamp-format-⇒-string" aria-hidden="true">#</a> useTimestampFormat(timestamp, [format]) ⇒ <code>string</code></h2><p>根据时间戳格式化日期</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Description</th></tr></thead><tbody><tr><td>timestamp</td><td>时间戳</td></tr><tr><td>[format]</td><td>日期格式</td></tr></tbody></table><p><a name="useHiddenForm"></a></p><h2 id="usehiddenform-options-⇒-htmlformelement" tabindex="-1"><a class="header-anchor" href="#usehiddenform-options-⇒-htmlformelement" aria-hidden="true">#</a> useHiddenForm(options) ⇒ <code>HTMLFormElement</code></h2><p>创建一个隐藏的表单</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th></tr></thead><tbody><tr><td>options</td><td><code>Object</code></td></tr><tr><td>options.url</td><td><code>string</code></td></tr><tr><td>options.data</td><td><code>Object</code></td></tr><tr><td>[options.method]</td><td><code>string</code></td></tr><tr><td>options.csrfToken</td><td><code>string</code></td></tr></tbody></table><p><a name="useProcessStatus"></a></p><h2 id="useprocessstatus-res-ops" tabindex="-1"><a class="header-anchor" href="#useprocessstatus-res-ops" aria-hidden="true">#</a> useProcessStatus(res, ops)</h2><p>处理请求结果</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>res</td><td><code>object</code></td><td>请求结果</td></tr><tr><td>res.status</td><td><code>string</code></td><td>请求结果状态</td></tr><tr><td>res.result</td><td><code>*</code></td><td>请求结果信息</td></tr><tr><td>ops</td><td><code>Object.<string, (string|function())></code></td><td>状态的处理对象</td></tr></tbody></table><p><a name="useProcessStatusSuccess"></a></p><h2 id="useprocessstatussuccess-res-success" tabindex="-1"><a class="header-anchor" href="#useprocessstatussuccess-res-success" aria-hidden="true">#</a> useProcessStatusSuccess(res, success)</h2><p>处理正确请求结果</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>res</td><td><code>object</code></td><td>请求结果</td></tr><tr><td>res.status</td><td><code>string</code></td><td>请求结果状态</td></tr><tr><td>res.result</td><td><code>*</code></td><td>请求结果信息</td></tr><tr><td>success</td><td><code>string</code> | <code>function</code></td><td>状态的处理对象</td></tr></tbody></table><p><a name="useFormFail"></a></p><h2 id="useformfail-e" tabindex="-1"><a class="header-anchor" href="#useformfail-e" aria-hidden="true">#</a> useFormFail(e)</h2><p>处理表单提交失败</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th></tr></thead><tbody><tr><td>e</td><td><code>*</code></td></tr></tbody></table><p><a name="useFormFormat"></a></p><h2 id="useformformat-form-format-⇒-object" tabindex="-1"><a class="header-anchor" href="#useformformat-form-format-⇒-object" aria-hidden="true">#</a> useFormFormat(form, [format]) ⇒ <code>Object</code></h2><p>处理表单数据</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>form</td><td><code>Object</code></td><td></td></tr><tr><td>[format]</td><td><code>Object</code></td><td>需要处理的类型</td></tr><tr><td>[format.date]</td><td><code>boolean</code> | <code>string</code> | <code>function</code></td><td><code>true</code>: 转成时间戳,<code>string</code>: 为 Format 格式, 如 <code>"YYYY-MM-DD"</code>, <code>function</code>: 自定义处理函数, 参数为 dayjs 对象</td></tr><tr><td>[format.boolean]</td><td><code>boolean</code></td><td>布尔值处理, 如果开启则 <code>true</code> 转成 1, <code>false</code> 转成 0</td></tr><tr><td>[format.attachment]</td><td><code>string</code> | <code>function</code></td><td><code>string</code>: 附件字段名, <code>function</code>: 自定义处理函数, 参数为附件对象</td></tr></tbody></table><p><a name="useFetch"></a></p><h2 id="usefetch-fetcher-⇒-object" tabindex="-1"><a class="header-anchor" href="#usefetch-fetcher-⇒-object" aria-hidden="true">#</a> useFetch([fetcher]) ⇒ <code>Object</code></h2><p>通用 AJAX 请求</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>[fetcher]</td><td><code>Object</code></td><td>用于存储请求状态的对象</td></tr></tbody></table><p><a name="get"></a></p><h2 id="get-url-config-⇒-promise-unknown" tabindex="-1"><a class="header-anchor" href="#get-url-config-⇒-promise-unknown" aria-hidden="true">#</a> get(url, [config]) ⇒ <code>Promise.<unknown></code></h2><p>get请求</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>url</td><td></td><td></td></tr><tr><td>[config]</td><td><code>Object</code></td><td>axios config</td></tr></tbody></table><p><a name="post"></a></p><h2 id="post-url-data-config-⇒-promise-unknown" tabindex="-1"><a class="header-anchor" href="#post-url-data-config-⇒-promise-unknown" aria-hidden="true">#</a> post(url, data, [config]) ⇒ <code>Promise.<unknown></code></h2><p>post请求</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>url</td><td><code>string</code></td><td></td></tr><tr><td>data</td><td><code>Object</code></td><td></td></tr><tr><td>[config]</td><td><code>Object</code></td><td>axios config</td></tr></tbody></table><p><a name="useTextFromOptionsValue"></a></p><h2 id="usetextfromoptionsvalue-value-options-⇒-string-string" tabindex="-1"><a class="header-anchor" href="#usetextfromoptionsvalue-value-options-⇒-string-string" aria-hidden="true">#</a> useTextFromOptionsValue(value, options) ⇒ <code>*</code> | <code>string</code> | <code>string</code></h2><p>从 options 中根据 value 获取 text</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th></tr></thead><tbody><tr><td>value</td></tr><tr><td>options</td></tr></tbody></table><p><a name="useFindTextsInValues"></a></p><h2 id="usefindtextsinvalues-options-values-adapter-⇒" tabindex="-1"><a class="header-anchor" href="#usefindtextsinvalues-options-values-adapter-⇒" aria-hidden="true">#</a> useFindTextsInValues(options, values, [adapter]) ⇒</h2><p>从嵌套的 options 中根据 value 获取 text, 如 [1, 3] => ["东", "南"]</p><p><strong>Kind</strong>: global function<br><strong>Returns</strong>: Array</p><table><thead><tr><th>Param</th><th>Type</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td>options</td><td><code>Array</code></td><td></td><td>嵌套的选项</td></tr><tr><td>values</td><td><code>Array</code></td><td></td><td>需要查找的值</td></tr><tr><td>[adapter]</td><td><code>Object</code></td><td><code>{value: "value",label: "label",children: "children"}</code></td><td>选项适配器</td></tr></tbody></table><p><a name="useFindLabelsFromPath"></a></p><h2 id="usefindlabelsfrompath-options-path-adapter-⇒" tabindex="-1"><a class="header-anchor" href="#usefindlabelsfrompath-options-path-adapter-⇒" aria-hidden="true">#</a> useFindLabelsFromPath(options, path, [adapter]) ⇒</h2><p>从嵌套的 options 中根据 value 获取 label</p><p><strong>Kind</strong>: global function<br><strong>Returns</strong>: Array</p><table><thead><tr><th>Param</th><th>Type</th></tr></thead><tbody><tr><td>options</td><td><code>Array</code></td></tr><tr><td>path</td><td><code>Array</code></td></tr><tr><td>[adapter]</td><td><code>Object</code></td></tr></tbody></table><p><a name="useFindTextsFromPath"></a></p><h2 id="usefindtextsfrompath-options-path-adapter-⇒" tabindex="-1"><a class="header-anchor" href="#usefindtextsfrompath-options-path-adapter-⇒" aria-hidden="true">#</a> useFindTextsFromPath(options, path, [adapter]) ⇒</h2><p>[移动端适配] 从嵌套的 options 中根据 value 获取 text</p><p><strong>Kind</strong>: global function<br><strong>Returns</strong>: Array</p><table><thead><tr><th>Param</th><th>Type</th></tr></thead><tbody><tr><td>options</td><td><code>Array</code></td></tr><tr><td>path</td><td><code>Array</code></td></tr><tr><td>[adapter]</td><td><code>Object</code></td></tr></tbody></table><p><a name="useFindParentValues"></a></p><h2 id="usefindparentvalues-options-value-adapter-⇒" tabindex="-1"><a class="header-anchor" href="#usefindparentvalues-options-value-adapter-⇒" aria-hidden="true">#</a> useFindParentValues(options, value, adapter) ⇒</h2><p>从嵌套的 options 中根据 value 获取整个 values 路径, 如地区路径: 440113 => [440000, 440100, 440113]</p><p><strong>Kind</strong>: global function<br><strong>Returns</strong>: Array</p><table><thead><tr><th>Param</th></tr></thead><tbody><tr><td>options</td></tr><tr><td>value</td></tr><tr><td>adapter</td></tr></tbody></table>',115),s=[r];function n(c,i){return d(),e("div",null,s)}const h=t(o,[["render",n],["__file","hooks.html.vue"]]);export{h as default};
|
|
1
|
+
import{_ as t,o as d,c as e,a}from"./app-29fe8d1e.js";const o={},r=a('<h2 id="constants" tabindex="-1"><a class="header-anchor" href="#constants" aria-hidden="true">#</a> Constants</h2><dl><dt><a href="#STATUS">STATUS</a> : <code>Object</code></dt><dd><p>请求返回状态码</p></dd><dt><a href="#usePage">usePage</a></dt><dd><p>分页请求</p></dd></dl><h2 id="functions" tabindex="-1"><a class="header-anchor" href="#functions" aria-hidden="true">#</a> Functions</h2><dl><dt><a href="#useSm2">useSm2()</a></dt><dd><p>国密 sm2</p></dd><dt><a href="#useSm3">useSm3(msg, [options])</a> ⇒ <code>*</code></dt><dd><p>国密 sm3 加密</p></dd><dt><a href="#useSm4Encrypt">useSm4Encrypt(msg, key, [options])</a> ⇒ <code>Uint8Array</code></dt><dd><p>国密 sm4 加密</p></dd><dt><a href="#useSm4Decrypt">useSm4Decrypt(encryptData, key, [options])</a> ⇒ <code>Uint8Array</code></dt><dd><p>国密 sm4 解密</p></dd><dt><a href="#useDayjs">useDayjs(date, [format])</a> ⇒ <code>dayjs.Dayjs</code></dt><dd><p>根据格式创建 Dayjs 对象</p></dd><dt><a href="#useDateFormat">useDateFormat(date, format)</a> ⇒ <code>string</code></dt><dd><p>格式化日期</p></dd><dt><a href="#useDateUnix">useDateUnix(date)</a> ⇒ <code>number</code> | <code>string</code></dt><dd><p>获取日期的 Unix 时间戳</p></dd><dt><a href="#useTimestampFormat">useTimestampFormat(timestamp, [format])</a> ⇒ <code>string</code></dt><dd><p>根据时间戳格式化日期</p></dd><dt><a href="#useHiddenForm">useHiddenForm(options)</a> ⇒ <code>HTMLFormElement</code></dt><dd><p>创建一个隐藏的表单</p></dd><dt><a href="#useProcessStatus">useProcessStatus(res, ops)</a></dt><dd><p>处理请求结果</p></dd><dt><a href="#useProcessStatusSuccess">useProcessStatusSuccess(res, success)</a></dt><dd><p>处理正确请求结果</p></dd><dt><a href="#useFormFail">useFormFail(e)</a></dt><dd><p>处理表单提交失败</p></dd><dt><a href="#useFormFormat">useFormFormat(form, [format])</a> ⇒ <code>Object</code></dt><dd><p>处理表单数据</p></dd><dt><a href="#useFetch">useFetch([fetcher])</a> ⇒ <code>Object</code></dt><dd><p>通用 AJAX 请求</p></dd><dt><a href="#get">get(url, [config])</a> ⇒ <code>Promise.<unknown></code></dt><dd><p>get请求</p></dd><dt><a href="#post">post(url, data, [config])</a> ⇒ <code>Promise.<unknown></code></dt><dd><p>post请求</p></dd><dt><a href="#useTextFromOptionsValue">useTextFromOptionsValue(value, options)</a> ⇒ <code>*</code> | <code>string</code> | <code>string</code></dt><dd><p>从 options 中根据 value 获取 text</p></dd><dt><a href="#useFindTextsInValues">useFindTextsInValues(options, values, [adapter])</a> ⇒</dt><dd><p>从嵌套的 options 中根据 value 获取 text, 如 [1, 3] => ["东", "南"]</p></dd><dt><a href="#useFindLabelsFromPath">useFindLabelsFromPath(options, path, [adapter])</a> ⇒</dt><dd><p>从嵌套的 options 中根据 value 获取 label</p></dd><dt><a href="#useFindTextsFromPath">useFindTextsFromPath(options, path, [adapter])</a> ⇒</dt><dd><p>[移动端适配] 从嵌套的 options 中根据 value 获取 text</p></dd><dt><a href="#useFindParentValues">useFindParentValues(options, value, adapter)</a> ⇒</dt><dd><p>从嵌套的 options 中根据 value 获取整个 values 路径, 如地区路径: 440113 => [440000, 440100, 440113]</p></dd></dl><p><a name="STATUS"></a></p><h2 id="status-object" tabindex="-1"><a class="header-anchor" href="#status-object" aria-hidden="true">#</a> STATUS : <code>Object</code></h2><p>请求返回状态码</p><p><strong>Kind</strong>: global constant<br><a name="usePage"></a></p><h2 id="usepage" tabindex="-1"><a class="header-anchor" href="#usepage" aria-hidden="true">#</a> usePage</h2><p>分页请求</p><p><strong>Kind</strong>: global constant</p><table><thead><tr><th>Param</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>pagination</td><td><code>object</code></td><td>分页对象</td></tr><tr><td>pagination.uri</td><td><code>string</code></td><td>请求地址</td></tr><tr><td>[pagination.params]</td><td><code>object</code></td><td>请求参数</td></tr><tr><td>[pagination.page]</td><td><code>number</code></td><td>当前页码</td></tr><tr><td>[pagination.finishedText]</td><td><code>string</code></td><td>加载完毕文本</td></tr><tr><td>[pagination.loading]</td><td><code>boolean</code></td><td>加载状态</td></tr><tr><td>[pagination.finished]</td><td><code>boolean</code></td><td>加载完毕</td></tr><tr><td>[pagination.error]</td><td><code>boolean</code></td><td>是否错误</td></tr><tr><td>[pagination.errorText]</td><td><code>string</code></td><td>错误文本</td></tr><tr><td>[pagination.empty]</td><td><code>boolean</code></td><td>是否无内容</td></tr><tr><td>[pagination.items]</td><td><code>array</code></td><td>分页数据</td></tr><tr><td>refresh</td><td><code>boolean</code></td><td>是否刷新</td></tr><tr><td>[process]</td><td><code>function</code></td><td>数据处理函数</td></tr></tbody></table><p><a name="useSm2"></a></p><h2 id="usesm2" tabindex="-1"><a class="header-anchor" href="#usesm2" aria-hidden="true">#</a> useSm2()</h2><p>国密 sm2</p><p><strong>Kind</strong>: global function<br><a name="useSm3"></a></p><h2 id="usesm3-msg-options-⇒" tabindex="-1"><a class="header-anchor" href="#usesm3-msg-options-⇒" aria-hidden="true">#</a> useSm3(msg, [options]) ⇒ <code>*</code></h2><p>国密 sm3 加密</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th></tr></thead><tbody><tr><td>msg</td><td></td></tr><tr><td>[options]</td><td><code>Object</code></td></tr></tbody></table><p><a name="useSm4Encrypt"></a></p><h2 id="usesm4encrypt-msg-key-options-⇒-uint8array" tabindex="-1"><a class="header-anchor" href="#usesm4encrypt-msg-key-options-⇒-uint8array" aria-hidden="true">#</a> useSm4Encrypt(msg, key, [options]) ⇒ <code>Uint8Array</code></h2><p>国密 sm4 加密</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th></tr></thead><tbody><tr><td>msg</td><td></td></tr><tr><td>key</td><td></td></tr><tr><td>[options]</td><td><code>Object</code></td></tr></tbody></table><p><a name="useSm4Decrypt"></a></p><h2 id="usesm4decrypt-encryptdata-key-options-⇒-uint8array" tabindex="-1"><a class="header-anchor" href="#usesm4decrypt-encryptdata-key-options-⇒-uint8array" aria-hidden="true">#</a> useSm4Decrypt(encryptData, key, [options]) ⇒ <code>Uint8Array</code></h2><p>国密 sm4 解密</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th></tr></thead><tbody><tr><td>encryptData</td><td></td></tr><tr><td>key</td><td></td></tr><tr><td>[options]</td><td><code>Object</code></td></tr></tbody></table><p><a name="useDayjs"></a></p><h2 id="usedayjs-date-format-⇒-dayjs-dayjs" tabindex="-1"><a class="header-anchor" href="#usedayjs-date-format-⇒-dayjs-dayjs" aria-hidden="true">#</a> useDayjs(date, [format]) ⇒ <code>dayjs.Dayjs</code></h2><p>根据格式创建 Dayjs 对象</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>date</td><td><code>string</code> | <code>number</code></td><td></td></tr><tr><td>[format]</td><td><code>string</code></td><td>日期格式</td></tr></tbody></table><p><a name="useDateFormat"></a></p><h2 id="usedateformat-date-format-⇒-string" tabindex="-1"><a class="header-anchor" href="#usedateformat-date-format-⇒-string" aria-hidden="true">#</a> useDateFormat(date, format) ⇒ <code>string</code></h2><p>格式化日期</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th></tr></thead><tbody><tr><td>date</td><td><code>dayjs.Dayjs</code> | <code>Date</code></td></tr><tr><td>format</td><td><code>string</code></td></tr></tbody></table><p><a name="useDateUnix"></a></p><h2 id="usedateunix-date-⇒-number-string" tabindex="-1"><a class="header-anchor" href="#usedateunix-date-⇒-number-string" aria-hidden="true">#</a> useDateUnix(date) ⇒ <code>number</code> | <code>string</code></h2><p>获取日期的 Unix 时间戳</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th></tr></thead><tbody><tr><td>date</td><td><code>dayjs.Dayjs</code> | <code>Date</code></td></tr></tbody></table><p><a name="useTimestampFormat"></a></p><h2 id="usetimestampformat-timestamp-format-⇒-string" tabindex="-1"><a class="header-anchor" href="#usetimestampformat-timestamp-format-⇒-string" aria-hidden="true">#</a> useTimestampFormat(timestamp, [format]) ⇒ <code>string</code></h2><p>根据时间戳格式化日期</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Description</th></tr></thead><tbody><tr><td>timestamp</td><td>时间戳</td></tr><tr><td>[format]</td><td>日期格式</td></tr></tbody></table><p><a name="useHiddenForm"></a></p><h2 id="usehiddenform-options-⇒-htmlformelement" tabindex="-1"><a class="header-anchor" href="#usehiddenform-options-⇒-htmlformelement" aria-hidden="true">#</a> useHiddenForm(options) ⇒ <code>HTMLFormElement</code></h2><p>创建一个隐藏的表单</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th></tr></thead><tbody><tr><td>options</td><td><code>Object</code></td></tr><tr><td>options.url</td><td><code>string</code></td></tr><tr><td>options.data</td><td><code>Object</code></td></tr><tr><td>[options.method]</td><td><code>string</code></td></tr><tr><td>options.csrfToken</td><td><code>string</code></td></tr></tbody></table><p><a name="useProcessStatus"></a></p><h2 id="useprocessstatus-res-ops" tabindex="-1"><a class="header-anchor" href="#useprocessstatus-res-ops" aria-hidden="true">#</a> useProcessStatus(res, ops)</h2><p>处理请求结果</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>res</td><td><code>object</code></td><td>请求结果</td></tr><tr><td>res.status</td><td><code>string</code></td><td>请求结果状态</td></tr><tr><td>res.result</td><td><code>*</code></td><td>请求结果信息</td></tr><tr><td>ops</td><td><code>Object.<string, (string|function())></code></td><td>状态的处理对象</td></tr></tbody></table><p><a name="useProcessStatusSuccess"></a></p><h2 id="useprocessstatussuccess-res-success" tabindex="-1"><a class="header-anchor" href="#useprocessstatussuccess-res-success" aria-hidden="true">#</a> useProcessStatusSuccess(res, success)</h2><p>处理正确请求结果</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>res</td><td><code>object</code></td><td>请求结果</td></tr><tr><td>res.status</td><td><code>string</code></td><td>请求结果状态</td></tr><tr><td>res.result</td><td><code>*</code></td><td>请求结果信息</td></tr><tr><td>success</td><td><code>string</code> | <code>function</code></td><td>状态的处理对象</td></tr></tbody></table><p><a name="useFormFail"></a></p><h2 id="useformfail-e" tabindex="-1"><a class="header-anchor" href="#useformfail-e" aria-hidden="true">#</a> useFormFail(e)</h2><p>处理表单提交失败</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th></tr></thead><tbody><tr><td>e</td><td><code>*</code></td></tr></tbody></table><p><a name="useFormFormat"></a></p><h2 id="useformformat-form-format-⇒-object" tabindex="-1"><a class="header-anchor" href="#useformformat-form-format-⇒-object" aria-hidden="true">#</a> useFormFormat(form, [format]) ⇒ <code>Object</code></h2><p>处理表单数据</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>form</td><td><code>Object</code></td><td></td></tr><tr><td>[format]</td><td><code>Object</code></td><td>需要处理的类型</td></tr><tr><td>[format.date]</td><td><code>boolean</code> | <code>string</code> | <code>function</code></td><td><code>true</code>: 转成时间戳,<code>string</code>: 为 Format 格式, 如 <code>"YYYY-MM-DD"</code>, <code>function</code>: 自定义处理函数, 参数为 dayjs 对象</td></tr><tr><td>[format.boolean]</td><td><code>boolean</code></td><td>布尔值处理, 如果开启则 <code>true</code> 转成 1, <code>false</code> 转成 0</td></tr><tr><td>[format.attachment]</td><td><code>string</code> | <code>function</code></td><td><code>string</code>: 附件字段名, <code>function</code>: 自定义处理函数, 参数为附件对象</td></tr></tbody></table><p><a name="useFetch"></a></p><h2 id="usefetch-fetcher-⇒-object" tabindex="-1"><a class="header-anchor" href="#usefetch-fetcher-⇒-object" aria-hidden="true">#</a> useFetch([fetcher]) ⇒ <code>Object</code></h2><p>通用 AJAX 请求</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>[fetcher]</td><td><code>Object</code></td><td>用于存储请求状态的对象</td></tr></tbody></table><p><a name="get"></a></p><h2 id="get-url-config-⇒-promise-unknown" tabindex="-1"><a class="header-anchor" href="#get-url-config-⇒-promise-unknown" aria-hidden="true">#</a> get(url, [config]) ⇒ <code>Promise.<unknown></code></h2><p>get请求</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>url</td><td></td><td></td></tr><tr><td>[config]</td><td><code>Object</code></td><td>axios config</td></tr></tbody></table><p><a name="post"></a></p><h2 id="post-url-data-config-⇒-promise-unknown" tabindex="-1"><a class="header-anchor" href="#post-url-data-config-⇒-promise-unknown" aria-hidden="true">#</a> post(url, data, [config]) ⇒ <code>Promise.<unknown></code></h2><p>post请求</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>url</td><td><code>string</code></td><td></td></tr><tr><td>data</td><td><code>Object</code></td><td></td></tr><tr><td>[config]</td><td><code>Object</code></td><td>axios config</td></tr></tbody></table><p><a name="useTextFromOptionsValue"></a></p><h2 id="usetextfromoptionsvalue-value-options-⇒-string-string" tabindex="-1"><a class="header-anchor" href="#usetextfromoptionsvalue-value-options-⇒-string-string" aria-hidden="true">#</a> useTextFromOptionsValue(value, options) ⇒ <code>*</code> | <code>string</code> | <code>string</code></h2><p>从 options 中根据 value 获取 text</p><p><strong>Kind</strong>: global function</p><table><thead><tr><th>Param</th></tr></thead><tbody><tr><td>value</td></tr><tr><td>options</td></tr></tbody></table><p><a name="useFindTextsInValues"></a></p><h2 id="usefindtextsinvalues-options-values-adapter-⇒" tabindex="-1"><a class="header-anchor" href="#usefindtextsinvalues-options-values-adapter-⇒" aria-hidden="true">#</a> useFindTextsInValues(options, values, [adapter]) ⇒</h2><p>从嵌套的 options 中根据 value 获取 text, 如 [1, 3] => ["东", "南"]</p><p><strong>Kind</strong>: global function<br><strong>Returns</strong>: Array</p><table><thead><tr><th>Param</th><th>Type</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td>options</td><td><code>Array</code></td><td></td><td>嵌套的选项</td></tr><tr><td>values</td><td><code>Array</code></td><td></td><td>需要查找的值</td></tr><tr><td>[adapter]</td><td><code>Object</code></td><td><code>{value: "value",label: "label",children: "children"}</code></td><td>选项适配器</td></tr></tbody></table><p><a name="useFindLabelsFromPath"></a></p><h2 id="usefindlabelsfrompath-options-path-adapter-⇒" tabindex="-1"><a class="header-anchor" href="#usefindlabelsfrompath-options-path-adapter-⇒" aria-hidden="true">#</a> useFindLabelsFromPath(options, path, [adapter]) ⇒</h2><p>从嵌套的 options 中根据 value 获取 label</p><p><strong>Kind</strong>: global function<br><strong>Returns</strong>: Array</p><table><thead><tr><th>Param</th><th>Type</th></tr></thead><tbody><tr><td>options</td><td><code>Array</code></td></tr><tr><td>path</td><td><code>Array</code></td></tr><tr><td>[adapter]</td><td><code>Object</code></td></tr></tbody></table><p><a name="useFindTextsFromPath"></a></p><h2 id="usefindtextsfrompath-options-path-adapter-⇒" tabindex="-1"><a class="header-anchor" href="#usefindtextsfrompath-options-path-adapter-⇒" aria-hidden="true">#</a> useFindTextsFromPath(options, path, [adapter]) ⇒</h2><p>[移动端适配] 从嵌套的 options 中根据 value 获取 text</p><p><strong>Kind</strong>: global function<br><strong>Returns</strong>: Array</p><table><thead><tr><th>Param</th><th>Type</th></tr></thead><tbody><tr><td>options</td><td><code>Array</code></td></tr><tr><td>path</td><td><code>Array</code></td></tr><tr><td>[adapter]</td><td><code>Object</code></td></tr></tbody></table><p><a name="useFindParentValues"></a></p><h2 id="usefindparentvalues-options-value-adapter-⇒" tabindex="-1"><a class="header-anchor" href="#usefindparentvalues-options-value-adapter-⇒" aria-hidden="true">#</a> useFindParentValues(options, value, adapter) ⇒</h2><p>从嵌套的 options 中根据 value 获取整个 values 路径, 如地区路径: 440113 => [440000, 440100, 440113]</p><p><strong>Kind</strong>: global function<br><strong>Returns</strong>: Array</p><table><thead><tr><th>Param</th></tr></thead><tbody><tr><td>options</td></tr><tr><td>value</td></tr><tr><td>adapter</td></tr></tbody></table>',115),s=[r];function n(c,i){return d(),e("div",null,s)}const h=t(o,[["render",n],["__file","hooks.html.vue"]]);export{h as default};
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import{_ as n,o as s,c as a,a as t}from"./app-29fe8d1e.js";const e={},p=t(`<h1 id="explore-ui" tabindex="-1"><a class="header-anchor" href="#explore-ui" aria-hidden="true">#</a> Explore-UI</h1><p>基于 Vant Vue3 的增强组件</p><h2 id="安装" tabindex="-1"><a class="header-anchor" href="#安装" aria-hidden="true">#</a> 安装</h2><p>使用 <code>npm</code></p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token function">npm</span> i <span class="token string">"jobsys-explore"</span>
|
|
2
|
-
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>使用 <code>yarn</code></p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token function">yarn</span> i <span class="token string">"jobsys-explore"</span>
|
|
3
|
-
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>使用 <code>pnpm</code></p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token function">pnpm</span> i <span class="token string">"jobsys-explore"</span>
|
|
4
|
-
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><blockquote><p>由于 <code>explore-ui</code> 使用了 <code>rem</code> 作为单位以适应不同的屏幕尺寸,所以需要在 <code>Vite</code> 里进行适配</p></blockquote><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token function">pnpm</span> i <span class="token parameter variable">-D</span> <span class="token string">"postcss-pxtorem"</span>
|
|
5
|
-
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><div class="language-javascript line-numbers-mode" data-ext="js"><pre class="language-javascript"><code><span class="token comment">//vite.config.js</span>
|
|
6
|
-
|
|
7
|
-
<span class="token keyword">import</span> pixelToRem <span class="token keyword">from</span> <span class="token string">"postcss-pxtorem"</span>
|
|
8
|
-
|
|
9
|
-
<span class="token keyword">export</span> <span class="token keyword">default</span> <span class="token function">defineConfig</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
|
|
10
|
-
<span class="token literal-property property">css</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
11
|
-
<span class="token literal-property property">postcss</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
12
|
-
<span class="token literal-property property">plugins</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
13
|
-
<span class="token function">pixelToRem</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
|
|
14
|
-
<span class="token function">rootValue</span><span class="token punctuation">(</span><span class="token parameter"><span class="token punctuation">{</span>file<span class="token punctuation">}</span></span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
|
15
|
-
<span class="token comment">//在这里可以根据 file 路径进行判断与定制,默认的 rootValue 是 37.5</span>
|
|
16
|
-
<span class="token keyword">return</span> <span class="token number">37.5</span>
|
|
17
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
18
|
-
<span class="token literal-property property">propList</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">"*"</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
19
|
-
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
|
|
20
|
-
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
21
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
22
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
23
|
-
<span class="token punctuation">}</span><span class="token punctuation">)</span>
|
|
24
|
-
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="示例" tabindex="-1"><a class="header-anchor" href="#示例" aria-hidden="true">#</a> 示例</h2><p>引入样式</p><div class="language-javascript line-numbers-mode" data-ext="js"><pre class="language-javascript"><code><span class="token comment">//app.js</span>
|
|
25
|
-
<span class="token keyword">import</span> <span class="token string">"jobsys-explore/dist/style.css"</span>
|
|
26
|
-
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-javascript line-numbers-mode" data-ext="js"><pre class="language-javascript"><code><span class="token comment">//app.js</span>
|
|
27
|
-
<span class="token keyword">import</span> <span class="token punctuation">{</span> createApp <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">"vue"</span>
|
|
28
|
-
<span class="token keyword">import</span> Explore <span class="token keyword">from</span> <span class="token string">"jobsys-explore"</span>
|
|
29
|
-
|
|
30
|
-
<span class="token keyword">const</span> app <span class="token operator">=</span> <span class="token function">createApp</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
|
|
31
|
-
<span class="token function-variable function">setup</span><span class="token operator">:</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span><span class="token punctuation">}</span>
|
|
32
|
-
<span class="token punctuation">}</span><span class="token punctuation">)</span>
|
|
33
|
-
|
|
34
|
-
app<span class="token punctuation">.</span><span class="token function">use</span><span class="token punctuation">(</span>Explore<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">mount</span><span class="token punctuation">(</span><span class="token string">"#app"</span><span class="token punctuation">)</span>
|
|
35
|
-
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-vue line-numbers-mode" data-ext="vue"><pre class="language-vue"><code><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>template</span><span class="token punctuation">></span></span>
|
|
36
|
-
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>ExButton</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>primary<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>点兵<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>ExButton</span><span class="token punctuation">></span></span>
|
|
37
|
-
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>template</span><span class="token punctuation">></span></span>
|
|
38
|
-
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>script</span> <span class="token attr-name">setup</span><span class="token punctuation">></span></span><span class="token script"><span class="token language-javascript">
|
|
39
|
-
<span class="token keyword">import</span> <span class="token punctuation">{</span> ref <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">"vue"</span>
|
|
40
|
-
|
|
41
|
-
<span class="token keyword">const</span> password <span class="token operator">=</span> <span class="token function">ref</span><span class="token punctuation">(</span><span class="token string">""</span><span class="token punctuation">)</span>
|
|
42
|
-
</span></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>script</span><span class="token punctuation">></span></span>
|
|
43
|
-
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,17),o=[p];function c(i,l){return s(),a("div",null,o)}const r=n(e,[["render",c],["__file","index.html.vue"]]);export{r as default};
|
|
1
|
+
import{_ as n,o as s,c as a,a as t}from"./app-29fe8d1e.js";const e={},p=t(`<h1 id="explore-ui" tabindex="-1"><a class="header-anchor" href="#explore-ui" aria-hidden="true">#</a> Explore-UI</h1><p>基于 Vant Vue3 的增强组件</p><h2 id="安装" tabindex="-1"><a class="header-anchor" href="#安装" aria-hidden="true">#</a> 安装</h2><p>使用 <code>npm</code></p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token function">npm</span> i <span class="token string">"jobsys-explore"</span>
|
|
2
|
+
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>使用 <code>yarn</code></p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token function">yarn</span> i <span class="token string">"jobsys-explore"</span>
|
|
3
|
+
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>使用 <code>pnpm</code></p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token function">pnpm</span> i <span class="token string">"jobsys-explore"</span>
|
|
4
|
+
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><blockquote><p>由于 <code>explore-ui</code> 使用了 <code>rem</code> 作为单位以适应不同的屏幕尺寸,所以需要在 <code>Vite</code> 里进行适配</p></blockquote><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token function">pnpm</span> i <span class="token parameter variable">-D</span> <span class="token string">"postcss-pxtorem"</span>
|
|
5
|
+
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><div class="language-javascript line-numbers-mode" data-ext="js"><pre class="language-javascript"><code><span class="token comment">//vite.config.js</span>
|
|
6
|
+
|
|
7
|
+
<span class="token keyword">import</span> pixelToRem <span class="token keyword">from</span> <span class="token string">"postcss-pxtorem"</span>
|
|
8
|
+
|
|
9
|
+
<span class="token keyword">export</span> <span class="token keyword">default</span> <span class="token function">defineConfig</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
|
|
10
|
+
<span class="token literal-property property">css</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
11
|
+
<span class="token literal-property property">postcss</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
12
|
+
<span class="token literal-property property">plugins</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
13
|
+
<span class="token function">pixelToRem</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
|
|
14
|
+
<span class="token function">rootValue</span><span class="token punctuation">(</span><span class="token parameter"><span class="token punctuation">{</span>file<span class="token punctuation">}</span></span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
|
15
|
+
<span class="token comment">//在这里可以根据 file 路径进行判断与定制,默认的 rootValue 是 37.5</span>
|
|
16
|
+
<span class="token keyword">return</span> <span class="token number">37.5</span>
|
|
17
|
+
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
18
|
+
<span class="token literal-property property">propList</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">"*"</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
19
|
+
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
|
|
20
|
+
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
21
|
+
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
22
|
+
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
23
|
+
<span class="token punctuation">}</span><span class="token punctuation">)</span>
|
|
24
|
+
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="示例" tabindex="-1"><a class="header-anchor" href="#示例" aria-hidden="true">#</a> 示例</h2><p>引入样式</p><div class="language-javascript line-numbers-mode" data-ext="js"><pre class="language-javascript"><code><span class="token comment">//app.js</span>
|
|
25
|
+
<span class="token keyword">import</span> <span class="token string">"jobsys-explore/dist/style.css"</span>
|
|
26
|
+
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-javascript line-numbers-mode" data-ext="js"><pre class="language-javascript"><code><span class="token comment">//app.js</span>
|
|
27
|
+
<span class="token keyword">import</span> <span class="token punctuation">{</span> createApp <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">"vue"</span>
|
|
28
|
+
<span class="token keyword">import</span> Explore <span class="token keyword">from</span> <span class="token string">"jobsys-explore"</span>
|
|
29
|
+
|
|
30
|
+
<span class="token keyword">const</span> app <span class="token operator">=</span> <span class="token function">createApp</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
|
|
31
|
+
<span class="token function-variable function">setup</span><span class="token operator">:</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span><span class="token punctuation">}</span>
|
|
32
|
+
<span class="token punctuation">}</span><span class="token punctuation">)</span>
|
|
33
|
+
|
|
34
|
+
app<span class="token punctuation">.</span><span class="token function">use</span><span class="token punctuation">(</span>Explore<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">mount</span><span class="token punctuation">(</span><span class="token string">"#app"</span><span class="token punctuation">)</span>
|
|
35
|
+
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-vue line-numbers-mode" data-ext="vue"><pre class="language-vue"><code><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>template</span><span class="token punctuation">></span></span>
|
|
36
|
+
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>ExButton</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>primary<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>点兵<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>ExButton</span><span class="token punctuation">></span></span>
|
|
37
|
+
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>template</span><span class="token punctuation">></span></span>
|
|
38
|
+
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>script</span> <span class="token attr-name">setup</span><span class="token punctuation">></span></span><span class="token script"><span class="token language-javascript">
|
|
39
|
+
<span class="token keyword">import</span> <span class="token punctuation">{</span> ref <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">"vue"</span>
|
|
40
|
+
|
|
41
|
+
<span class="token keyword">const</span> password <span class="token operator">=</span> <span class="token function">ref</span><span class="token punctuation">(</span><span class="token string">""</span><span class="token punctuation">)</span>
|
|
42
|
+
</span></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>script</span><span class="token punctuation">></span></span>
|
|
43
|
+
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,17),o=[p];function c(i,l){return s(),a("div",null,o)}const r=n(e,[["render",c],["__file","index.html.vue"]]);export{r as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--back-to-top-z-index: 5;--back-to-top-color: #3eaf7c;--back-to-top-color-hover: #71cda3}.back-to-top{cursor:pointer;position:fixed;bottom:2rem;right:2.5rem;width:2rem;height:1.2rem;background-color:var(--back-to-top-color);mask:url(/docs/explore-ui/assets/back-to-top-8efcbe56.svg) no-repeat;z-index:var(--back-to-top-z-index)}.back-to-top:hover{background-color:var(--back-to-top-color-hover)}@media (max-width: 959px){.back-to-top{display:none}}@media print{.back-to-top{display:none}}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0}:root{--external-link-icon-color: #aaa}.external-link-icon{position:relative;display:inline-block;color:var(--external-link-icon-color);vertical-align:middle;top:-.0625rem}@media print{.external-link-icon{display:none}}.external-link-icon-sr-only{position:absolute;width:.0625rem;height:.0625rem;padding:0;margin:-.0625rem;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;-webkit-user-select:none;user-select:none}:root{--medium-zoom-z-index: 100;--medium-zoom-bg-color: #ffffff;--medium-zoom-opacity: 1}.medium-zoom-overlay{background-color:var(--medium-zoom-bg-color)!important;z-index:var(--medium-zoom-z-index)}.medium-zoom-overlay~img{z-index:calc(var(--medium-zoom-z-index) + 1)}.medium-zoom--opened .medium-zoom-overlay{opacity:var(--medium-zoom-opacity)}:root{--nprogress-color: #29d;--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{background:var(--nprogress-color);position:fixed;z-index:var(--nprogress-z-index);top:0;left:0;width:100%;height:.125rem}:root{--c-brand: #3eaf7c;--c-brand-light: #4abf8a;--c-bg: #ffffff;--c-bg-light: #f3f4f5;--c-bg-lighter: #eeeeee;--c-bg-dark: #ebebec;--c-bg-darker: #e6e6e6;--c-bg-navbar: var(--c-bg);--c-bg-sidebar: var(--c-bg);--c-bg-arrow: #cccccc;--c-text: #2c3e50;--c-text-accent: var(--c-brand);--c-text-light: #3a5169;--c-text-lighter: #4e6e8e;--c-text-lightest: #6a8bad;--c-text-quote: #999999;--c-border: #eaecef;--c-border-dark: #dfe2e5;--c-tip: #42b983;--c-tip-bg: var(--c-bg-light);--c-tip-title: var(--c-text);--c-tip-text: var(--c-text);--c-tip-text-accent: var(--c-text-accent);--c-warning: #ffc310;--c-warning-bg: #fffae3;--c-warning-bg-light: #fff3ba;--c-warning-bg-lighter: #fff0b0;--c-warning-border-dark: #f7dc91;--c-warning-details-bg: #fff5ca;--c-warning-title: #f1b300;--c-warning-text: #746000;--c-warning-text-accent: #edb100;--c-warning-text-light: #c1971c;--c-warning-text-quote: #ccab49;--c-danger: #f11e37;--c-danger-bg: #ffe0e0;--c-danger-bg-light: #ffcfde;--c-danger-bg-lighter: #ffc9c9;--c-danger-border-dark: #f1abab;--c-danger-details-bg: #ffd4d4;--c-danger-title: #ed1e2c;--c-danger-text: #660000;--c-danger-text-accent: #bd1a1a;--c-danger-text-light: #b5474d;--c-danger-text-quote: #c15b5b;--c-details-bg: #eeeeee;--c-badge-tip: var(--c-tip);--c-badge-warning: #ecc808;--c-badge-warning-text: var(--c-bg);--c-badge-danger: #dc2626;--c-badge-danger-text: var(--c-bg);--t-color: .3s ease;--t-transform: .3s ease;--code-bg-color: #282c34;--code-hl-bg-color: rgba(0, 0, 0, .66);--code-ln-color: #9e9e9e;--code-ln-wrapper-width: 3.5rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-code: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--navbar-height: 3.6rem;--navbar-padding-v: .7rem;--navbar-padding-h: 1.5rem;--sidebar-width: 20rem;--sidebar-width-mobile: calc(var(--sidebar-width) * .82);--content-width: 46.25rem;--homepage-width: 60rem}.back-to-top{--back-to-top-color: var(--c-brand);--back-to-top-color-hover: var(--c-brand-light)}.DocSearch{--docsearch-primary-color: var(--c-brand);--docsearch-text-color: var(--c-text);--docsearch-highlight-color: var(--c-brand);--docsearch-muted-color: var(--c-text-quote);--docsearch-container-background: rgba(9, 10, 17, .8);--docsearch-modal-background: var(--c-bg-light);--docsearch-searchbox-background: var(--c-bg-lighter);--docsearch-searchbox-focus-background: var(--c-bg);--docsearch-searchbox-shadow: inset 0 0 0 .125rem var(--c-brand);--docsearch-hit-color: var(--c-text-light);--docsearch-hit-active-color: var(--c-bg);--docsearch-hit-background: var(--c-bg);--docsearch-hit-shadow: 0 .0625rem .1875rem 0 var(--c-border-dark);--docsearch-footer-background: var(--c-bg)}.external-link-icon{--external-link-icon-color: var(--c-text-quote)}.medium-zoom-overlay{--medium-zoom-bg-color: var(--c-bg)}#nprogress{--nprogress-color: var(--c-brand)}.pwa-popup{--pwa-popup-text-color: var(--c-text);--pwa-popup-bg-color: var(--c-bg);--pwa-popup-border-color: var(--c-brand);--pwa-popup-shadow: 0 .25rem 1rem var(--c-brand);--pwa-popup-btn-text-color: var(--c-bg);--pwa-popup-btn-bg-color: var(--c-brand);--pwa-popup-btn-hover-bg-color: var(--c-brand-light)}.search-box{--search-bg-color: var(--c-bg);--search-accent-color: var(--c-brand);--search-text-color: var(--c-text);--search-border-color: var(--c-border);--search-item-text-color: var(--c-text-lighter);--search-item-focus-bg-color: var(--c-bg-light)}html.dark{--c-brand: #3aa675;--c-brand-light: #349469;--c-bg: #22272e;--c-bg-light: #2b313a;--c-bg-lighter: #262c34;--c-bg-dark: #343b44;--c-bg-darker: #37404c;--c-text: #adbac7;--c-text-light: #96a7b7;--c-text-lighter: #8b9eb0;--c-text-lightest: #8094a8;--c-border: #3e4c5a;--c-border-dark: #34404c;--c-tip: #318a62;--c-warning: #e0ad15;--c-warning-bg: #2d2f2d;--c-warning-bg-light: #423e2a;--c-warning-bg-lighter: #44442f;--c-warning-border-dark: #957c35;--c-warning-details-bg: #39392d;--c-warning-title: #fdca31;--c-warning-text: #d8d96d;--c-warning-text-accent: #ffbf00;--c-warning-text-light: #ddb84b;--c-warning-text-quote: #ccab49;--c-danger: #fc1e38;--c-danger-bg: #39232c;--c-danger-bg-light: #4b2b35;--c-danger-bg-lighter: #553040;--c-danger-border-dark: #a25151;--c-danger-details-bg: #482936;--c-danger-title: #fc2d3b;--c-danger-text: #ea9ca0;--c-danger-text-accent: #fd3636;--c-danger-text-light: #d9777c;--c-danger-text-quote: #d56b6b;--c-details-bg: #323843;--c-badge-warning: var(--c-warning);--c-badge-warning-text: #3c2e05;--c-badge-danger: var(--c-danger);--c-badge-danger-text: #401416;--code-hl-bg-color: #363b46}html.dark .DocSearch{--docsearch-logo-color: var(--c-text);--docsearch-modal-shadow: inset .0625rem .0625rem 0 0 #2c2e40, 0 .1875rem .5rem 0 #000309;--docsearch-key-shadow: inset 0 -.125rem 0 0 #282d55, inset 0 0 .0625rem .0625rem #51577d, 0 .125rem .125rem 0 rgba(3, 4, 9, .3);--docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);--docsearch-footer-shadow: inset 0 .0625rem 0 0 rgba(73, 76, 106, .5), 0 -.25rem .5rem 0 rgba(0, 0, 0, .2)}html,body{padding:0;margin:0;background-color:var(--c-bg);transition:background-color var(--t-color)}html.dark{color-scheme:dark}html{font-size:1rem}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;color:var(--c-text)}a{font-weight:500;color:var(--c-text-accent);text-decoration:none;overflow-wrap:break-word}p a code{font-weight:400;color:var(--c-text-accent)}kbd{font-family:var(--font-family-code);color:var(--c-text);background:var(--c-bg-lighter);border:solid .15rem var(--c-border-dark);border-bottom:solid .25rem var(--c-border-dark);border-radius:.15rem;padding:0 .15em}code{font-family:var(--font-family-code);color:var(--c-text-lighter);padding:.25rem .5rem;margin:0;font-size:.85em;background-color:var(--c-bg-light);border-radius:.1875rem;overflow-wrap:break-word;transition:background-color var(--t-color)}blockquote{font-size:1rem;color:var(--c-text-quote);border-left:.2rem solid var(--c-border-dark);margin:1rem 0;padding:.25rem 0 .25rem 1rem;overflow-wrap:break-word}blockquote>p{margin:0}ul,ol{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;overflow-wrap:break-word}h1:focus-visible,h2:focus-visible,h3:focus-visible,h4:focus-visible,h5:focus-visible,h6:focus-visible{outline:none}h1:hover .header-anchor,h2:hover .header-anchor,h3:hover .header-anchor,h4:hover .header-anchor,h5:hover .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:.0625rem solid var(--c-border);transition:border-color var(--t-color)}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;opacity:0;-webkit-user-select:none;user-select:none}@media print{a.header-anchor{display:none}}a.header-anchor:hover{text-decoration:none}a.header-anchor:focus-visible{opacity:1}@media print{a[href^="http://"]:after,a[href^="https://"]:after{content:" (" attr(href) ") "}}p,ul,ol{line-height:1.7;overflow-wrap:break-word}hr{border:0;border-top:.0625rem solid var(--c-border)}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto;transition:border-color var(--t-color)}tr{border-top:.0625rem solid var(--c-border-dark);transition:border-color var(--t-color)}tr:nth-child(2n){background-color:var(--c-bg-light);transition:background-color var(--t-color)}tr:nth-child(2n) code{background-color:var(--c-bg-dark)}th,td{padding:.6em 1em;border:.0625rem solid var(--c-border-dark);transition:border-color var(--t-color)}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-left:.25rem solid transparent;border-right:.25rem solid transparent;border-bottom:.375rem solid var(--c-bg-arrow)}.arrow.down{border-left:.25rem solid transparent;border-right:.25rem solid transparent;border-top:.375rem solid var(--c-bg-arrow)}.arrow.right{border-top:.25rem solid transparent;border-bottom:.25rem solid transparent;border-left:.375rem solid var(--c-bg-arrow)}.arrow.left{border-top:.25rem solid transparent;border-bottom:.25rem solid transparent;border-right:.375rem solid var(--c-bg-arrow)}.badge{display:inline-block;font-size:.875rem;font-weight:600;height:1.125rem;line-height:1.125rem;border-radius:.1875rem;padding:0 .375rem;color:var(--c-bg);vertical-align:top;transition:color var(--t-color),background-color var(--t-color)}.badge.tip{background-color:var(--c-badge-tip)}.badge.warning{background-color:var(--c-badge-warning);color:var(--c-badge-warning-text)}.badge.danger{background-color:var(--c-badge-danger);color:var(--c-badge-danger-text)}.badge+.badge{margin-left:.3125rem}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:var(--font-family-code);font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#ec5975}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:#3eaf7c}.theme-default-content pre,.theme-default-content pre[class*=language-]{line-height:1.375;padding:1.3rem 1.5rem;margin:.85rem 0;border-radius:.375rem;overflow:auto}.theme-default-content pre code,.theme-default-content pre[class*=language-] code{color:#fff;padding:0;background-color:transparent!important;border-radius:0;overflow-wrap:unset;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.theme-default-content .line-number{font-family:var(--font-family-code)}div[class*=language-]{position:relative;background-color:var(--code-bg-color);border-radius:.375rem}div[class*=language-]:before{content:attr(data-ext);position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:var(--code-ln-color)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent!important;position:relative;z-index:1}div[class*=language-] .highlight-lines{-webkit-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.375}div[class*=language-] .highlight-lines .highlight-line{background-color:var(--code-hl-bg-color)}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlight-line{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlight-line:before{content:" ";position:absolute;z-index:2;left:0;top:0;display:block;width:var(--code-ln-wrapper-width);height:100%}div[class*=language-].line-numbers-mode pre{margin-left:var(--code-ln-wrapper-width);padding-left:1rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers{position:absolute;top:0;width:var(--code-ln-wrapper-width);text-align:center;color:var(--code-ln-color);padding-top:1.25rem;line-height:1.375;counter-reset:line-number}div[class*=language-].line-numbers-mode .line-numbers .line-number{position:relative;z-index:3;-webkit-user-select:none;user-select:none;height:1.375em}div[class*=language-].line-numbers-mode .line-numbers .line-number:before{counter-increment:line-number;content:counter(line-number);font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;left:0;width:var(--code-ln-wrapper-width);height:100%;border-radius:.375rem 0 0 .375rem;border-right:.0625rem solid var(--code-hl-bg-color)}@media (max-width: 419px){.theme-default-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}.code-group__nav{margin-top:.85rem;margin-bottom:-2.075rem;padding-bottom:1.325rem;padding-left:.625rem;padding-top:.625rem;border-top-left-radius:.375rem;border-top-right-radius:.375rem;background-color:var(--code-bg-color)}.code-group__ul{margin:auto 0;padding-left:0;display:inline-flex;list-style:none}.code-group__nav-tab{border:0;padding:.3125rem;cursor:pointer;background-color:transparent;font-size:.85em;line-height:1.4;color:#ffffffe6;font-weight:600}.code-group__nav-tab:focus{outline:none}.code-group__nav-tab:focus-visible{outline:.0625rem solid rgba(255,255,255,.9)}.code-group__nav-tab-active{border-bottom:var(--c-brand) .0625rem solid}@media (max-width: 419px){.code-group__nav{margin-left:-1.5rem;margin-right:-1.5rem;border-radius:0}}.code-group-item{display:none}.code-group-item__active{display:block}.code-group-item>pre{background-color:orange}.custom-container{transition:color var(--t-color),border-color var(--t-color),background-color var(--t-color)}.custom-container .custom-container-title{font-weight:600}.custom-container .custom-container-title:not(:only-child){margin-bottom:-.4rem}.custom-container.tip,.custom-container.warning,.custom-container.danger{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-container.tip{border-color:var(--c-tip);background-color:var(--c-tip-bg);color:var(--c-tip-text)}.custom-container.tip .custom-container-title{color:var(--c-tip-title)}.custom-container.tip a{color:var(--c-tip-text-accent)}.custom-container.tip code{background-color:var(--c-bg-dark)}.custom-container.warning{border-color:var(--c-warning);background-color:var(--c-warning-bg);color:var(--c-warning-text)}.custom-container.warning .custom-container-title{color:var(--c-warning-title)}.custom-container.warning a{color:var(--c-warning-text-accent)}.custom-container.warning blockquote{border-left-color:var(--c-warning-border-dark);color:var(--c-warning-text-quote)}.custom-container.warning code{color:var(--c-warning-text-light);background-color:var(--c-warning-bg-light)}.custom-container.warning details{background-color:var(--c-warning-details-bg)}.custom-container.warning details code{background-color:var(--c-warning-bg-lighter)}.custom-container.warning .external-link-icon{--external-link-icon-color: var(--c-warning-text-quote)}.custom-container.danger{border-color:var(--c-danger);background-color:var(--c-danger-bg);color:var(--c-danger-text)}.custom-container.danger .custom-container-title{color:var(--c-danger-title)}.custom-container.danger a{color:var(--c-danger-text-accent)}.custom-container.danger blockquote{border-left-color:var(--c-danger-border-dark);color:var(--c-danger-text-quote)}.custom-container.danger code{color:var(--c-danger-text-light);background-color:var(--c-danger-bg-light)}.custom-container.danger details{background-color:var(--c-danger-details-bg)}.custom-container.danger details code{background-color:var(--c-danger-bg-lighter)}.custom-container.danger .external-link-icon{--external-link-icon-color: var(--c-danger-text-quote)}.custom-container.details{display:block;position:relative;border-radius:.125rem;margin:1.6em 0;padding:1.6em;background-color:var(--c-details-bg)}.custom-container.details code{background-color:var(--c-bg-darker)}.custom-container.details h4{margin-top:0}.custom-container.details figure:last-child,.custom-container.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-container.details summary{outline:none;cursor:pointer}.home{padding:var(--navbar-height) 2rem 0;max-width:var(--homepage-width);margin:0 auto;display:block}.home .hero{text-align:center}.home .hero img{max-width:100%;max-height:17.5rem;display:block;margin:3rem auto 1.5rem}.home .hero h1{font-size:3rem}.home .hero h1,.home .hero .description,.home .hero .actions{margin:1.8rem auto}.home .hero .actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.home .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:var(--c-text-lightest)}.home .hero .action-button{display:inline-block;font-size:1.2rem;padding:.8rem 1.6rem;border-width:.125rem;border-style:solid;border-radius:.25rem;transition:background-color var(--t-color);box-sizing:border-box}.home .hero .action-button.primary{color:var(--c-bg);background-color:var(--c-brand);border-color:var(--c-brand)}.home .hero .action-button.primary:hover{background-color:var(--c-brand-light)}.home .hero .action-button.secondary{color:var(--c-brand);background-color:var(--c-bg);border-color:var(--c-brand)}.home .hero .action-button.secondary:hover{color:var(--c-bg);background-color:var(--c-brand-light)}.home .features{border-top:.0625rem solid var(--c-border);transition:border-color var(--t-color);padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%}.home .feature h2{font-size:1.4rem;font-weight:500;border-bottom:none;padding-bottom:0;color:var(--c-text-light)}.home .feature p{color:var(--c-text-lighter)}.home .theme-default-content{padding:0;margin:0}.home .footer{padding:2.5rem;border-top:.0625rem solid var(--c-border);text-align:center;color:var(--c-text-lighter);transition:border-color var(--t-color)}@media (max-width: 719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width: 419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:13.125rem;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero h1,.home .hero .description,.home .hero .actions{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.page{padding-top:var(--navbar-height);padding-left:var(--sidebar-width)}.navbar{position:fixed;z-index:20;top:0;left:0;right:0;height:var(--navbar-height);box-sizing:border-box;border-bottom:.0625rem solid var(--c-border);background-color:var(--c-bg-navbar);transition:background-color var(--t-color),border-color var(--t-color)}.sidebar{font-size:1rem;width:var(--sidebar-width);position:fixed;z-index:10;margin:0;top:var(--navbar-height);left:0;bottom:0;box-sizing:border-box;border-right:.0625rem solid var(--c-border);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--c-brand) var(--c-border);background-color:var(--c-bg-sidebar);transition:transform var(--t-transform),background-color var(--t-color),border-color var(--t-color)}.sidebar::-webkit-scrollbar{width:.4375rem}.sidebar::-webkit-scrollbar-track{background-color:var(--c-border)}.sidebar::-webkit-scrollbar-thumb{background-color:var(--c-brand)}.sidebar-mask{position:fixed;z-index:9;top:0;left:0;width:100vw;height:100vh;display:none}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(1){transform:rotate(45deg) translate3d(.34375rem,.34375rem,0)}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(2){transform:scale3d(0,1,1)}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(3){transform:rotate(-45deg) translate3d(.375rem,-.375rem,0)}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(1),.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(3){transform-origin:center}.theme-container.no-navbar .theme-default-content h1,.theme-container.no-navbar .theme-default-content h2,.theme-container.no-navbar .theme-default-content h3,.theme-container.no-navbar .theme-default-content h4,.theme-container.no-navbar .theme-default-content h5,.theme-container.no-navbar .theme-default-content h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .page{padding-top:0}.theme-container.no-navbar .sidebar{top:0}.theme-container.no-sidebar .sidebar{display:none}@media (max-width: 719px){.theme-container.no-sidebar .sidebar{display:block}}.theme-container.no-sidebar .page{padding-left:0}.theme-default-content a:hover{text-decoration:underline}.theme-default-content img{max-width:100%}.theme-default-content h1,.theme-default-content h2,.theme-default-content h3,.theme-default-content h4,.theme-default-content h5,.theme-default-content h6{margin-top:calc(.5rem - var(--navbar-height));padding-top:calc(1rem + var(--navbar-height));margin-bottom:0}.theme-default-content h1:first-child,.theme-default-content h2:first-child,.theme-default-content h3:first-child,.theme-default-content h4:first-child,.theme-default-content h5:first-child,.theme-default-content h6:first-child{margin-bottom:1rem}.theme-default-content h1:first-child+p,.theme-default-content h1:first-child+pre,.theme-default-content h1:first-child+.custom-container,.theme-default-content h2:first-child+p,.theme-default-content h2:first-child+pre,.theme-default-content h2:first-child+.custom-container,.theme-default-content h3:first-child+p,.theme-default-content h3:first-child+pre,.theme-default-content h3:first-child+.custom-container,.theme-default-content h4:first-child+p,.theme-default-content h4:first-child+pre,.theme-default-content h4:first-child+.custom-container,.theme-default-content h5:first-child+p,.theme-default-content h5:first-child+pre,.theme-default-content h5:first-child+.custom-container,.theme-default-content h6:first-child+p,.theme-default-content h6:first-child+pre,.theme-default-content h6:first-child+.custom-container{margin-top:2rem}@media (max-width: 959px){.sidebar{font-size:.9375rem;width:var(--sidebar-width-mobile)}.page{padding-left:var(--sidebar-width-mobile)}}@media (max-width: 719px){.sidebar{top:0;padding-top:var(--navbar-height);transform:translate(-100%)}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translate(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width: 419px){h1{font-size:1.9rem}}.navbar{--navbar-line-height: calc( var(--navbar-height) - 2 * var(--navbar-padding-v) );padding:var(--navbar-padding-v) var(--navbar-padding-h);line-height:var(--navbar-line-height)}.navbar .logo{height:var(--navbar-line-height);margin-right:var(--navbar-padding-v);vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:var(--c-text);position:relative}.navbar .navbar-items-wrapper{display:flex;position:absolute;box-sizing:border-box;top:var(--navbar-padding-v);right:var(--navbar-padding-h);height:var(--navbar-line-height);padding-left:var(--navbar-padding-h);white-space:nowrap;font-size:.9rem}.navbar .navbar-items-wrapper .search-box{flex:0 0 auto;vertical-align:top}@media screen and (max-width: 719px){.navbar{padding-left:4rem}.navbar .site-name{display:block;width:calc(100vw - 11rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.navbar .can-hide{display:none}}.navbar-items{display:inline-block}@media print{.navbar-items{display:none}}.navbar-items a{display:inline-block;line-height:1.4rem;color:inherit}.navbar-items a:hover,.navbar-items a.router-link-active{color:var(--c-text)}.navbar-items .navbar-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:var(--navbar-line-height)}.navbar-items .navbar-item:first-child{margin-left:0}.navbar-items .navbar-item>a:hover,.navbar-items .navbar-item>a.router-link-active{margin-bottom:-.125rem;border-bottom:.125rem solid var(--c-text-accent)}@media (max-width: 719px){.navbar-items .navbar-item{margin-left:0}.navbar-items .navbar-item>a:hover,.navbar-items .navbar-item>a.router-link-active{margin-bottom:0;border-bottom:none}.navbar-items a:hover,.navbar-items a.router-link-active{color:var(--c-text-accent)}}.toggle-sidebar-button{position:absolute;top:.6rem;left:1rem;display:none;padding:.6rem;cursor:pointer}.toggle-sidebar-button .icon{display:flex;flex-direction:column;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;cursor:inherit}.toggle-sidebar-button .icon span{display:inline-block;width:100%;height:.125rem;border-radius:.125rem;background-color:var(--c-text);transition:transform var(--t-transform)}.toggle-sidebar-button .icon span:nth-child(2){margin:.375rem 0}@media screen and (max-width: 719px){.toggle-sidebar-button{display:block}}.toggle-color-mode-button{display:flex;margin:auto;margin-left:1rem;border:0;background:none;color:var(--c-text);opacity:.8;cursor:pointer}@media print{.toggle-color-mode-button{display:none}}.toggle-color-mode-button:hover{opacity:1}.toggle-color-mode-button .icon{width:1.25rem;height:1.25rem}.DocSearch{transition:background-color var(--t-color)}.navbar-dropdown-wrapper{cursor:pointer}.navbar-dropdown-wrapper .navbar-dropdown-title,.navbar-dropdown-wrapper .navbar-dropdown-title-mobile{display:block;font-size:.9rem;font-family:inherit;cursor:inherit;padding:inherit;line-height:1.4rem;background:transparent;border:none;font-weight:500;color:var(--c-text)}.navbar-dropdown-wrapper .navbar-dropdown-title:hover,.navbar-dropdown-wrapper .navbar-dropdown-title-mobile:hover{border-color:transparent}.navbar-dropdown-wrapper .navbar-dropdown-title .arrow,.navbar-dropdown-wrapper .navbar-dropdown-title-mobile .arrow{vertical-align:middle;margin-top:-.0625rem;margin-left:.4rem}.navbar-dropdown-wrapper .navbar-dropdown-title-mobile{display:none;font-weight:600;font-size:inherit}.navbar-dropdown-wrapper .navbar-dropdown-title-mobile:hover{color:var(--c-text-accent)}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item{color:inherit;line-height:1.7rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle{margin:.45rem 0 0;border-top:.0625rem solid var(--c-border);padding:1rem 0 .45rem;font-size:.9rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle>span{padding:0 1.5rem 0 1.25rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle>a{font-weight:inherit}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle>a.router-link-active:after{display:none}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subitem-wrapper{padding:0;list-style:none}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subitem-wrapper .navbar-dropdown-subitem{font-size:.9em}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a:hover,.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a.router-link-active{color:var(--c-text-accent)}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:.3125rem solid var(--c-text-accent);border-top:.1875rem solid transparent;border-bottom:.1875rem solid transparent;position:absolute;top:calc(50% - .125rem);left:.5625rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item:first-child .navbar-dropdown-subtitle{margin-top:0;padding-top:0;border-top:0}.navbar-dropdown-wrapper.mobile.open .navbar-dropdown-title,.navbar-dropdown-wrapper.mobile.open .navbar-dropdown-title-mobile{margin-bottom:.5rem}.navbar-dropdown-wrapper.mobile .navbar-dropdown-title,.navbar-dropdown-wrapper.mobile .navbar-dropdown-title-mobile{display:none}.navbar-dropdown-wrapper.mobile .navbar-dropdown-title-mobile{display:block}.navbar-dropdown-wrapper.mobile .navbar-dropdown{transition:height .1s ease-out;overflow:hidden}.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle{border-top:0;margin-top:0;padding-top:0;padding-bottom:0}.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle,.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item>a{font-size:.9375rem;line-height:2rem}.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subitem{font-size:.875rem;padding-left:1rem}.navbar-dropdown-wrapper:not(.mobile){height:1.8rem}.navbar-dropdown-wrapper:not(.mobile):hover .navbar-dropdown,.navbar-dropdown-wrapper:not(.mobile).open .navbar-dropdown{display:block!important}.navbar-dropdown-wrapper:not(.mobile).open:blur{display:none}.navbar-dropdown-wrapper:not(.mobile) .navbar-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:var(--c-bg-navbar);padding:.6rem 0;border:.0625rem solid var(--c-border);border-bottom-color:var(--c-border-dark);text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}.page{padding-bottom:2rem;display:block}.page .theme-default-content{max-width:var(--content-width);margin:0 auto;padding:2rem 2.5rem;padding-top:0}@media (max-width: 959px){.page .theme-default-content{padding:2rem}}@media (max-width: 419px){.page .theme-default-content{padding:1.5rem}}.page-meta{max-width:var(--content-width);margin:0 auto;padding:1rem 2.5rem;overflow:auto}@media (max-width: 959px){.page-meta{padding:2rem}}@media (max-width: 419px){.page-meta{padding:1.5rem}}.page-meta .meta-item{cursor:default;margin-top:.8rem}.page-meta .meta-item .meta-item-label{font-weight:500;color:var(--c-text-lighter)}.page-meta .meta-item .meta-item-info{font-weight:400;color:var(--c-text-quote)}.page-meta .edit-link{display:inline-block;margin-right:.25rem}@media print{.page-meta .edit-link{display:none}}.page-meta .last-updated{float:right}@media (max-width: 719px){.page-meta .last-updated{font-size:.8em;float:none}.page-meta .contributors{font-size:.8em}}.page-nav{max-width:var(--content-width);margin:0 auto;padding:1rem 2.5rem 2rem;padding-bottom:0}@media (max-width: 959px){.page-nav{padding:2rem}}@media (max-width: 419px){.page-nav{padding:1.5rem}}.page-nav .inner{min-height:2rem;margin-top:0;border-top:.0625rem solid var(--c-border);transition:border-color var(--t-color);padding-top:1rem;overflow:auto}.page-nav .prev a:before{content:"←"}.page-nav .next{float:right}.page-nav .next a:after{content:"→"}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .navbar-items{display:none;border-bottom:.0625rem solid var(--c-border);transition:border-color var(--t-color);padding:.5rem 0 .75rem}.sidebar .navbar-items a{font-weight:600}.sidebar .navbar-items .navbar-item{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar .sidebar-items{padding:1.5rem 0}@media (max-width: 719px){.sidebar .navbar-items{display:block}.sidebar .navbar-items .navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a.router-link-active:after{top:.875rem}.sidebar .sidebar-items{padding:1rem 0}}.sidebar-item{cursor:default;border-left:.25rem solid transparent;color:var(--c-text)}.sidebar-item:focus-visible{outline-width:.0625rem;outline-offset:-.0625rem}.sidebar-item.active:not(p.sidebar-heading){font-weight:600;color:var(--c-text-accent);border-left-color:var(--c-text-accent)}.sidebar-item.sidebar-heading{transition:color .15s ease;font-size:1.1em;font-weight:700;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0}.sidebar-item.sidebar-heading+.sidebar-item-children{transition:height .1s ease-out;overflow:hidden;margin-bottom:.75rem}.sidebar-item.collapsible{cursor:pointer}.sidebar-item.collapsible .arrow{position:relative;top:-.12em;left:.5em}.sidebar-item:not(.sidebar-heading){font-size:1em;font-weight:400;display:inline-block;margin:0;padding:.35rem 1rem .35rem 2rem;line-height:1.4;width:100%;box-sizing:border-box}.sidebar-item:not(.sidebar-heading)+.sidebar-item-children{padding-left:1rem;font-size:.95em}.sidebar-item-children .sidebar-item-children .sidebar-item:not(.sidebar-heading){padding:.25rem 1rem .25rem 1.75rem}.sidebar-item-children .sidebar-item-children .sidebar-item:not(.sidebar-heading).active{font-weight:500;border-left-color:transparent}a.sidebar-heading+.sidebar-item-children .sidebar-item:not(.sidebar-heading).active{border-left-color:transparent}a.sidebar-item{cursor:pointer}a.sidebar-item:hover{color:var(--c-text-accent)}.table-of-contents .badge{vertical-align:middle}.dropdown-enter-from,.dropdown-leave-to{height:0!important}.fade-slide-y-enter-active{transition:all .2s ease}.fade-slide-y-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1)}.fade-slide-y-enter-from,.fade-slide-y-leave-to{transform:translateY(.625rem);opacity:0}:root{--content-width: 90%}.ex-sector{width:100%;position:relative;color:#fff;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:start;border-radius:var(--nut-radius-lg, 8px)}.ex-sector .ex-sector__title{position:relative;color:#4e4945;font-size:.42667rem;font-weight:700;padding:.26667rem .26667rem .13333rem}.ex-sector .ex-sector__title:before{content:" ";position:absolute;z-index:1;left:-.13333rem;top:.34667rem;width:.26667rem;height:.45333rem;border-radius:.13333rem}.ex-sector .ex-sector__subtitle{color:var(--ex-gray-7, #6d6d6d);font-size:.4rem;padding:0 .26667rem .26667rem}.ex-sector:before{content:" ";position:absolute;bottom:40%;left:60%;width:60%;padding-bottom:60%;height:0;border-radius:50%}.ex-sector:after{content:" ";position:absolute;top:50%;right:35%;width:80%;padding-bottom:60%;height:0;border-radius:50%}.ex-sector.ex-sector__green{background:var(--ex-sector-title-green, rgba(232, 251, 247))}.ex-sector.ex-sector__green:before{background:linear-gradient(135deg,rgba(77,209,198,.33),rgba(79,211,200,0))}.ex-sector.ex-sector__green:after{background:linear-gradient(255deg,rgba(77,209,198,.33),rgba(79,211,200,0))}.ex-sector.ex-sector__green .ex-sector__title:before{background:var(--ex-sector-title-block-green, rgba(84, 216, 186))}.ex-sector.ex-sector__orange{background:var(--ex-sector-title-orange, rgba(252, 248, 236))}.ex-sector.ex-sector__orange:before{background:linear-gradient(135deg,rgba(255,197,158,.33),rgba(255,197,158,0))}.ex-sector.ex-sector__orange:after{background:linear-gradient(235deg,rgba(255,197,158,.33),rgba(255,197,158,0))}.ex-sector.ex-sector__orange .ex-sector__title:before{background:var(--ex-sector-title-block-orange, rgba(247, 178, 70))}.ex-sector.ex-sector__red{background:var(--ex-sector-title-red, rgba(249, 234, 231))}.ex-sector.ex-sector__red:before{background:linear-gradient(135deg,rgba(255,150,142,.33),rgba(255,197,158,0))}.ex-sector.ex-sector__red:after{background:linear-gradient(235deg,rgba(255,150,142,.33),rgba(255,197,158,0))}.ex-sector.ex-sector__red .ex-sector__title:before{background:var(--ex-sector-title-block-red, rgba(245, 105, 96))}.ex-sector.ex-sector__blue{background:var(--ex-sector-title-blue, rgba(241, 245, 254))}.ex-sector.ex-sector__blue:before{background:linear-gradient(135deg,rgba(172,209,255,.33),rgba(172,209,255,0))}.ex-sector.ex-sector__blue:after{background:linear-gradient(235deg,rgba(172,209,255,.33),rgba(172,209,255,0))}.ex-sector.ex-sector__blue .ex-sector__title:before{background:var(--ex-sector-title-block-blue, rgba(124, 165, 250))}
|
|
1
|
+
:root{--back-to-top-z-index: 5;--back-to-top-color: #3eaf7c;--back-to-top-color-hover: #71cda3}.back-to-top{cursor:pointer;position:fixed;bottom:2rem;right:2.5rem;width:2rem;height:1.2rem;background-color:var(--back-to-top-color);mask:url(/docs/explore-ui/assets/back-to-top-8efcbe56.svg) no-repeat;z-index:var(--back-to-top-z-index)}.back-to-top:hover{background-color:var(--back-to-top-color-hover)}@media (max-width: 959px){.back-to-top{display:none}}@media print{.back-to-top{display:none}}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0}:root{--external-link-icon-color: #aaa}.external-link-icon{position:relative;display:inline-block;color:var(--external-link-icon-color);vertical-align:middle;top:-.0625rem}@media print{.external-link-icon{display:none}}.external-link-icon-sr-only{position:absolute;width:.0625rem;height:.0625rem;padding:0;margin:-.0625rem;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;-webkit-user-select:none;user-select:none}:root{--medium-zoom-z-index: 100;--medium-zoom-bg-color: #ffffff;--medium-zoom-opacity: 1}.medium-zoom-overlay{background-color:var(--medium-zoom-bg-color)!important;z-index:var(--medium-zoom-z-index)}.medium-zoom-overlay~img{z-index:calc(var(--medium-zoom-z-index) + 1)}.medium-zoom--opened .medium-zoom-overlay{opacity:var(--medium-zoom-opacity)}:root{--nprogress-color: #29d;--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{background:var(--nprogress-color);position:fixed;z-index:var(--nprogress-z-index);top:0;left:0;width:100%;height:.125rem}:root{--c-brand: #3eaf7c;--c-brand-light: #4abf8a;--c-bg: #ffffff;--c-bg-light: #f3f4f5;--c-bg-lighter: #eeeeee;--c-bg-dark: #ebebec;--c-bg-darker: #e6e6e6;--c-bg-navbar: var(--c-bg);--c-bg-sidebar: var(--c-bg);--c-bg-arrow: #cccccc;--c-text: #2c3e50;--c-text-accent: var(--c-brand);--c-text-light: #3a5169;--c-text-lighter: #4e6e8e;--c-text-lightest: #6a8bad;--c-text-quote: #999999;--c-border: #eaecef;--c-border-dark: #dfe2e5;--c-tip: #42b983;--c-tip-bg: var(--c-bg-light);--c-tip-title: var(--c-text);--c-tip-text: var(--c-text);--c-tip-text-accent: var(--c-text-accent);--c-warning: #ffc310;--c-warning-bg: #fffae3;--c-warning-bg-light: #fff3ba;--c-warning-bg-lighter: #fff0b0;--c-warning-border-dark: #f7dc91;--c-warning-details-bg: #fff5ca;--c-warning-title: #f1b300;--c-warning-text: #746000;--c-warning-text-accent: #edb100;--c-warning-text-light: #c1971c;--c-warning-text-quote: #ccab49;--c-danger: #f11e37;--c-danger-bg: #ffe0e0;--c-danger-bg-light: #ffcfde;--c-danger-bg-lighter: #ffc9c9;--c-danger-border-dark: #f1abab;--c-danger-details-bg: #ffd4d4;--c-danger-title: #ed1e2c;--c-danger-text: #660000;--c-danger-text-accent: #bd1a1a;--c-danger-text-light: #b5474d;--c-danger-text-quote: #c15b5b;--c-details-bg: #eeeeee;--c-badge-tip: var(--c-tip);--c-badge-warning: #ecc808;--c-badge-warning-text: var(--c-bg);--c-badge-danger: #dc2626;--c-badge-danger-text: var(--c-bg);--t-color: .3s ease;--t-transform: .3s ease;--code-bg-color: #282c34;--code-hl-bg-color: rgba(0, 0, 0, .66);--code-ln-color: #9e9e9e;--code-ln-wrapper-width: 3.5rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-code: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--navbar-height: 3.6rem;--navbar-padding-v: .7rem;--navbar-padding-h: 1.5rem;--sidebar-width: 20rem;--sidebar-width-mobile: calc(var(--sidebar-width) * .82);--content-width: 46.25rem;--homepage-width: 60rem}.back-to-top{--back-to-top-color: var(--c-brand);--back-to-top-color-hover: var(--c-brand-light)}.DocSearch{--docsearch-primary-color: var(--c-brand);--docsearch-text-color: var(--c-text);--docsearch-highlight-color: var(--c-brand);--docsearch-muted-color: var(--c-text-quote);--docsearch-container-background: rgba(9, 10, 17, .8);--docsearch-modal-background: var(--c-bg-light);--docsearch-searchbox-background: var(--c-bg-lighter);--docsearch-searchbox-focus-background: var(--c-bg);--docsearch-searchbox-shadow: inset 0 0 0 .125rem var(--c-brand);--docsearch-hit-color: var(--c-text-light);--docsearch-hit-active-color: var(--c-bg);--docsearch-hit-background: var(--c-bg);--docsearch-hit-shadow: 0 .0625rem .1875rem 0 var(--c-border-dark);--docsearch-footer-background: var(--c-bg)}.external-link-icon{--external-link-icon-color: var(--c-text-quote)}.medium-zoom-overlay{--medium-zoom-bg-color: var(--c-bg)}#nprogress{--nprogress-color: var(--c-brand)}.pwa-popup{--pwa-popup-text-color: var(--c-text);--pwa-popup-bg-color: var(--c-bg);--pwa-popup-border-color: var(--c-brand);--pwa-popup-shadow: 0 .25rem 1rem var(--c-brand);--pwa-popup-btn-text-color: var(--c-bg);--pwa-popup-btn-bg-color: var(--c-brand);--pwa-popup-btn-hover-bg-color: var(--c-brand-light)}.search-box{--search-bg-color: var(--c-bg);--search-accent-color: var(--c-brand);--search-text-color: var(--c-text);--search-border-color: var(--c-border);--search-item-text-color: var(--c-text-lighter);--search-item-focus-bg-color: var(--c-bg-light)}html.dark{--c-brand: #3aa675;--c-brand-light: #349469;--c-bg: #22272e;--c-bg-light: #2b313a;--c-bg-lighter: #262c34;--c-bg-dark: #343b44;--c-bg-darker: #37404c;--c-text: #adbac7;--c-text-light: #96a7b7;--c-text-lighter: #8b9eb0;--c-text-lightest: #8094a8;--c-border: #3e4c5a;--c-border-dark: #34404c;--c-tip: #318a62;--c-warning: #e0ad15;--c-warning-bg: #2d2f2d;--c-warning-bg-light: #423e2a;--c-warning-bg-lighter: #44442f;--c-warning-border-dark: #957c35;--c-warning-details-bg: #39392d;--c-warning-title: #fdca31;--c-warning-text: #d8d96d;--c-warning-text-accent: #ffbf00;--c-warning-text-light: #ddb84b;--c-warning-text-quote: #ccab49;--c-danger: #fc1e38;--c-danger-bg: #39232c;--c-danger-bg-light: #4b2b35;--c-danger-bg-lighter: #553040;--c-danger-border-dark: #a25151;--c-danger-details-bg: #482936;--c-danger-title: #fc2d3b;--c-danger-text: #ea9ca0;--c-danger-text-accent: #fd3636;--c-danger-text-light: #d9777c;--c-danger-text-quote: #d56b6b;--c-details-bg: #323843;--c-badge-warning: var(--c-warning);--c-badge-warning-text: #3c2e05;--c-badge-danger: var(--c-danger);--c-badge-danger-text: #401416;--code-hl-bg-color: #363b46}html.dark .DocSearch{--docsearch-logo-color: var(--c-text);--docsearch-modal-shadow: inset .0625rem .0625rem 0 0 #2c2e40, 0 .1875rem .5rem 0 #000309;--docsearch-key-shadow: inset 0 -.125rem 0 0 #282d55, inset 0 0 .0625rem .0625rem #51577d, 0 .125rem .125rem 0 rgba(3, 4, 9, .3);--docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);--docsearch-footer-shadow: inset 0 .0625rem 0 0 rgba(73, 76, 106, .5), 0 -.25rem .5rem 0 rgba(0, 0, 0, .2)}html,body{padding:0;margin:0;background-color:var(--c-bg);transition:background-color var(--t-color)}html.dark{color-scheme:dark}html{font-size:1rem}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;color:var(--c-text)}a{font-weight:500;color:var(--c-text-accent);text-decoration:none;overflow-wrap:break-word}p a code{font-weight:400;color:var(--c-text-accent)}kbd{font-family:var(--font-family-code);color:var(--c-text);background:var(--c-bg-lighter);border:solid .15rem var(--c-border-dark);border-bottom:solid .25rem var(--c-border-dark);border-radius:.15rem;padding:0 .15em}code{font-family:var(--font-family-code);color:var(--c-text-lighter);padding:.25rem .5rem;margin:0;font-size:.85em;background-color:var(--c-bg-light);border-radius:.1875rem;overflow-wrap:break-word;transition:background-color var(--t-color)}blockquote{font-size:1rem;color:var(--c-text-quote);border-left:.2rem solid var(--c-border-dark);margin:1rem 0;padding:.25rem 0 .25rem 1rem;overflow-wrap:break-word}blockquote>p{margin:0}ul,ol{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;overflow-wrap:break-word}h1:focus-visible,h2:focus-visible,h3:focus-visible,h4:focus-visible,h5:focus-visible,h6:focus-visible{outline:none}h1:hover .header-anchor,h2:hover .header-anchor,h3:hover .header-anchor,h4:hover .header-anchor,h5:hover .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:.0625rem solid var(--c-border);transition:border-color var(--t-color)}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;opacity:0;-webkit-user-select:none;user-select:none}@media print{a.header-anchor{display:none}}a.header-anchor:hover{text-decoration:none}a.header-anchor:focus-visible{opacity:1}@media print{a[href^="http://"]:after,a[href^="https://"]:after{content:" (" attr(href) ") "}}p,ul,ol{line-height:1.7;overflow-wrap:break-word}hr{border:0;border-top:.0625rem solid var(--c-border)}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto;transition:border-color var(--t-color)}tr{border-top:.0625rem solid var(--c-border-dark);transition:border-color var(--t-color)}tr:nth-child(2n){background-color:var(--c-bg-light);transition:background-color var(--t-color)}tr:nth-child(2n) code{background-color:var(--c-bg-dark)}th,td{padding:.6em 1em;border:.0625rem solid var(--c-border-dark);transition:border-color var(--t-color)}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-left:.25rem solid transparent;border-right:.25rem solid transparent;border-bottom:.375rem solid var(--c-bg-arrow)}.arrow.down{border-left:.25rem solid transparent;border-right:.25rem solid transparent;border-top:.375rem solid var(--c-bg-arrow)}.arrow.right{border-top:.25rem solid transparent;border-bottom:.25rem solid transparent;border-left:.375rem solid var(--c-bg-arrow)}.arrow.left{border-top:.25rem solid transparent;border-bottom:.25rem solid transparent;border-right:.375rem solid var(--c-bg-arrow)}.badge{display:inline-block;font-size:.875rem;font-weight:600;height:1.125rem;line-height:1.125rem;border-radius:.1875rem;padding:0 .375rem;color:var(--c-bg);vertical-align:top;transition:color var(--t-color),background-color var(--t-color)}.badge.tip{background-color:var(--c-badge-tip)}.badge.warning{background-color:var(--c-badge-warning);color:var(--c-badge-warning-text)}.badge.danger{background-color:var(--c-badge-danger);color:var(--c-badge-danger-text)}.badge+.badge{margin-left:.3125rem}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:var(--font-family-code);font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#ec5975}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:#3eaf7c}.theme-default-content pre,.theme-default-content pre[class*=language-]{line-height:1.375;padding:1.3rem 1.5rem;margin:.85rem 0;border-radius:.375rem;overflow:auto}.theme-default-content pre code,.theme-default-content pre[class*=language-] code{color:#fff;padding:0;background-color:transparent!important;border-radius:0;overflow-wrap:unset;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.theme-default-content .line-number{font-family:var(--font-family-code)}div[class*=language-]{position:relative;background-color:var(--code-bg-color);border-radius:.375rem}div[class*=language-]:before{content:attr(data-ext);position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:var(--code-ln-color)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent!important;position:relative;z-index:1}div[class*=language-] .highlight-lines{-webkit-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.375}div[class*=language-] .highlight-lines .highlight-line{background-color:var(--code-hl-bg-color)}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlight-line{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlight-line:before{content:" ";position:absolute;z-index:2;left:0;top:0;display:block;width:var(--code-ln-wrapper-width);height:100%}div[class*=language-].line-numbers-mode pre{margin-left:var(--code-ln-wrapper-width);padding-left:1rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers{position:absolute;top:0;width:var(--code-ln-wrapper-width);text-align:center;color:var(--code-ln-color);padding-top:1.25rem;line-height:1.375;counter-reset:line-number}div[class*=language-].line-numbers-mode .line-numbers .line-number{position:relative;z-index:3;-webkit-user-select:none;user-select:none;height:1.375em}div[class*=language-].line-numbers-mode .line-numbers .line-number:before{counter-increment:line-number;content:counter(line-number);font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;left:0;width:var(--code-ln-wrapper-width);height:100%;border-radius:.375rem 0 0 .375rem;border-right:.0625rem solid var(--code-hl-bg-color)}@media (max-width: 419px){.theme-default-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}.code-group__nav{margin-top:.85rem;margin-bottom:-2.075rem;padding-bottom:1.325rem;padding-left:.625rem;padding-top:.625rem;border-top-left-radius:.375rem;border-top-right-radius:.375rem;background-color:var(--code-bg-color)}.code-group__ul{margin:auto 0;padding-left:0;display:inline-flex;list-style:none}.code-group__nav-tab{border:0;padding:.3125rem;cursor:pointer;background-color:transparent;font-size:.85em;line-height:1.4;color:#ffffffe6;font-weight:600}.code-group__nav-tab:focus{outline:none}.code-group__nav-tab:focus-visible{outline:.0625rem solid rgba(255,255,255,.9)}.code-group__nav-tab-active{border-bottom:var(--c-brand) .0625rem solid}@media (max-width: 419px){.code-group__nav{margin-left:-1.5rem;margin-right:-1.5rem;border-radius:0}}.code-group-item{display:none}.code-group-item__active{display:block}.code-group-item>pre{background-color:orange}.custom-container{transition:color var(--t-color),border-color var(--t-color),background-color var(--t-color)}.custom-container .custom-container-title{font-weight:600}.custom-container .custom-container-title:not(:only-child){margin-bottom:-.4rem}.custom-container.tip,.custom-container.warning,.custom-container.danger{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-container.tip{border-color:var(--c-tip);background-color:var(--c-tip-bg);color:var(--c-tip-text)}.custom-container.tip .custom-container-title{color:var(--c-tip-title)}.custom-container.tip a{color:var(--c-tip-text-accent)}.custom-container.tip code{background-color:var(--c-bg-dark)}.custom-container.warning{border-color:var(--c-warning);background-color:var(--c-warning-bg);color:var(--c-warning-text)}.custom-container.warning .custom-container-title{color:var(--c-warning-title)}.custom-container.warning a{color:var(--c-warning-text-accent)}.custom-container.warning blockquote{border-left-color:var(--c-warning-border-dark);color:var(--c-warning-text-quote)}.custom-container.warning code{color:var(--c-warning-text-light);background-color:var(--c-warning-bg-light)}.custom-container.warning details{background-color:var(--c-warning-details-bg)}.custom-container.warning details code{background-color:var(--c-warning-bg-lighter)}.custom-container.warning .external-link-icon{--external-link-icon-color: var(--c-warning-text-quote)}.custom-container.danger{border-color:var(--c-danger);background-color:var(--c-danger-bg);color:var(--c-danger-text)}.custom-container.danger .custom-container-title{color:var(--c-danger-title)}.custom-container.danger a{color:var(--c-danger-text-accent)}.custom-container.danger blockquote{border-left-color:var(--c-danger-border-dark);color:var(--c-danger-text-quote)}.custom-container.danger code{color:var(--c-danger-text-light);background-color:var(--c-danger-bg-light)}.custom-container.danger details{background-color:var(--c-danger-details-bg)}.custom-container.danger details code{background-color:var(--c-danger-bg-lighter)}.custom-container.danger .external-link-icon{--external-link-icon-color: var(--c-danger-text-quote)}.custom-container.details{display:block;position:relative;border-radius:.125rem;margin:1.6em 0;padding:1.6em;background-color:var(--c-details-bg)}.custom-container.details code{background-color:var(--c-bg-darker)}.custom-container.details h4{margin-top:0}.custom-container.details figure:last-child,.custom-container.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-container.details summary{outline:none;cursor:pointer}.home{padding:var(--navbar-height) 2rem 0;max-width:var(--homepage-width);margin:0 auto;display:block}.home .hero{text-align:center}.home .hero img{max-width:100%;max-height:17.5rem;display:block;margin:3rem auto 1.5rem}.home .hero h1{font-size:3rem}.home .hero h1,.home .hero .description,.home .hero .actions{margin:1.8rem auto}.home .hero .actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.home .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:var(--c-text-lightest)}.home .hero .action-button{display:inline-block;font-size:1.2rem;padding:.8rem 1.6rem;border-width:.125rem;border-style:solid;border-radius:.25rem;transition:background-color var(--t-color);box-sizing:border-box}.home .hero .action-button.primary{color:var(--c-bg);background-color:var(--c-brand);border-color:var(--c-brand)}.home .hero .action-button.primary:hover{background-color:var(--c-brand-light)}.home .hero .action-button.secondary{color:var(--c-brand);background-color:var(--c-bg);border-color:var(--c-brand)}.home .hero .action-button.secondary:hover{color:var(--c-bg);background-color:var(--c-brand-light)}.home .features{border-top:.0625rem solid var(--c-border);transition:border-color var(--t-color);padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%}.home .feature h2{font-size:1.4rem;font-weight:500;border-bottom:none;padding-bottom:0;color:var(--c-text-light)}.home .feature p{color:var(--c-text-lighter)}.home .theme-default-content{padding:0;margin:0}.home .footer{padding:2.5rem;border-top:.0625rem solid var(--c-border);text-align:center;color:var(--c-text-lighter);transition:border-color var(--t-color)}@media (max-width: 719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width: 419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:13.125rem;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero h1,.home .hero .description,.home .hero .actions{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.page{padding-top:var(--navbar-height);padding-left:var(--sidebar-width)}.navbar{position:fixed;z-index:20;top:0;left:0;right:0;height:var(--navbar-height);box-sizing:border-box;border-bottom:.0625rem solid var(--c-border);background-color:var(--c-bg-navbar);transition:background-color var(--t-color),border-color var(--t-color)}.sidebar{font-size:1rem;width:var(--sidebar-width);position:fixed;z-index:10;margin:0;top:var(--navbar-height);left:0;bottom:0;box-sizing:border-box;border-right:.0625rem solid var(--c-border);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--c-brand) var(--c-border);background-color:var(--c-bg-sidebar);transition:transform var(--t-transform),background-color var(--t-color),border-color var(--t-color)}.sidebar::-webkit-scrollbar{width:.4375rem}.sidebar::-webkit-scrollbar-track{background-color:var(--c-border)}.sidebar::-webkit-scrollbar-thumb{background-color:var(--c-brand)}.sidebar-mask{position:fixed;z-index:9;top:0;left:0;width:100vw;height:100vh;display:none}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(1){transform:rotate(45deg) translate3d(.34375rem,.34375rem,0)}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(2){transform:scale3d(0,1,1)}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(3){transform:rotate(-45deg) translate3d(.375rem,-.375rem,0)}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(1),.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(3){transform-origin:center}.theme-container.no-navbar .theme-default-content h1,.theme-container.no-navbar .theme-default-content h2,.theme-container.no-navbar .theme-default-content h3,.theme-container.no-navbar .theme-default-content h4,.theme-container.no-navbar .theme-default-content h5,.theme-container.no-navbar .theme-default-content h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .page{padding-top:0}.theme-container.no-navbar .sidebar{top:0}.theme-container.no-sidebar .sidebar{display:none}@media (max-width: 719px){.theme-container.no-sidebar .sidebar{display:block}}.theme-container.no-sidebar .page{padding-left:0}.theme-default-content a:hover{text-decoration:underline}.theme-default-content img{max-width:100%}.theme-default-content h1,.theme-default-content h2,.theme-default-content h3,.theme-default-content h4,.theme-default-content h5,.theme-default-content h6{margin-top:calc(.5rem - var(--navbar-height));padding-top:calc(1rem + var(--navbar-height));margin-bottom:0}.theme-default-content h1:first-child,.theme-default-content h2:first-child,.theme-default-content h3:first-child,.theme-default-content h4:first-child,.theme-default-content h5:first-child,.theme-default-content h6:first-child{margin-bottom:1rem}.theme-default-content h1:first-child+p,.theme-default-content h1:first-child+pre,.theme-default-content h1:first-child+.custom-container,.theme-default-content h2:first-child+p,.theme-default-content h2:first-child+pre,.theme-default-content h2:first-child+.custom-container,.theme-default-content h3:first-child+p,.theme-default-content h3:first-child+pre,.theme-default-content h3:first-child+.custom-container,.theme-default-content h4:first-child+p,.theme-default-content h4:first-child+pre,.theme-default-content h4:first-child+.custom-container,.theme-default-content h5:first-child+p,.theme-default-content h5:first-child+pre,.theme-default-content h5:first-child+.custom-container,.theme-default-content h6:first-child+p,.theme-default-content h6:first-child+pre,.theme-default-content h6:first-child+.custom-container{margin-top:2rem}@media (max-width: 959px){.sidebar{font-size:.9375rem;width:var(--sidebar-width-mobile)}.page{padding-left:var(--sidebar-width-mobile)}}@media (max-width: 719px){.sidebar{top:0;padding-top:var(--navbar-height);transform:translate(-100%)}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translate(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width: 419px){h1{font-size:1.9rem}}.navbar{--navbar-line-height: calc( var(--navbar-height) - 2 * var(--navbar-padding-v) );padding:var(--navbar-padding-v) var(--navbar-padding-h);line-height:var(--navbar-line-height)}.navbar .logo{height:var(--navbar-line-height);margin-right:var(--navbar-padding-v);vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:var(--c-text);position:relative}.navbar .navbar-items-wrapper{display:flex;position:absolute;box-sizing:border-box;top:var(--navbar-padding-v);right:var(--navbar-padding-h);height:var(--navbar-line-height);padding-left:var(--navbar-padding-h);white-space:nowrap;font-size:.9rem}.navbar .navbar-items-wrapper .search-box{flex:0 0 auto;vertical-align:top}@media screen and (max-width: 719px){.navbar{padding-left:4rem}.navbar .site-name{display:block;width:calc(100vw - 11rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.navbar .can-hide{display:none}}.navbar-items{display:inline-block}@media print{.navbar-items{display:none}}.navbar-items a{display:inline-block;line-height:1.4rem;color:inherit}.navbar-items a:hover,.navbar-items a.router-link-active{color:var(--c-text)}.navbar-items .navbar-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:var(--navbar-line-height)}.navbar-items .navbar-item:first-child{margin-left:0}.navbar-items .navbar-item>a:hover,.navbar-items .navbar-item>a.router-link-active{margin-bottom:-.125rem;border-bottom:.125rem solid var(--c-text-accent)}@media (max-width: 719px){.navbar-items .navbar-item{margin-left:0}.navbar-items .navbar-item>a:hover,.navbar-items .navbar-item>a.router-link-active{margin-bottom:0;border-bottom:none}.navbar-items a:hover,.navbar-items a.router-link-active{color:var(--c-text-accent)}}.toggle-sidebar-button{position:absolute;top:.6rem;left:1rem;display:none;padding:.6rem;cursor:pointer}.toggle-sidebar-button .icon{display:flex;flex-direction:column;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;cursor:inherit}.toggle-sidebar-button .icon span{display:inline-block;width:100%;height:.125rem;border-radius:.125rem;background-color:var(--c-text);transition:transform var(--t-transform)}.toggle-sidebar-button .icon span:nth-child(2){margin:.375rem 0}@media screen and (max-width: 719px){.toggle-sidebar-button{display:block}}.toggle-color-mode-button{display:flex;margin:auto;margin-left:1rem;border:0;background:none;color:var(--c-text);opacity:.8;cursor:pointer}@media print{.toggle-color-mode-button{display:none}}.toggle-color-mode-button:hover{opacity:1}.toggle-color-mode-button .icon{width:1.25rem;height:1.25rem}.DocSearch{transition:background-color var(--t-color)}.navbar-dropdown-wrapper{cursor:pointer}.navbar-dropdown-wrapper .navbar-dropdown-title,.navbar-dropdown-wrapper .navbar-dropdown-title-mobile{display:block;font-size:.9rem;font-family:inherit;cursor:inherit;padding:inherit;line-height:1.4rem;background:transparent;border:none;font-weight:500;color:var(--c-text)}.navbar-dropdown-wrapper .navbar-dropdown-title:hover,.navbar-dropdown-wrapper .navbar-dropdown-title-mobile:hover{border-color:transparent}.navbar-dropdown-wrapper .navbar-dropdown-title .arrow,.navbar-dropdown-wrapper .navbar-dropdown-title-mobile .arrow{vertical-align:middle;margin-top:-.0625rem;margin-left:.4rem}.navbar-dropdown-wrapper .navbar-dropdown-title-mobile{display:none;font-weight:600;font-size:inherit}.navbar-dropdown-wrapper .navbar-dropdown-title-mobile:hover{color:var(--c-text-accent)}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item{color:inherit;line-height:1.7rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle{margin:.45rem 0 0;border-top:.0625rem solid var(--c-border);padding:1rem 0 .45rem;font-size:.9rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle>span{padding:0 1.5rem 0 1.25rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle>a{font-weight:inherit}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle>a.router-link-active:after{display:none}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subitem-wrapper{padding:0;list-style:none}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subitem-wrapper .navbar-dropdown-subitem{font-size:.9em}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a:hover,.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a.router-link-active{color:var(--c-text-accent)}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:.3125rem solid var(--c-text-accent);border-top:.1875rem solid transparent;border-bottom:.1875rem solid transparent;position:absolute;top:calc(50% - .125rem);left:.5625rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item:first-child .navbar-dropdown-subtitle{margin-top:0;padding-top:0;border-top:0}.navbar-dropdown-wrapper.mobile.open .navbar-dropdown-title,.navbar-dropdown-wrapper.mobile.open .navbar-dropdown-title-mobile{margin-bottom:.5rem}.navbar-dropdown-wrapper.mobile .navbar-dropdown-title,.navbar-dropdown-wrapper.mobile .navbar-dropdown-title-mobile{display:none}.navbar-dropdown-wrapper.mobile .navbar-dropdown-title-mobile{display:block}.navbar-dropdown-wrapper.mobile .navbar-dropdown{transition:height .1s ease-out;overflow:hidden}.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle{border-top:0;margin-top:0;padding-top:0;padding-bottom:0}.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle,.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item>a{font-size:.9375rem;line-height:2rem}.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subitem{font-size:.875rem;padding-left:1rem}.navbar-dropdown-wrapper:not(.mobile){height:1.8rem}.navbar-dropdown-wrapper:not(.mobile):hover .navbar-dropdown,.navbar-dropdown-wrapper:not(.mobile).open .navbar-dropdown{display:block!important}.navbar-dropdown-wrapper:not(.mobile).open:blur{display:none}.navbar-dropdown-wrapper:not(.mobile) .navbar-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:var(--c-bg-navbar);padding:.6rem 0;border:.0625rem solid var(--c-border);border-bottom-color:var(--c-border-dark);text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}.page{padding-bottom:2rem;display:block}.page .theme-default-content{max-width:var(--content-width);margin:0 auto;padding:2rem 2.5rem;padding-top:0}@media (max-width: 959px){.page .theme-default-content{padding:2rem}}@media (max-width: 419px){.page .theme-default-content{padding:1.5rem}}.page-meta{max-width:var(--content-width);margin:0 auto;padding:1rem 2.5rem;overflow:auto}@media (max-width: 959px){.page-meta{padding:2rem}}@media (max-width: 419px){.page-meta{padding:1.5rem}}.page-meta .meta-item{cursor:default;margin-top:.8rem}.page-meta .meta-item .meta-item-label{font-weight:500;color:var(--c-text-lighter)}.page-meta .meta-item .meta-item-info{font-weight:400;color:var(--c-text-quote)}.page-meta .edit-link{display:inline-block;margin-right:.25rem}@media print{.page-meta .edit-link{display:none}}.page-meta .last-updated{float:right}@media (max-width: 719px){.page-meta .last-updated{font-size:.8em;float:none}.page-meta .contributors{font-size:.8em}}.page-nav{max-width:var(--content-width);margin:0 auto;padding:1rem 2.5rem 2rem;padding-bottom:0}@media (max-width: 959px){.page-nav{padding:2rem}}@media (max-width: 419px){.page-nav{padding:1.5rem}}.page-nav .inner{min-height:2rem;margin-top:0;border-top:.0625rem solid var(--c-border);transition:border-color var(--t-color);padding-top:1rem;overflow:auto}.page-nav .prev a:before{content:"←"}.page-nav .next{float:right}.page-nav .next a:after{content:"→"}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .navbar-items{display:none;border-bottom:.0625rem solid var(--c-border);transition:border-color var(--t-color);padding:.5rem 0 .75rem}.sidebar .navbar-items a{font-weight:600}.sidebar .navbar-items .navbar-item{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar .sidebar-items{padding:1.5rem 0}@media (max-width: 719px){.sidebar .navbar-items{display:block}.sidebar .navbar-items .navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a.router-link-active:after{top:.875rem}.sidebar .sidebar-items{padding:1rem 0}}.sidebar-item{cursor:default;border-left:.25rem solid transparent;color:var(--c-text)}.sidebar-item:focus-visible{outline-width:.0625rem;outline-offset:-.0625rem}.sidebar-item.active:not(p.sidebar-heading){font-weight:600;color:var(--c-text-accent);border-left-color:var(--c-text-accent)}.sidebar-item.sidebar-heading{transition:color .15s ease;font-size:1.1em;font-weight:700;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0}.sidebar-item.sidebar-heading+.sidebar-item-children{transition:height .1s ease-out;overflow:hidden;margin-bottom:.75rem}.sidebar-item.collapsible{cursor:pointer}.sidebar-item.collapsible .arrow{position:relative;top:-.12em;left:.5em}.sidebar-item:not(.sidebar-heading){font-size:1em;font-weight:400;display:inline-block;margin:0;padding:.35rem 1rem .35rem 2rem;line-height:1.4;width:100%;box-sizing:border-box}.sidebar-item:not(.sidebar-heading)+.sidebar-item-children{padding-left:1rem;font-size:.95em}.sidebar-item-children .sidebar-item-children .sidebar-item:not(.sidebar-heading){padding:.25rem 1rem .25rem 1.75rem}.sidebar-item-children .sidebar-item-children .sidebar-item:not(.sidebar-heading).active{font-weight:500;border-left-color:transparent}a.sidebar-heading+.sidebar-item-children .sidebar-item:not(.sidebar-heading).active{border-left-color:transparent}a.sidebar-item{cursor:pointer}a.sidebar-item:hover{color:var(--c-text-accent)}.table-of-contents .badge{vertical-align:middle}.dropdown-enter-from,.dropdown-leave-to{height:0!important}.fade-slide-y-enter-active{transition:all .2s ease}.fade-slide-y-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1)}.fade-slide-y-enter-from,.fade-slide-y-leave-to{transform:translateY(.625rem);opacity:0}:root{--content-width: 90%}.ex-sector{width:100%;position:relative;color:#fff;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:start;border-radius:var(--nut-radius-lg, 8px)}.ex-sector .ex-sector__title{position:relative;color:#4e4945;font-size:.42667rem;font-weight:700;padding:.26667rem .26667rem .13333rem}.ex-sector .ex-sector__title:before{content:" ";position:absolute;z-index:1;left:-.13333rem;top:.34667rem;width:.26667rem;height:.45333rem;border-radius:.13333rem}.ex-sector .ex-sector__subtitle{color:var(--ex-gray-7, #6d6d6d);font-size:.4rem;padding:0 .26667rem .26667rem}.ex-sector:before{content:" ";position:absolute;bottom:40%;left:60%;width:60%;padding-bottom:60%;height:0;border-radius:50%}.ex-sector:after{content:" ";position:absolute;top:50%;right:35%;width:80%;padding-bottom:60%;height:0;border-radius:50%}.ex-sector.ex-sector__green{background:var(--ex-sector-title-green, rgba(232, 251, 247))}.ex-sector.ex-sector__green:before{background:linear-gradient(135deg,rgba(77,209,198,.33),rgba(79,211,200,0))}.ex-sector.ex-sector__green:after{background:linear-gradient(255deg,rgba(77,209,198,.33),rgba(79,211,200,0))}.ex-sector.ex-sector__green .ex-sector__title:before{background:var(--ex-sector-title-block-green, rgba(84, 216, 186))}.ex-sector.ex-sector__orange{background:var(--ex-sector-title-orange, rgba(252, 248, 236))}.ex-sector.ex-sector__orange:before{background:linear-gradient(135deg,rgba(255,197,158,.33),rgba(255,197,158,0))}.ex-sector.ex-sector__orange:after{background:linear-gradient(235deg,rgba(255,197,158,.33),rgba(255,197,158,0))}.ex-sector.ex-sector__orange .ex-sector__title:before{background:var(--ex-sector-title-block-orange, rgba(247, 178, 70))}.ex-sector.ex-sector__red{background:var(--ex-sector-title-red, rgba(249, 234, 231))}.ex-sector.ex-sector__red:before{background:linear-gradient(135deg,rgba(255,150,142,.33),rgba(255,197,158,0))}.ex-sector.ex-sector__red:after{background:linear-gradient(235deg,rgba(255,150,142,.33),rgba(255,197,158,0))}.ex-sector.ex-sector__red .ex-sector__title:before{background:var(--ex-sector-title-block-red, rgba(245, 105, 96))}.ex-sector.ex-sector__blue{background:var(--ex-sector-title-blue, rgba(241, 245, 254))}.ex-sector.ex-sector__blue:before{background:linear-gradient(135deg,rgba(172,209,255,.33),rgba(172,209,255,0))}.ex-sector.ex-sector__blue:after{background:linear-gradient(235deg,rgba(172,209,255,.33),rgba(172,209,255,0))}.ex-sector.ex-sector__blue .ex-sector__title:before{background:var(--ex-sector-title-block-blue, rgba(124, 165, 250))}
|