jobsys-explore 1.0.1

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.
Files changed (127) hide show
  1. package/.eslintignore +4 -0
  2. package/.eslintrc.cjs +38 -0
  3. package/.prettierrc.cjs +38 -0
  4. package/README.md +42 -0
  5. package/components/button/ExButton.jsx +119 -0
  6. package/components/button/index.js +4 -0
  7. package/components/button/index.less +8 -0
  8. package/components/form/ExAddress.jsx +125 -0
  9. package/components/form/ExCascader.jsx +98 -0
  10. package/components/form/ExCheckbox.jsx +59 -0
  11. package/components/form/ExDate.jsx +130 -0
  12. package/components/form/ExDatetime.jsx +152 -0
  13. package/components/form/ExField.jsx +123 -0
  14. package/components/form/ExFieldUploader.jsx +44 -0
  15. package/components/form/ExForm.jsx +395 -0
  16. package/components/form/ExNumber.jsx +49 -0
  17. package/components/form/ExRadio.jsx +58 -0
  18. package/components/form/ExRate.jsx +47 -0
  19. package/components/form/ExSelect.jsx +151 -0
  20. package/components/form/ExSlider.jsx +53 -0
  21. package/components/form/ExSwitch.jsx +49 -0
  22. package/components/form/ExTime.jsx +104 -0
  23. package/components/form/FormItem.jsx +229 -0
  24. package/components/form/PickerWrapper.jsx +111 -0
  25. package/components/form/addressData.json +1 -0
  26. package/components/form/index.js +37 -0
  27. package/components/form/index.less +108 -0
  28. package/components/form/utils.js +47 -0
  29. package/components/grid/ExGrid.jsx +53 -0
  30. package/components/grid/index.js +4 -0
  31. package/components/grid/index.less +3 -0
  32. package/components/index.js +9 -0
  33. package/components/pagination/ExPagination.jsx +148 -0
  34. package/components/pagination/index.js +5 -0
  35. package/components/pagination/index.less +15 -0
  36. package/components/provider/ExProvider.jsx +91 -0
  37. package/components/provider/index.js +4 -0
  38. package/components/qrcode/ExQrcode.jsx +86 -0
  39. package/components/qrcode/index.js +5 -0
  40. package/components/qrcode/index.less +8 -0
  41. package/components/result/ExResult.jsx +122 -0
  42. package/components/result/index.js +5 -0
  43. package/components/result/index.less +60 -0
  44. package/components/search/ExSearch.jsx +252 -0
  45. package/components/search/components/Expand.jsx +77 -0
  46. package/components/search/components/Field.jsx +27 -0
  47. package/components/search/components/Quick.jsx +53 -0
  48. package/components/search/components/index.js +5 -0
  49. package/components/search/index.js +5 -0
  50. package/components/search/index.less +119 -0
  51. package/components/search/utils.js +30 -0
  52. package/components/theme/ExTheme.jsx +10 -0
  53. package/components/theme/index.js +4 -0
  54. package/components/theme/index.less +97 -0
  55. package/components/uploader/ExUploader.jsx +248 -0
  56. package/components/uploader/index.js +5 -0
  57. package/components/utils.js +150 -0
  58. package/dist/__vite-browser-external-2447137e.mjs +5 -0
  59. package/dist/__vite-browser-external-2447137e.mjs.map +1 -0
  60. package/dist/__vite-browser-external-b3701507.js +2 -0
  61. package/dist/__vite-browser-external-b3701507.js.map +1 -0
  62. package/dist/hooks.cjs +2 -0
  63. package/dist/hooks.cjs.map +1 -0
  64. package/dist/hooks.js +35 -0
  65. package/dist/hooks.js.map +1 -0
  66. package/dist/index-82d74e5f.mjs +2120 -0
  67. package/dist/index-82d74e5f.mjs.map +1 -0
  68. package/dist/index-b8729555.js +2 -0
  69. package/dist/index-b8729555.js.map +1 -0
  70. package/dist/jobsys-explore.cjs +9 -0
  71. package/dist/jobsys-explore.cjs.map +1 -0
  72. package/dist/jobsys-explore.js +18673 -0
  73. package/dist/jobsys-explore.js.map +1 -0
  74. package/dist/style.css +1 -0
  75. package/docgen.config.cjs +9 -0
  76. package/docs/.vitepress/cache/deps/_metadata.json +19 -0
  77. package/docs/.vitepress/cache/deps/package.json +3 -0
  78. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +162 -0
  79. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +7 -0
  80. package/docs/.vitepress/cache/deps/vue.js +10795 -0
  81. package/docs/.vitepress/cache/deps/vue.js.map +7 -0
  82. package/docs/.vitepress/config.mjs +43 -0
  83. package/docs/.vitepress/dist/404.html +19 -0
  84. package/docs/.vitepress/dist/assets/app.e0eb4814.js +1 -0
  85. package/docs/.vitepress/dist/assets/chunks/framework.7a64ad8e.js +2 -0
  86. package/docs/.vitepress/dist/assets/chunks/theme.ffc5f35c.js +7 -0
  87. package/docs/.vitepress/dist/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2 +0 -0
  88. package/docs/.vitepress/dist/assets/inter-italic-cyrillic.ea42a392.woff2 +0 -0
  89. package/docs/.vitepress/dist/assets/inter-italic-greek-ext.4fbe9427.woff2 +0 -0
  90. package/docs/.vitepress/dist/assets/inter-italic-greek.8f4463c4.woff2 +0 -0
  91. package/docs/.vitepress/dist/assets/inter-italic-latin-ext.bd8920cc.woff2 +0 -0
  92. package/docs/.vitepress/dist/assets/inter-italic-latin.bd3b6f56.woff2 +0 -0
  93. package/docs/.vitepress/dist/assets/inter-italic-vietnamese.6ce511fb.woff2 +0 -0
  94. package/docs/.vitepress/dist/assets/inter-roman-cyrillic-ext.e75737ce.woff2 +0 -0
  95. package/docs/.vitepress/dist/assets/inter-roman-cyrillic.5f2c6c8c.woff2 +0 -0
  96. package/docs/.vitepress/dist/assets/inter-roman-greek-ext.ab0619bc.woff2 +0 -0
  97. package/docs/.vitepress/dist/assets/inter-roman-greek.d5a6d92a.woff2 +0 -0
  98. package/docs/.vitepress/dist/assets/inter-roman-latin-ext.0030eebd.woff2 +0 -0
  99. package/docs/.vitepress/dist/assets/inter-roman-latin.2ed14f66.woff2 +0 -0
  100. package/docs/.vitepress/dist/assets/inter-roman-vietnamese.14ce25a6.woff2 +0 -0
  101. package/docs/.vitepress/dist/assets/style.6747f984.css +1 -0
  102. package/docs/.vitepress/dist/hashmap.json +1 -0
  103. package/docs/.vitepress/theme/index.css +0 -0
  104. package/docs/.vitepress/theme/index.js +12 -0
  105. package/hooks/cipher.js +40 -0
  106. package/hooks/form.js +176 -0
  107. package/hooks/index.js +4 -0
  108. package/hooks/network.js +153 -0
  109. package/hooks/utils.js +61 -0
  110. package/index.html +17 -0
  111. package/index.js +10 -0
  112. package/package.json +75 -0
  113. package/playground/App.vue +45 -0
  114. package/playground/TestButton.vue +15 -0
  115. package/playground/TestForm.vue +271 -0
  116. package/playground/TestFormItem.vue +110 -0
  117. package/playground/TestGrid.vue +22 -0
  118. package/playground/TestPagination.vue +89 -0
  119. package/playground/TestQrcode.vue +7 -0
  120. package/playground/TestResult.vue +12 -0
  121. package/playground/TestSearch.vue +84 -0
  122. package/playground/http.js +23 -0
  123. package/playground/main.js +12 -0
  124. package/postcss.config.cjs +8 -0
  125. package/utils/style.js +13 -0
  126. package/utils/withInstall.js +7 -0
  127. package/vite.config.js +52 -0
@@ -0,0 +1 @@
1
+ @font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic.5f2c6c8c.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic-ext.e75737ce.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek.d5a6d92a.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek-ext.ab0619bc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin.2ed14f66.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin-ext.0030eebd.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-vietnamese.14ce25a6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic.ea42a392.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek.8f4463c4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek-ext.4fbe9427.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin.bd3b6f56.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin-ext.bd8920cc.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-vietnamese.6ce511fb.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-gray: #8e8e93;--vp-c-text-light-1: rgba(60, 60, 67);--vp-c-text-light-2: rgba(60, 60, 67, .75);--vp-c-text-light-3: rgba(60, 60, 67, .33);--vp-c-text-dark-1: rgba(255, 255, 245, .86);--vp-c-text-dark-2: rgba(235, 235, 245, .6);--vp-c-text-dark-3: rgba(235, 235, 245, .38);--vp-c-sponsor: #db2777}:root{--vp-c-bg: #ffffff;--vp-c-bg-elv: #ffffff;--vp-c-bg-elv-up: #ffffff;--vp-c-bg-elv-down: #f6f6f7;--vp-c-bg-elv-mute: #f6f6f7;--vp-c-bg-soft: #f6f6f7;--vp-c-bg-soft-up: #f9f9fa;--vp-c-bg-soft-down: #e3e3e5;--vp-c-bg-soft-mute: #e3e3e5;--vp-c-bg-alt: #f6f6f7;--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white);--vp-c-text-1: var(--vp-c-text-light-1);--vp-c-text-2: var(--vp-c-text-light-2);--vp-c-text-3: var(--vp-c-text-light-3);--vp-c-text-inverse-1: var(--vp-c-text-dark-1);--vp-c-text-inverse-2: var(--vp-c-text-dark-2);--vp-c-text-inverse-3: var(--vp-c-text-dark-3);--vp-c-text-code: #476582;--vp-c-mute: #eeeef0;--vp-c-mute-light: #f3f3f9;--vp-c-mute-lighter: #f9f9fa;--vp-c-mute-dark: #e3e3e5;--vp-c-mute-darker: #d7d7d9;--vp-c-brand: #4565d8;--vp-c-brand-light: #708fff;--vp-c-brand-lighter: #a4b2ff;--vp-c-brand-lightest: #ecefff;--vp-c-brand-dark: #4565d8;--vp-c-brand-darker: #23459f;--vp-c-brand-darkest: #132f59;--vp-c-brand-dimm-1: rgba(112, 143, 255, .05);--vp-c-brand-dimm-2: rgba(112, 143, 255, .2);--vp-c-brand-dimm-3: rgba(112, 143, 255, .5);--vp-c-green: #10b981;--vp-c-green-light: #34d399;--vp-c-green-lighter: #6ee7b7;--vp-c-green-dark: #059669;--vp-c-green-darker: #047857;--vp-c-green-dimm-1: rgba(16, 185, 129, .05);--vp-c-green-dimm-2: rgba(16, 185, 129, .2);--vp-c-green-dimm-3: rgba(16, 185, 129, .5);--vp-c-yellow: #d97706;--vp-c-yellow-light: #f59e0b;--vp-c-yellow-lighter: #fbbf24;--vp-c-yellow-lightest: #fcd34d;--vp-c-yellow-dark: #b45309;--vp-c-yellow-darker: #92400e;--vp-c-yellow-darkest: #6c3d08;--vp-c-yellow-dimm-1: rgba(234, 179, 8, .05);--vp-c-yellow-dimm-2: rgba(234, 179, 8, .2);--vp-c-yellow-dimm-3: rgba(234, 179, 8, .5);--vp-c-red: #f43f5e;--vp-c-red-light: #fb7185;--vp-c-red-lighter: #fda4af;--vp-c-red-lightest: #fdd6e0;--vp-c-red-dark: #e11d48;--vp-c-red-darker: #be123c;--vp-c-red-darkest: #9f1239;--vp-c-red-dimm-1: rgba(244, 63, 94, .05);--vp-c-red-dimm-2: rgba(244, 63, 94, .2);--vp-c-red-dimm-3: rgba(244, 63, 94, .5)}.dark{--vp-c-bg: #1e1e20;--vp-c-bg-elv: #252529;--vp-c-bg-elv-up: #323238;--vp-c-bg-elv-down: #1e1e20;--vp-c-bg-elv-mute: #323238;--vp-c-bg-soft: #252529;--vp-c-bg-soft-up: #323238;--vp-c-bg-soft-down: #1e1e20;--vp-c-bg-soft-mute: #323238;--vp-c-bg-alt: #161618;--vp-c-border: rgba(82, 82, 89, .68);--vp-c-divider: rgba(82, 82, 89, .32);--vp-c-gutter: #000000;--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black);--vp-c-text-1: var(--vp-c-text-dark-1);--vp-c-text-2: var(--vp-c-text-dark-2);--vp-c-text-3: var(--vp-c-text-dark-3);--vp-c-text-inverse-1: var(--vp-c-text-light-1);--vp-c-text-inverse-2: var(--vp-c-text-light-2);--vp-c-text-inverse-3: var(--vp-c-text-light-3);--vp-c-text-code: #c9def1;--vp-c-mute: #323238;--vp-c-mute-light: #3a3a3c;--vp-c-mute-lighter: #505053;--vp-c-mute-dark: #222226;--vp-c-mute-darker: #505053;--vp-c-brand: #708fff;--vp-c-brand-light: #a4b2ff;--vp-c-brand-lighter: #a4c8ff;--vp-c-brand-lightest: #ecefff;--vp-c-brand-dark: #4565d8;--vp-c-brand-darker: #23459f;--vp-c-brand-darkest: #132f59;--vp-c-brand-dimm-1: rgba(112, 143, 255, .05);--vp-c-brand-dimm-2: rgba(112, 143, 255, .2);--vp-c-brand-dimm-3: rgba(112, 143, 255, .5);--vp-c-green: #10b981;--vp-c-green-light: #34d399;--vp-c-green-lighter: #6ee7b7;--vp-c-green-lightest: #a7f3d0;--vp-c-green-dark: #059669;--vp-c-green-darker: #047857;--vp-c-green-darkest: #065f46;--vp-c-green-dimm-1: rgba(16, 185, 129, .05);--vp-c-green-dimm-2: rgba(16, 185, 129, .2);--vp-c-green-dimm-3: rgba(16, 185, 129, .5);--vp-c-yellow: #d1a336;--vp-c-yellow-light: #f8e3a1;--vp-c-yellow-lighter: #fff0c0;--vp-c-yellow-lightest: #fff7dc;--vp-c-yellow-dark: #b45309;--vp-c-yellow-darker: #92400e;--vp-c-yellow-darkest: #6c3d08;--vp-c-yellow-dimm-1: rgba(234, 179, 8, .05);--vp-c-yellow-dimm-2: rgba(234, 179, 8, .2);--vp-c-yellow-dimm-3: rgba(234, 179, 8, .5);--vp-c-red: #f43f5e;--vp-c-red-light: #fb7185;--vp-c-red-lighter: #fda4af;--vp-c-red-lightest: #fdd6e0;--vp-c-red-dark: #e11d48;--vp-c-red-darker: #be123c;--vp-c-red-darkest: #9f1239;--vp-c-red-dimm-1: rgba(244, 63, 94, .05);--vp-c-red-dimm-2: rgba(244, 63, 94, .2);--vp-c-red-dimm-3: rgba(244, 63, 94, .5)}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 .02667rem .05333rem rgba(0, 0, 0, .04), 0 .02667rem .05333rem rgba(0, 0, 0, .06);--vp-shadow-2: 0 .08rem .32rem rgba(0, 0, 0, .07), 0 .02667rem .10667rem rgba(0, 0, 0, .07);--vp-shadow-3: 0 .32rem .85333rem rgba(0, 0, 0, .1), 0 .05333rem .16rem rgba(0, 0, 0, .08);--vp-shadow-4: 0 .37333rem 1.17333rem rgba(0, 0, 0, .12), 0 .08rem .24rem rgba(0, 0, 0, .12);--vp-shadow-5: 0 .48rem 1.49333rem rgba(0, 0, 0, .16), 0 .10667rem .32rem rgba(0, 0, 0, .16)}:root{--vp-z-index-local-nav: 10;--vp-z-index-nav: 20;--vp-z-index-layout-top: 30;--vp-z-index-backdrop: 40;--vp-z-index-sidebar: 50;--vp-z-index-footer: 60}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 38.4rem}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-c-code-dimm: var(--vp-c-text-dark-3);--vp-code-block-color: var(--vp-c-text-dark-1);--vp-code-block-bg: #161618;--vp-code-block-bg-light: #1e1e20;--vp-code-block-divider-color: #000000;--vp-code-line-highlight-color: rgba(0, 0, 0, .5);--vp-code-line-number-color: var(--vp-c-code-dimm);--vp-code-line-diff-add-color: var(--vp-c-green-dimm-2);--vp-code-line-diff-add-symbol-color: var(--vp-c-green);--vp-code-line-diff-remove-color: var(--vp-c-red-dimm-2);--vp-code-line-diff-remove-symbol-color: var(--vp-c-red);--vp-code-line-warning-color: var(--vp-c-yellow-dimm-2);--vp-code-line-error-color: var(--vp-c-red-dimm-2);--vp-code-copy-code-border-color: transparent;--vp-code-copy-code-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-active-text: var(--vp-c-text-dark-2);--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-dark-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-bar-color: var(--vp-c-brand)}.dark{--vp-code-block-bg: #161618}:root:not(.dark) .vp-adaptive-theme{--vp-c-code-dimm: var(--vp-c-text-2);--vp-code-block-color: var(--vp-c-text-1);--vp-code-block-bg: #f8f8f8;--vp-code-block-divider-color: var(--vp-c-divider);--vp-code-line-highlight-color: #ececec;--vp-code-line-number-color: var(--vp-c-code-dimm);--vp-code-copy-code-bg: #e2e2e2;--vp-code-copy-code-hover-bg: #dcdcdc;--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-tab-divider: var(--vp-c-divider);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1)}:root{--vp-button-brand-border: var(--vp-c-brand);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-dark);--vp-button-brand-hover-border: var(--vp-c-brand-light);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-darker);--vp-button-brand-active-border: var(--vp-c-brand-light);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-darkest);--vp-button-alt-border: var(--vp-c-border);--vp-button-alt-text: var(--vp-c-neutral);--vp-button-alt-bg: var(--vp-c-mute);--vp-button-alt-hover-border: var(--vp-c-border);--vp-button-alt-hover-text: var(--vp-c-neutral);--vp-button-alt-hover-bg: var(--vp-c-mute-dark);--vp-button-alt-active-border: var(--vp-c-border);--vp-button-alt-active-text: var(--vp-c-neutral);--vp-button-alt-active-bg: var(--vp-c-mute-darker);--vp-button-sponsor-border: var(--vp-c-gray-light-3);--vp-button-sponsor-text: var(--vp-c-text-light-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}.dark{--vp-button-sponsor-border: var(--vp-c-gray-dark-1);--vp-button-sponsor-text: var(--vp-c-text-dark-2)}:root{--vp-custom-block-font-size: .37333rem;--vp-custom-block-code-font-size: .34667rem;--vp-custom-block-info-border: var(--vp-c-border);--vp-custom-block-info-text: var(--vp-c-text-2);--vp-custom-block-info-bg: var(--vp-c-bg-soft);--vp-custom-block-info-code-bg: var(--vp-c-mute);--vp-custom-block-tip-border: var(--vp-c-brand);--vp-custom-block-tip-text: var(--vp-c-brand);--vp-custom-block-tip-bg: var(--vp-c-bg-soft);--vp-custom-block-tip-code-bg: var(--vp-c-mute);--vp-custom-block-warning-border: var(--vp-c-yellow);--vp-custom-block-warning-text: var(--vp-c-yellow);--vp-custom-block-warning-bg: var(--vp-c-bg-soft);--vp-custom-block-warning-code-bg: var(--vp-c-mute);--vp-custom-block-danger-border: var(--vp-c-red);--vp-custom-block-danger-text: var(--vp-c-red);--vp-custom-block-danger-bg: var(--vp-c-bg-soft);--vp-custom-block-danger-code-bg: var(--vp-c-mute);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-details-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-hover-border-color: var(--vp-c-gray);--vp-input-switch-bg-color: var(--vp-c-mute)}:root{--vp-nav-height: 1.70667rem;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: .64rem}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 7.25333rem;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: var(--vp-c-border);--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-mute);--vp-badge-tip-border: var(--vp-c-brand);--vp-badge-tip-text: var(--vp-c-brand);--vp-badge-tip-bg: var(--vp-c-brand-dimm-1);--vp-badge-warning-border: var(--vp-c-yellow);--vp-badge-warning-text: var(--vp-c-yellow);--vp-badge-warning-bg: var(--vp-c-yellow-dimm-1);--vp-badge-danger-border: var(--vp-c-red);--vp-badge-danger-text: var(--vp-c-red);--vp-badge-danger-bg: var(--vp-c-red-dimm-1)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand);--vp-local-search-highlight-bg: var(--vp-c-green-lighter);--vp-local-search-highlight-text: var(--vp-c-black)}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:.42667rem;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:8.53333rem;min-height:100vh;line-height:.64rem;font-family:var(--vp-font-family-base);font-size:.42667rem;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);direction:ltr;font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:.64rem;font-size:.42667rem;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:.02667rem dotted;outline:.10667rem auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}.visually-hidden{position:absolute;width:.02667rem;height:.02667rem;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:.02667rem solid transparent;border-radius:.21333rem;padding:.42667rem .42667rem .21333rem;line-height:.64rem;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:.21333rem 0}.custom-block.details summary{margin:0 0 .21333rem;font-weight:700;cursor:pointer}.custom-block.details summary+p{margin:.21333rem 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline dotted;text-underline-offset:.05333rem;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.dark .vp-code-light{display:none}html:not(.dark) .vp-code-dark{display:none}.vp-code-group{margin-top:.42667rem}.vp-code-group .tabs{position:relative;display:flex;margin-right:-.64rem;margin-left:-.64rem;padding:0 .32rem;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -.02667rem var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:.21333rem .21333rem 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:.02667rem solid transparent;padding:0 .32rem;line-height:1.28rem;font-size:.37333rem;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:.21333rem;bottom:-.02667rem;left:.21333rem;z-index:1;height:.02667rem;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:.53333rem .64rem}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:1.06667rem;font-size:.74667rem}.vp-doc h2{margin:1.28rem 0 .42667rem;border-top:.02667rem solid var(--vp-c-divider);padding-top:.64rem;letter-spacing:-.02em;line-height:.85333rem;font-size:.64rem}.vp-doc h3{margin:.85333rem 0 0;letter-spacing:-.01em;line-height:.74667rem;font-size:.53333rem}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:1.06667rem;font-size:.85333rem}}.vp-doc h2 .header-anchor{top:.64rem}.vp-doc p,.vp-doc summary{margin:.42667rem 0}.vp-doc p{line-height:.74667rem}.vp-doc blockquote{margin:.42667rem 0;border-left:.05333rem solid var(--vp-c-divider);padding-left:.42667rem;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:.42667rem;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand)}.vp-doc a:hover{text-decoration:underline dotted;text-underline-offset:.05333rem}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:.42667rem 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:.21333rem}.vp-doc li>ol,.vp-doc li>ul{margin:.21333rem 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:.53333rem 0;overflow-x:auto}.vp-doc tr{border-top:.02667rem solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:.02667rem solid var(--vp-c-divider);padding:.21333rem .42667rem}.vp-doc th{text-align:left;font-size:.37333rem;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:.37333rem}.vp-doc hr{margin:.42667rem 0;border:none;border-top:.02667rem solid var(--vp-c-divider)}.vp-doc .custom-block{margin:.42667rem 0}.vp-doc .custom-block p{margin:.21333rem 0;line-height:.64rem}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block a{color:inherit;font-weight:600}.vp-doc .custom-block code{font-size:var(--vp-custom-block-code-font-size);font-weight:700;color:inherit}.vp-doc .custom-block div[class*=language-]{margin:.21333rem 0;border-radius:.21333rem}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:.21333rem .21333rem 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size)}.vp-doc :not(pre)>code{border-radius:.10667rem;padding:.08rem .16rem;color:var(--vp-c-text-code);background-color:var(--vp-c-mute);transition:color .5s,background-color .5s}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc a>code{color:var(--vp-c-brand)}.vp-doc div[class*=language-],.vp-block{position:relative;margin:.42667rem -.64rem;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:.21333rem;margin:.42667rem 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:.21333rem 0 0 .21333rem}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-.21333rem}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:.53333rem 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 .64rem;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -.64rem;padding:0 .64rem;width:calc(100% + 1.28rem);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -.64rem;padding:0 .64rem;width:calc(100% + 1.28rem);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:.26667rem}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:.85333rem}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:.02667rem solid var(--vp-code-block-divider-color);padding-top:.53333rem;width:.85333rem;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:.32rem;right:.32rem;z-index:3;border:.02667rem solid var(--vp-code-copy-code-border-color);border-radius:.10667rem;width:1.06667rem;height:1.06667rem;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:.53333rem;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 .10667rem .10667rem 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-.02667rem;left:-1.73333rem;display:flex;justify-content:center;align-items:center;border:.02667rem solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:.10667rem 0 0 .10667rem;width:1.70667rem;height:1.06667rem;text-align:center;font-size:.32rem;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:"Copied"}.vp-doc [class*=language-]>span.lang{position:absolute;top:.05333rem;right:.21333rem;z-index:2;font-size:.32rem;font-weight:500;color:var(--vp-c-code-dimm);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:.64rem}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - .64rem)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - .64rem)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-.02667rem;margin-left:.10667rem;width:.29333rem;height:.29333rem;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.vp-sponsor{border-radius:.42667rem;overflow:hidden}.vp-sponsor.aside{border-radius:.32rem}.vp-sponsor-section+.vp-sponsor-section{margin-top:.10667rem}.vp-sponsor-tier{margin-bottom:.10667rem;text-align:center;letter-spacing:.02667rem;line-height:.64rem;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:.34667rem 0 .29333rem;font-size:.37333rem}.vp-sponsor.aside .vp-sponsor-tier{padding:.24rem 0 .18667rem;font-size:.32rem}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:.10667rem}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:.10667rem}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:1.70667rem}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:1.70667rem;max-height:.58667rem}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:1.92rem}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:2.56rem;max-height:.64rem}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:2.56rem}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:2.56rem;max-height:.64rem}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:2.98667rem}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:3.2rem;max-height:.96rem}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:4.90667rem}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:5.12rem;max-height:1.49333rem}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - .10667rem)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - .10667rem * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - .32001rem)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - .42668rem)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - .10667rem * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-bg-soft-down)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge[data-v-c668cf0d]{display:inline-block;margin-left:.05333rem;border:.02667rem solid transparent;border-radius:.32rem;padding:0 .26667rem;line-height:.58667rem;font-size:.32rem;font-weight:600;transform:translateY(-.05333rem)}.vp-doc h1>.VPBadge[data-v-c668cf0d]{margin-top:.10667rem;vertical-align:top}.vp-doc h2>.VPBadge[data-v-c668cf0d]{margin-top:.08rem;line-height:.53333rem;padding:0 .21333rem;vertical-align:top}.vp-doc h3>.VPBadge[data-v-c668cf0d]{line-height:.53333rem;vertical-align:middle}.vp-doc h4>.VPBadge[data-v-c668cf0d],.vp-doc h5>.VPBadge[data-v-c668cf0d],.vp-doc h6>.VPBadge[data-v-c668cf0d]{vertical-align:middle;line-height:.48rem}.VPBadge.info[data-v-c668cf0d]{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip[data-v-c668cf0d]{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning[data-v-c668cf0d]{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger[data-v-c668cf0d]{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-a710090a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-a710090a],.VPBackdrop.fade-leave-to[data-v-a710090a]{opacity:0}.VPBackdrop.fade-leave-active[data-v-a710090a]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-a710090a]{display:none}}.NotFound[data-v-cc25b1fe]{padding:1.70667rem .64rem 2.56rem;text-align:center}@media (min-width: 768px){.NotFound[data-v-cc25b1fe]{padding:2.56rem .85333rem 4.48rem}}.code[data-v-cc25b1fe]{line-height:1.70667rem;font-size:1.70667rem;font-weight:600}.title[data-v-cc25b1fe]{padding-top:.32rem;letter-spacing:.05333rem;line-height:.53333rem;font-size:.53333rem;font-weight:700}.divider[data-v-cc25b1fe]{margin:.64rem auto .48rem;width:1.70667rem;height:.02667rem;background-color:var(--vp-c-divider)}.quote[data-v-cc25b1fe]{margin:0 auto;max-width:6.82667rem;font-size:.37333rem;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-cc25b1fe]{padding-top:.53333rem}.link[data-v-cc25b1fe]{display:inline-block;border:.02667rem solid var(--vp-c-brand);border-radius:.42667rem;padding:.08rem .42667rem;font-size:.37333rem;font-weight:500;color:var(--vp-c-brand);transition:border-color .25s,color .25s}.link[data-v-cc25b1fe]:hover{border-color:var(--vp-c-brand-dark);color:var(--vp-c-brand-dark)}.root[data-v-5dca892d]{position:relative;z-index:1}.nested[data-v-5dca892d]{padding-left:.42667rem}.outline-link[data-v-5dca892d]{display:block;line-height:.74667rem;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s;font-weight:400}.outline-link[data-v-5dca892d]:hover,.outline-link.active[data-v-5dca892d]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-5dca892d]{padding-left:.34667rem}.VPDocAsideOutline[data-v-8e8354ee]{display:none}.VPDocAsideOutline.has-outline[data-v-8e8354ee]{display:block}.content[data-v-8e8354ee]{position:relative;border-left:.02667rem solid var(--vp-c-divider);padding-left:.42667rem;font-size:.34667rem;font-weight:500}.outline-marker[data-v-8e8354ee]{position:absolute;top:.85333rem;left:-.02667rem;z-index:0;opacity:0;width:.02667rem;height:.48rem;background-color:var(--vp-c-brand);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-8e8354ee]{letter-spacing:.01067rem;line-height:.74667rem;font-size:.34667rem;font-weight:600}.VPDocAside[data-v-6c1c4d56]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-6c1c4d56]{flex-grow:1}.VPDocAside[data-v-6c1c4d56] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-6c1c4d56] .spacer+.VPDocAsideCarbonAds{margin-top:.64rem}.VPDocAside[data-v-6c1c4d56] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:.42667rem}.VPLastUpdated[data-v-25a0447a]{line-height:.64rem;font-size:.37333rem;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-25a0447a]{line-height:.85333rem;font-size:.37333rem;font-weight:500}}.VPDocFooter[data-v-2d3c8060]{margin-top:1.70667rem}.edit-info[data-v-2d3c8060]{padding-bottom:.48rem}@media (min-width: 640px){.edit-info[data-v-2d3c8060]{display:flex;justify-content:space-between;align-items:center;padding-bottom:.37333rem}}.edit-link-button[data-v-2d3c8060]{display:flex;align-items:center;border:0;line-height:.85333rem;font-size:.37333rem;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.edit-link-button[data-v-2d3c8060]:hover{color:var(--vp-c-brand-dark)}.edit-link-icon[data-v-2d3c8060]{margin-right:.21333rem;width:.37333rem;height:.37333rem;fill:currentColor}.prev-next[data-v-2d3c8060]{border-top:.02667rem solid var(--vp-c-divider);padding-top:.64rem;display:grid;grid-row-gap:.21333rem}@media (min-width: 640px){.prev-next[data-v-2d3c8060]{grid-template-columns:repeat(2,1fr);grid-column-gap:.42667rem}}.pager-link[data-v-2d3c8060]{display:block;border:.02667rem solid var(--vp-c-divider);border-radius:.21333rem;padding:.29333rem .42667rem .34667rem;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-2d3c8060]:hover{border-color:var(--vp-c-brand)}.pager-link.next[data-v-2d3c8060]{margin-left:auto;text-align:right}.desc[data-v-2d3c8060]{display:block;line-height:.53333rem;font-size:.32rem;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-2d3c8060]{display:block;line-height:.53333rem;font-size:.37333rem;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.VPDocOutlineDropdown[data-v-e2b37bcd]{margin-bottom:1.28rem}.VPDocOutlineDropdown button[data-v-e2b37bcd]{display:block;font-size:.37333rem;font-weight:500;line-height:.64rem;border:.02667rem solid var(--vp-c-border);padding:.10667rem .32rem;color:var(--vp-c-text-2);background-color:var(--vp-c-mute);border-radius:.21333rem;transition:color .5s}.VPDocOutlineDropdown button[data-v-e2b37bcd]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPDocOutlineDropdown button.open[data-v-e2b37bcd]{color:var(--vp-c-text-1)}.icon[data-v-e2b37bcd]{display:inline-block;vertical-align:middle;width:.42667rem;height:.42667rem;fill:currentColor}[data-v-e2b37bcd] .outline-link{font-size:.37333rem;font-weight:400}.open>.icon[data-v-e2b37bcd]{transform:rotate(90deg)}.items[data-v-e2b37bcd]{margin-top:.32rem;border-left:.02667rem solid var(--vp-c-divider)}.VPDoc[data-v-872e5132]{padding:.85333rem .64rem 2.56rem;width:100%}.VPDoc .VPDocOutlineDropdown[data-v-872e5132]{display:none}@media (min-width: 960px) and (max-width: 1279px){.VPDoc .VPDocOutlineDropdown[data-v-872e5132]{display:block}}@media (min-width: 768px){.VPDoc[data-v-872e5132]{padding:1.28rem .85333rem 3.41333rem}}@media (min-width: 960px){.VPDoc[data-v-872e5132]{padding:.85333rem .85333rem 0}.VPDoc:not(.has-sidebar) .container[data-v-872e5132]{display:flex;justify-content:center;max-width:26.45333rem}.VPDoc:not(.has-sidebar) .content[data-v-872e5132]{max-width:20.05333rem}}@media (min-width: 1280px){.VPDoc .container[data-v-872e5132]{display:flex;justify-content:center}.VPDoc .aside[data-v-872e5132]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-872e5132]{max-width:20.90667rem}.VPDoc:not(.has-sidebar) .container[data-v-872e5132]{max-width:29.44rem}}.container[data-v-872e5132]{margin:0 auto;width:100%}.aside[data-v-872e5132]{position:relative;display:none;order:2;flex-grow:1;padding-left:.85333rem;width:100%;max-width:6.82667rem}.left-aside[data-v-872e5132]{order:1;padding-left:unset;padding-right:.85333rem}.aside-container[data-v-872e5132]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + .85333rem);width:5.97333rem;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-872e5132]::-webkit-scrollbar{display:none}.aside-curtain[data-v-872e5132]{position:fixed;bottom:0;z-index:10;width:5.97333rem;height:.85333rem;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-872e5132]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + .85333rem));padding-bottom:.85333rem}.content[data-v-872e5132]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-872e5132]{padding:0 .85333rem 3.41333rem}}@media (min-width: 1280px){.content[data-v-872e5132]{order:1;margin:0;min-width:17.06667rem}}.content-container[data-v-872e5132]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-872e5132]{max-width:18.34667rem}.external-link-icon-enabled[data-v-872e5132] :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.VPButton[data-v-ba92c2a4]{display:inline-block;border:.02667rem solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-ba92c2a4]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-ba92c2a4]{border-radius:.53333rem;padding:0 .53333rem;line-height:1.01333rem;font-size:.37333rem}.VPButton.big[data-v-ba92c2a4]{border-radius:.64rem;padding:0 .64rem;line-height:1.22667rem;font-size:.42667rem}.VPButton.brand[data-v-ba92c2a4]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-ba92c2a4]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-ba92c2a4]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-ba92c2a4]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-ba92c2a4]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-ba92c2a4]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-ba92c2a4]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-ba92c2a4]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-ba92c2a4]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-7bae6cd5]{display:none}.dark .VPImage.light[data-v-7bae6cd5]{display:none}.VPHero[data-v-939dade3]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1.28rem) .64rem 1.28rem}@media (min-width: 640px){.VPHero[data-v-939dade3]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 2.13333rem) 1.28rem 1.70667rem}}@media (min-width: 960px){.VPHero[data-v-939dade3]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 2.13333rem) 1.70667rem 1.70667rem}}.container[data-v-939dade3]{display:flex;flex-direction:column;margin:0 auto;max-width:30.72rem}@media (min-width: 960px){.container[data-v-939dade3]{flex-direction:row}}.main[data-v-939dade3]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-939dade3]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-939dade3]{text-align:left}}@media (min-width: 960px){.main[data-v-939dade3]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-939dade3]{max-width:15.78667rem}}.name[data-v-939dade3],.text[data-v-939dade3]{max-width:10.45333rem;letter-spacing:-.01067rem;line-height:1.06667rem;font-size:.85333rem;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-939dade3],.VPHero.has-image .text[data-v-939dade3]{margin:0 auto}.name[data-v-939dade3]{color:var(--vp-home-hero-name-color)}.clip[data-v-939dade3]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-939dade3],.text[data-v-939dade3]{max-width:15.36rem;line-height:1.49333rem;font-size:1.28rem}}@media (min-width: 960px){.name[data-v-939dade3],.text[data-v-939dade3]{line-height:1.70667rem;font-size:1.49333rem}.VPHero.has-image .name[data-v-939dade3],.VPHero.has-image .text[data-v-939dade3]{margin:0}}.tagline[data-v-939dade3]{padding-top:.21333rem;max-width:10.45333rem;line-height:.74667rem;font-size:.48rem;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-939dade3]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-939dade3]{padding-top:.32rem;max-width:15.36rem;line-height:.85333rem;font-size:.53333rem}}@media (min-width: 960px){.tagline[data-v-939dade3]{line-height:.96rem;font-size:.64rem}.VPHero.has-image .tagline[data-v-939dade3]{margin:0}}.actions[data-v-939dade3]{display:flex;flex-wrap:wrap;margin:-.16rem;padding-top:.64rem}.VPHero.has-image .actions[data-v-939dade3]{justify-content:center}@media (min-width: 640px){.actions[data-v-939dade3]{padding-top:.85333rem}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-939dade3]{justify-content:flex-start}}.action[data-v-939dade3]{flex-shrink:0;padding:.16rem}.image[data-v-939dade3]{order:1;margin:-2.02667rem -.64rem -1.28rem}@media (min-width: 640px){.image[data-v-939dade3]{margin:-2.88rem -.64rem -1.28rem}}@media (min-width: 960px){.image[data-v-939dade3]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-939dade3]{position:relative;margin:0 auto;width:8.53333rem;height:8.53333rem}@media (min-width: 640px){.image-container[data-v-939dade3]{width:10.45333rem;height:10.45333rem}}@media (min-width: 960px){.image-container[data-v-939dade3]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-.85333rem,-.85333rem)}}.image-bg[data-v-939dade3]{position:absolute;top:50%;left:50%;border-radius:50%;width:5.12rem;height:5.12rem;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-939dade3]{width:6.82667rem;height:6.82667rem}}@media (min-width: 960px){.image-bg[data-v-939dade3]{width:8.53333rem;height:8.53333rem}}[data-v-939dade3] .image-src{position:absolute;top:50%;left:50%;max-width:5.12rem;max-height:5.12rem;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-939dade3] .image-src{max-width:6.82667rem;max-height:6.82667rem}}@media (min-width: 960px){[data-v-939dade3] .image-src{max-width:8.53333rem;max-height:8.53333rem}}.VPFeature[data-v-f82501a9]{display:block;border:.02667rem solid var(--vp-c-bg-soft);border-radius:.32rem;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-f82501a9]:hover{border-color:var(--vp-c-brand);background-color:var(--vp-c-bg-soft-up)}.box[data-v-f82501a9]{display:flex;flex-direction:column;padding:.64rem;height:100%}.VPFeature[data-v-f82501a9] .VPImage{margin-bottom:.53333rem}.icon[data-v-f82501a9]{display:flex;justify-content:center;align-items:center;margin-bottom:.53333rem;border-radius:.16rem;background-color:var(--vp-c-bg-soft-down);width:1.28rem;height:1.28rem;font-size:.64rem;transition:background-color .25s}.title[data-v-f82501a9]{line-height:.64rem;font-size:.42667rem;font-weight:600}.details[data-v-f82501a9]{flex-grow:1;padding-top:.21333rem;line-height:.64rem;font-size:.37333rem;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-f82501a9]{padding-top:.21333rem}.link-text-value[data-v-f82501a9]{display:flex;align-items:center;font-size:.37333rem;font-weight:500;color:var(--vp-c-brand)}.link-text-icon[data-v-f82501a9]{display:inline-block;margin-left:.16rem;width:.37333rem;height:.37333rem;fill:currentColor}.VPFeatures[data-v-7d2b5285]{position:relative;padding:0 .64rem}@media (min-width: 640px){.VPFeatures[data-v-7d2b5285]{padding:0 1.28rem}}@media (min-width: 960px){.VPFeatures[data-v-7d2b5285]{padding:0 1.70667rem}}.container[data-v-7d2b5285]{margin:0 auto;max-width:30.72rem}.items[data-v-7d2b5285]{display:flex;flex-wrap:wrap;margin:-.21333rem}.item[data-v-7d2b5285]{padding:.21333rem;width:100%}@media (min-width: 640px){.item.grid-2[data-v-7d2b5285],.item.grid-4[data-v-7d2b5285],.item.grid-6[data-v-7d2b5285]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-7d2b5285],.item.grid-4[data-v-7d2b5285]{width:50%}.item.grid-3[data-v-7d2b5285],.item.grid-6[data-v-7d2b5285]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-7d2b5285]{width:25%}}.VPHome[data-v-dc9a16d3]{padding-bottom:2.56rem}.VPHome[data-v-dc9a16d3] .VPHomeSponsors{margin-top:2.98667rem;margin-bottom:-3.41333rem}@media (min-width: 768px){.VPHome[data-v-dc9a16d3]{padding-bottom:3.41333rem}}.VPContent[data-v-7d4f4e2e]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-7d4f4e2e]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-7d4f4e2e]{margin:0}@media (min-width: 960px){.VPContent[data-v-7d4f4e2e]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-7d4f4e2e]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-7d4f4e2e]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-81a49fba]{position:relative;z-index:var(--vp-z-index-footer);border-top:.02667rem solid var(--vp-c-gutter);padding:.85333rem .64rem;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-81a49fba]{display:none}@media (min-width: 768px){.VPFooter[data-v-81a49fba]{padding:.85333rem}}.container[data-v-81a49fba]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-81a49fba],.copyright[data-v-81a49fba]{line-height:.64rem;font-size:.37333rem;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-cbe9082e]{padding:.32rem .53333rem .29333rem}.VPLocalNavOutlineDropdown button[data-v-cbe9082e]{display:block;font-size:.32rem;font-weight:500;line-height:.64rem;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-cbe9082e]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-cbe9082e]{color:var(--vp-c-text-1)}.icon[data-v-cbe9082e]{display:inline-block;vertical-align:middle;margin-left:.05333rem;width:.37333rem;height:.37333rem;fill:currentColor}[data-v-cbe9082e] .outline-link{font-size:.37333rem;padding:.05333rem 0}.open>.icon[data-v-cbe9082e]{transform:rotate(90deg)}.items[data-v-cbe9082e]{position:absolute;top:1.70667rem;right:.42667rem;left:.42667rem;display:grid;gap:.02667rem;border:.02667rem solid var(--vp-c-border);border-radius:.21333rem;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 2.29333rem);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}.header[data-v-cbe9082e]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-cbe9082e]{display:block;padding:0 .42667rem;line-height:1.28rem;font-size:.37333rem;font-weight:500;color:var(--vp-c-brand)}.outline[data-v-cbe9082e]{padding:.21333rem 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-cbe9082e]{transition:all .2s ease-out}.flyout-leave-active[data-v-cbe9082e]{transition:all .15s ease-in}.flyout-enter-from[data-v-cbe9082e],.flyout-leave-to[data-v-cbe9082e]{opacity:0;transform:translateY(-.42667rem)}.VPLocalNav[data-v-49c494cd]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);display:flex;justify-content:space-between;align-items:center;border-top:.02667rem solid var(--vp-c-gutter);border-bottom:.02667rem solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-49c494cd]{position:fixed}.VPLocalNav.reached-top[data-v-49c494cd]{border-top-color:transparent}@media (min-width: 960px){.VPLocalNav[data-v-49c494cd]{display:none}}.menu[data-v-49c494cd]{display:flex;align-items:center;padding:.32rem .64rem .29333rem;line-height:.64rem;font-size:.32rem;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-49c494cd]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-49c494cd]{padding:0 .85333rem}}.menu-icon[data-v-49c494cd]{margin-right:.21333rem;width:.42667rem;height:.42667rem;fill:currentColor}.VPOutlineDropdown[data-v-49c494cd]{padding:.32rem .64rem .29333rem}@media (min-width: 768px){.VPOutlineDropdown[data-v-49c494cd]{padding:.32rem .85333rem .29333rem}}.VPSwitch[data-v-68415ae6]{position:relative;border-radius:.29333rem;display:block;width:1.06667rem;height:.58667rem;flex-shrink:0;border:.02667rem solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s}.VPSwitch[data-v-68415ae6]:hover{border-color:var(--vp-input-hover-border-color)}.check[data-v-68415ae6]{position:absolute;top:.02667rem;left:.02667rem;width:.48rem;height:.48rem;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s}.icon[data-v-68415ae6]{position:relative;display:block;width:.48rem;height:.48rem;border-radius:50%;overflow:hidden}.icon[data-v-68415ae6] svg{position:absolute;top:.08rem;left:.08rem;width:.32rem;height:.32rem;fill:var(--vp-c-text-2)}.dark .icon[data-v-68415ae6] svg{fill:var(--vp-c-text-1);transition:opacity .25s}.sun[data-v-a25662bd]{opacity:1}.moon[data-v-a25662bd],.dark .sun[data-v-a25662bd]{opacity:0}.dark .moon[data-v-a25662bd]{opacity:1}.dark .VPSwitchAppearance[data-v-a25662bd] .check{transform:translate(.48rem)}.VPNavBarAppearance[data-v-7a3afd64]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-7a3afd64]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-afc3c1ef]{margin:.32rem -.32rem 0;border-top:.02667rem solid var(--vp-c-divider);padding:.32rem .32rem 0}.link[data-v-afc3c1ef]{display:block;border-radius:.16rem;padding:0 .32rem;line-height:.85333rem;font-size:.37333rem;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-afc3c1ef]:hover{color:var(--vp-c-brand);background-color:var(--vp-c-bg-elv-mute)}.link.active[data-v-afc3c1ef]{color:var(--vp-c-brand)}.VPMenuGroup[data-v-ff13482d]{margin:.32rem -.32rem 0;border-top:.02667rem solid var(--vp-c-divider);padding:.32rem .32rem 0}.VPMenuGroup[data-v-ff13482d]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-ff13482d]{margin-top:.32rem;border-top:.02667rem solid var(--vp-c-divider)}.title[data-v-ff13482d]{padding:0 .32rem;line-height:.85333rem;font-size:.37333rem;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-9676cc7b]{border-radius:.32rem;padding:.32rem;min-width:3.41333rem;border:.02667rem solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-9676cc7b] .group{margin:0 -.32rem;padding:0 .32rem .32rem}.VPMenu[data-v-9676cc7b] .group+.group{border-top:.02667rem solid var(--vp-c-divider);padding:.29333rem .32rem .32rem}.VPMenu[data-v-9676cc7b] .group:last-child{padding-bottom:0}.VPMenu[data-v-9676cc7b] .group+.item{border-top:.02667rem solid var(--vp-c-divider);padding:.29333rem .42667rem 0}.VPMenu[data-v-9676cc7b] .item{padding:0 .42667rem;white-space:nowrap}.VPMenu[data-v-9676cc7b] .label{flex-grow:1;line-height:.74667rem;font-size:.32rem;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-9676cc7b] .action{padding-left:.64rem}.VPFlyout[data-v-d6216e1e]{position:relative}.VPFlyout[data-v-d6216e1e]:hover{color:var(--vp-c-brand);transition:color .25s}.VPFlyout:hover .text[data-v-d6216e1e]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-d6216e1e]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-d6216e1e]{color:var(--vp-c-brand)}.VPFlyout.active:hover .text[data-v-d6216e1e]{color:var(--vp-c-brand-dark)}.VPFlyout:hover .menu[data-v-d6216e1e],.button[aria-expanded=true]+.menu[data-v-d6216e1e]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-d6216e1e]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-d6216e1e]{display:flex;align-items:center;padding:0 .32rem;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-d6216e1e]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:.37333rem;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-d6216e1e]{margin-right:0;width:.42667rem;height:.42667rem;fill:currentColor}.text-icon[data-v-d6216e1e]{margin-left:.10667rem;width:.37333rem;height:.37333rem;fill:currentColor}.icon[data-v-d6216e1e]{width:.53333rem;height:.53333rem;fill:currentColor;transition:fill .25s}.menu[data-v-d6216e1e]{position:absolute;top:calc(var(--vp-nav-height) / 2 + .53333rem);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-1a6f5d1c]{display:flex;justify-content:center;align-items:center;width:.96rem;height:.96rem;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-1a6f5d1c]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-1a6f5d1c]>svg{width:.53333rem;height:.53333rem;fill:currentColor}.VPSocialLinks[data-v-2d1acf33]{display:flex;justify-content:center}.VPNavBarExtra[data-v-aa25039c]{display:none;margin-right:-.32rem}@media (min-width: 768px){.VPNavBarExtra[data-v-aa25039c]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-aa25039c]{display:none}}.trans-title[data-v-aa25039c]{padding:0 .64rem 0 .32rem;line-height:.85333rem;font-size:.37333rem;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-aa25039c],.item.social-links[data-v-aa25039c]{display:flex;align-items:center;padding:0 .32rem}.item.appearance[data-v-aa25039c]{min-width:4.69333rem}.appearance-action[data-v-aa25039c]{margin-right:-.05333rem}.social-links-list[data-v-aa25039c]{margin:-.10667rem -.21333rem}.VPNavBarHamburger[data-v-b42cd547]{display:flex;justify-content:center;align-items:center;width:1.28rem;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-b42cd547]{display:none}}.container[data-v-b42cd547]{position:relative;width:.42667rem;height:.37333rem;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-b42cd547]{top:0;left:0;transform:translate(.10667rem)}.VPNavBarHamburger:hover .middle[data-v-b42cd547]{top:.16rem;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-b42cd547]{top:.32rem;left:0;transform:translate(.21333rem)}.VPNavBarHamburger.active .top[data-v-b42cd547]{top:.16rem;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-b42cd547]{top:.16rem;transform:translate(.42667rem)}.VPNavBarHamburger.active .bottom[data-v-b42cd547]{top:.16rem;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-b42cd547],.VPNavBarHamburger.active:hover .middle[data-v-b42cd547],.VPNavBarHamburger.active:hover .bottom[data-v-b42cd547]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-b42cd547],.middle[data-v-b42cd547],.bottom[data-v-b42cd547]{position:absolute;width:.42667rem;height:.05333rem;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-b42cd547]{top:0;left:0;transform:translate(0)}.middle[data-v-b42cd547]{top:.16rem;left:0;transform:translate(.21333rem)}.bottom[data-v-b42cd547]{top:.32rem;left:0;transform:translate(.10667rem)}.VPNavBarMenuLink[data-v-4f086e25]{display:flex;align-items:center;padding:0 .32rem;line-height:var(--vp-nav-height);font-size:.37333rem;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-4f086e25],.VPNavBarMenuLink[data-v-4f086e25]:hover{color:var(--vp-c-brand)}.VPNavBarMenu[data-v-1b7ffba0]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-1b7ffba0]{display:flex}}/*! @docsearch/css 3.5.1 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:.32rem;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:14.93333rem;--docsearch-modal-height:16rem;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset .02667rem .02667rem 0 0 hsla(0,0%,100%,.5),0 .08rem .21333rem 0 #555a64;--docsearch-searchbox-height:1.49333rem;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 .05333rem var(--docsearch-primary-color);--docsearch-hit-height:1.49333rem;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 .02667rem .08rem 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -.05333rem 0 0 #cdcde6,inset 0 0 .02667rem .02667rem #fff,0 .02667rem .05333rem .02667rem rgba(30,35,90,.4);--docsearch-footer-height:1.17333rem;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -.02667rem 0 0 #e0e3e8,0 -.08rem .16rem 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset .02667rem .02667rem 0 0 #2c2e40,0 .08rem .21333rem 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -.05333rem 0 0 #282d55,inset 0 0 .02667rem .02667rem #51577d,0 .05333rem .05333rem 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 .02667rem 0 0 rgba(73,76,106,.5),0 -.10667rem .21333rem 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:1.06667rem;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:.96rem;justify-content:space-between;margin:0 0 0 .42667rem;padding:0 .21333rem;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 .32rem 0 .16rem}.DocSearch-Button-Keys{display:flex;min-width:calc(1.06667rem + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:.08rem;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:.48rem;justify-content:center;margin-right:.4em;position:relative;padding:0 0 .05333rem;border:0;top:-.02667rem;width:.53333rem}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:.16rem;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:1.6rem auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:.10667rem;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 .21333rem;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:.05333rem;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:.64rem;width:.64rem}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:.32rem}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:.08rem solid var(--docsearch-modal-background);border-radius:.53333rem}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:.21333rem}.DocSearch-Hits:last-of-type{margin-bottom:.64rem}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:.02667rem solid;color:inherit}.DocSearch-Hit{border-radius:.10667rem;display:flex;padding-bottom:.10667rem;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:.10667rem;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:.85333rem;margin:0 -.10667rem;padding:.21333rem .10667rem 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:.64rem}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:.53333rem;width:.53333rem}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:.58667rem;width:.58667rem}.DocSearch-Hit-action svg{display:block;height:.48rem;width:.48rem}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:.16rem}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:.05333rem}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 .21333rem;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:.96rem 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:.32rem}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:.64rem;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:.21333rem 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 .21333rem .21333rem;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:.05333rem;box-shadow:var(--docsearch-key-shadow);display:flex;height:.48rem;justify-content:center;margin-right:.4em;padding:0 0 .02667rem;color:var(--docsearch-muted-color);border:0;width:.53333rem}@media (max-width:768px){:root{--docsearch-spacing:.26667rem;--docsearch-footer-height:1.06667rem}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.DocSearch{--docsearch-primary-color: var(--vp-c-brand);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark .DocSearch{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-bg-soft-mute);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:1.28rem;height:1.46667rem;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:.02667rem dotted;outline:.13333rem auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:.02667rem solid transparent;border-radius:.21333rem;padding:0 .26667rem 0 .32rem;width:100%;height:1.06667rem;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:.42667rem;height:.42667rem;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:.02667rem;margin-right:.21333rem;width:.37333rem;height:.37333rem;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:.05333rem;padding:0 .42667rem 0 0;font-size:.34667rem;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:.05333rem 0 0;border:.02667rem solid var(--vp-c-divider);border-right:none;border-radius:.10667rem 0 0 .10667rem;padding-left:.16rem;min-width:0;width:auto;height:.58667rem;line-height:.58667rem;font-family:var(--vp-font-family-base);font-size:.32rem;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:.02667rem solid var(--vp-c-divider);border-left:none;border-radius:0 .10667rem .10667rem 0;padding-left:.05333rem;padding-right:.16rem}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:.02667rem;letter-spacing:-.32rem;color:transparent}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:var(--vp-meta-key);font-size:.32rem;letter-spacing:normal;color:var(--docsearch-muted-color)}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:.64rem}}@media (min-width: 960px){.VPNavBarSearch{padding-left:.85333rem}}.dark .DocSearch-Footer{border-top:.02667rem solid var(--vp-c-divider)}.DocSearch-Form{border:.02667rem solid var(--vp-c-brand);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-bg-soft-mute)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-66049172]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-66049172]{display:flex;align-items:center}}.title[data-v-842db935]{display:flex;align-items:center;border-bottom:.02667rem solid transparent;width:100%;height:var(--vp-nav-height);font-size:.42667rem;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-842db935]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-842db935]{border-bottom-color:var(--vp-c-divider)}}[data-v-842db935] .logo{margin-right:.21333rem;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-12c3823d]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-12c3823d]{display:flex;align-items:center}}.title[data-v-12c3823d]{padding:0 .64rem 0 .32rem;line-height:.85333rem;font-size:.37333rem;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-a24a6edc]{position:relative;border-bottom:.02667rem solid transparent;padding:0 .21333rem 0 .64rem;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap}@media (min-width: 768px){.VPNavBar[data-v-a24a6edc]{padding:0 .85333rem}}@media (min-width: 960px){.VPNavBar.has-sidebar[data-v-a24a6edc]{padding:0}.VPNavBar[data-v-a24a6edc]:not(.has-sidebar):not(.top){border-bottom-color:var(--vp-c-gutter);background-color:var(--vp-nav-bg-color)}}.container[data-v-a24a6edc]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 1.70667rem);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-a24a6edc],.container>.content[data-v-a24a6edc]{pointer-events:none}.container[data-v-a24a6edc] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-a24a6edc]{max-width:100%}}.title[data-v-a24a6edc]{flex-shrink:0;height:calc(var(--vp-nav-height) - .02667rem);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-a24a6edc]{position:absolute;top:0;left:0;z-index:2;padding:0 .85333rem;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-a24a6edc]{padding-left:max(.85333rem,calc((100% - (var(--vp-layout-max-width) - 1.70667rem)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 1.70667rem)) / 2 + var(--vp-sidebar-width) - .85333rem)}}.content[data-v-a24a6edc]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-a24a6edc]{position:relative;z-index:1;padding-right:.85333rem;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-a24a6edc]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + .85333rem);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-a24a6edc]{display:flex;justify-content:flex-end;align-items:center;height:calc(var(--vp-nav-height) - .02667rem);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.top) .content-body[data-v-a24a6edc]{position:relative;background-color:var(--vp-nav-bg-color)}}@media (max-width: 767px){.content-body[data-v-a24a6edc]{column-gap:.5rem}}.menu+.translations[data-v-a24a6edc]:before,.menu+.appearance[data-v-a24a6edc]:before,.menu+.social-links[data-v-a24a6edc]:before,.translations+.appearance[data-v-a24a6edc]:before,.appearance+.social-links[data-v-a24a6edc]:before{margin-right:.21333rem;margin-left:.21333rem;width:.02667rem;height:.64rem;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-a24a6edc]:before,.translations+.appearance[data-v-a24a6edc]:before{margin-right:.42667rem}.appearance+.social-links[data-v-a24a6edc]:before{margin-left:.42667rem}.social-links[data-v-a24a6edc]{margin-right:-.21333rem}@media (min-width: 960px){.VPNavBar.has-sidebar .curtain[data-v-a24a6edc]{position:absolute;right:0;bottom:-.82667rem;width:calc(100% - var(--vp-sidebar-width));height:.85333rem}.VPNavBar.has-sidebar .curtain[data-v-a24a6edc]:before{display:block;width:100%;height:.85333rem;background:linear-gradient(var(--vp-c-bg),transparent 70%);content:""}}@media (min-width: 1440px){.VPNavBar.has-sidebar .curtain[data-v-a24a6edc]{width:calc(100% - ((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width)))}}.VPNavScreenMenuLink[data-v-1f50892e]{display:block;border-bottom:.02667rem solid var(--vp-c-divider);padding:.32rem 0 .29333rem;line-height:.64rem;font-size:.37333rem;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-1f50892e]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupLink[data-v-432fddf0]{display:block;margin-left:.32rem;line-height:.85333rem;font-size:.37333rem;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-432fddf0]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupSection[data-v-4c669666]{display:block}.title[data-v-4c669666]{line-height:.85333rem;font-size:.34667rem;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-783fa6df]{border-bottom:.02667rem solid var(--vp-c-divider);height:1.28rem;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-783fa6df]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-783fa6df]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-783fa6df]{padding-bottom:.26667rem;height:auto}.VPNavScreenMenuGroup.open .button[data-v-783fa6df]{padding-bottom:.16rem;color:var(--vp-c-brand)}.VPNavScreenMenuGroup.open .button-icon[data-v-783fa6df]{transform:rotate(45deg)}.button[data-v-783fa6df]{display:flex;justify-content:space-between;align-items:center;padding:.32rem .10667rem .29333rem 0;width:100%;line-height:.64rem;font-size:.37333rem;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-783fa6df]:hover{color:var(--vp-c-brand)}.button-icon[data-v-783fa6df]{width:.37333rem;height:.37333rem;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-783fa6df]:first-child{padding-top:0}.group+.group[data-v-783fa6df],.group+.item[data-v-783fa6df]{padding-top:.10667rem}.VPNavScreenAppearance[data-v-4d105cf1]{display:flex;justify-content:space-between;align-items:center;border-radius:.21333rem;padding:.32rem .37333rem .32rem .42667rem;background-color:var(--vp-c-bg-soft)}.text[data-v-4d105cf1]{line-height:.64rem;font-size:.32rem;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenTranslations[data-v-12e532f7]{height:.64rem;overflow:hidden}.VPNavScreenTranslations.open[data-v-12e532f7]{height:auto}.title[data-v-12e532f7]{display:flex;align-items:center;font-size:.37333rem;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-12e532f7]{width:.42667rem;height:.42667rem;fill:currentColor}.icon.lang[data-v-12e532f7]{margin-right:.21333rem}.icon.chevron[data-v-12e532f7]{margin-left:.10667rem}.list[data-v-12e532f7]{padding:.10667rem 0 0 .64rem}.link[data-v-12e532f7]{line-height:.85333rem;font-size:.34667rem;color:var(--vp-c-text-1)}.VPNavScreen[data-v-f7cf4c6d]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + .02667rem);right:0;bottom:0;left:0;padding:0 .85333rem;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-f7cf4c6d],.VPNavScreen.fade-leave-active[data-v-f7cf4c6d]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-f7cf4c6d],.VPNavScreen.fade-leave-active .container[data-v-f7cf4c6d]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-f7cf4c6d],.VPNavScreen.fade-leave-to[data-v-f7cf4c6d]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-f7cf4c6d],.VPNavScreen.fade-leave-to .container[data-v-f7cf4c6d]{transform:translateY(-.21333rem)}@media (min-width: 768px){.VPNavScreen[data-v-f7cf4c6d]{display:none}}.container[data-v-f7cf4c6d]{margin:0 auto;padding:.64rem 0 2.56rem;max-width:7.68rem}.menu+.translations[data-v-f7cf4c6d],.menu+.appearance[data-v-f7cf4c6d],.translations+.appearance[data-v-f7cf4c6d]{margin-top:.64rem}.menu+.social-links[data-v-f7cf4c6d]{margin-top:.42667rem}.appearance+.social-links[data-v-f7cf4c6d]{margin-top:.42667rem}.VPNav[data-v-86d8ebbe]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-86d8ebbe]{position:fixed}}.VPSidebarItem.level-0[data-v-a9099d01]{padding-bottom:.64rem}.VPSidebarItem.collapsed.level-0[data-v-a9099d01]{padding-bottom:.26667rem}.item[data-v-a9099d01]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-a9099d01]{cursor:pointer}.indicator[data-v-a9099d01]{position:absolute;top:.16rem;bottom:.16rem;left:-.45333rem;width:.02667rem;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-a9099d01],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-a9099d01],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-a9099d01],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-a9099d01]{background-color:var(--vp-c-brand)}.link[data-v-a9099d01]{display:flex;align-items:center;flex-grow:1}.text[data-v-a9099d01]{flex-grow:1;padding:.10667rem 0;line-height:.64rem;font-size:.37333rem;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-a9099d01]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-a9099d01],.VPSidebarItem.level-2 .text[data-v-a9099d01],.VPSidebarItem.level-3 .text[data-v-a9099d01],.VPSidebarItem.level-4 .text[data-v-a9099d01],.VPSidebarItem.level-5 .text[data-v-a9099d01]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-a9099d01],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-a9099d01],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-a9099d01],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-a9099d01],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-a9099d01],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-a9099d01]{color:var(--vp-c-brand)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-a9099d01],.VPSidebarItem.level-1.has-active>.item>.text[data-v-a9099d01],.VPSidebarItem.level-2.has-active>.item>.text[data-v-a9099d01],.VPSidebarItem.level-3.has-active>.item>.text[data-v-a9099d01],.VPSidebarItem.level-4.has-active>.item>.text[data-v-a9099d01],.VPSidebarItem.level-5.has-active>.item>.text[data-v-a9099d01],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-a9099d01],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-a9099d01],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-a9099d01],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-a9099d01],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-a9099d01],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-a9099d01]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-a9099d01],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-a9099d01],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-a9099d01],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-a9099d01],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-a9099d01],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-a9099d01]{color:var(--vp-c-brand)}.caret[data-v-a9099d01]{display:flex;justify-content:center;align-items:center;margin-right:-.18667rem;width:.85333rem;height:.85333rem;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-a9099d01]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-a9099d01]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-a9099d01]{width:.48rem;height:.48rem;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-a9099d01]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-a9099d01],.VPSidebarItem.level-2 .items[data-v-a9099d01],.VPSidebarItem.level-3 .items[data-v-a9099d01],.VPSidebarItem.level-4 .items[data-v-a9099d01],.VPSidebarItem.level-5 .items[data-v-a9099d01]{border-left:.02667rem solid var(--vp-c-divider);padding-left:.42667rem}.VPSidebarItem.collapsed .items[data-v-a9099d01]{display:none}.VPSidebar[data-v-5c2b9221]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:.85333rem .85333rem 2.56rem;width:calc(100vw - 1.70667rem);max-width:8.53333rem;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-5c2b9221]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-5c2b9221]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-5c2b9221]{z-index:1;padding-top:var(--vp-nav-height);padding-bottom:3.41333rem;width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-5c2b9221]{padding-left:max(.85333rem,calc((100% - (var(--vp-layout-max-width) - 1.70667rem)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 1.70667rem)) / 2 + var(--vp-sidebar-width) - .85333rem)}}@media (min-width: 960px){.curtain[data-v-5c2b9221]{position:sticky;top:-1.70667rem;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-.85333rem;margin-left:-.85333rem;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-5c2b9221]{outline:0}.group+.group[data-v-5c2b9221]{border-top:.02667rem solid var(--vp-c-divider);padding-top:.26667rem}@media (min-width: 960px){.group[data-v-5c2b9221]{padding-top:.26667rem;width:calc(var(--vp-sidebar-width) - 1.70667rem)}}.VPSkipLink[data-v-797fe0a8]{top:.21333rem;left:.21333rem;padding:.21333rem .42667rem;z-index:999;border-radius:.21333rem;font-size:.32rem;font-weight:700;text-decoration:none;color:var(--vp-c-brand);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-797fe0a8]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-797fe0a8]{top:.37333rem;left:.42667rem}}.Layout[data-v-ae3a6cc6]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-09827625]{border-top:.02667rem solid var(--vp-c-gutter);padding:2.34667rem .64rem 2.56rem;background-color:var(--vp-c-bg)}.container[data-v-09827625]{margin:0 auto;max-width:30.72rem}.love[data-v-09827625]{margin:0 auto;width:.74667rem;height:.74667rem;color:var(--vp-c-text-3)}.icon[data-v-09827625]{width:.74667rem;height:.74667rem;fill:currentColor}.message[data-v-09827625]{margin:0 auto;padding-top:.26667rem;max-width:8.53333rem;text-align:center;line-height:.64rem;font-size:.42667rem;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-09827625]{padding-top:.85333rem}.action[data-v-09827625]{padding-top:1.06667rem;text-align:center}.VPTeamPage[data-v-2b240b50]{padding-bottom:2.56rem}@media (min-width: 768px){.VPTeamPage[data-v-2b240b50]{padding-bottom:3.41333rem}}.VPTeamPageSection+.VPTeamPageSection[data-v-2b240b50-s],.VPTeamMembers+.VPTeamPageSection[data-v-2b240b50-s]{margin-top:1.70667rem}.VPTeamMembers+.VPTeamMembers[data-v-2b240b50-s]{margin-top:.64rem}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-2b240b50-s]{margin-top:.42667rem}.VPTeamPageSection+.VPTeamPageSection[data-v-2b240b50-s],.VPTeamMembers+.VPTeamPageSection[data-v-2b240b50-s]{margin-top:2.56rem}}.VPTeamMembers[data-v-2b240b50-s]{padding:0 .64rem}@media (min-width: 768px){.VPTeamMembers[data-v-2b240b50-s]{padding:0 1.28rem}}@media (min-width: 960px){.VPTeamMembers[data-v-2b240b50-s]{padding:0 1.70667rem}}.VPTeamPageTitle[data-v-e5e6b627]{padding:1.28rem .85333rem;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-e5e6b627]{padding:1.70667rem 1.28rem 1.28rem}}@media (min-width: 960px){.VPTeamPageTitle[data-v-e5e6b627]{padding:2.13333rem 1.70667rem 1.28rem}}.title[data-v-e5e6b627]{letter-spacing:0;line-height:1.17333rem;font-size:.96rem;font-weight:500}@media (min-width: 768px){.title[data-v-e5e6b627]{letter-spacing:-.01333rem;line-height:1.49333rem;font-size:1.28rem}}.lead[data-v-e5e6b627]{margin:0 auto;max-width:13.65333rem;padding-top:.32rem;line-height:.64rem;font-size:.42667rem;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-e5e6b627]{max-width:15.78667rem;letter-spacing:.004rem;line-height:.74667rem;font-size:.53333rem}}.VPTeamPageSection[data-v-876c22af]{padding:0 .85333rem}@media (min-width: 768px){.VPTeamPageSection[data-v-876c22af]{padding:0 1.28rem}}@media (min-width: 960px){.VPTeamPageSection[data-v-876c22af]{padding:0 1.70667rem}}.title[data-v-876c22af]{position:relative;margin:0 auto;max-width:30.72rem;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-876c22af]{position:absolute;top:.42667rem;left:0;width:100%;height:.02667rem;background-color:var(--vp-c-divider)}.title-text[data-v-876c22af]{position:relative;display:inline-block;padding:0 .64rem;letter-spacing:0;line-height:.85333rem;font-size:.53333rem;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-876c22af]{margin:0 auto;max-width:12.8rem;padding-top:.32rem;text-align:center;line-height:.64rem;font-size:.42667rem;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-876c22af]{padding-top:1.06667rem}.VPTeamMembersItem[data-v-e8cb0555]{display:flex;flex-direction:column;gap:.05333rem;border-radius:.32rem;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-e8cb0555]{padding:.85333rem}.VPTeamMembersItem.small .data[data-v-e8cb0555]{padding-top:.53333rem}.VPTeamMembersItem.small .avatar[data-v-e8cb0555]{width:1.70667rem;height:1.70667rem}.VPTeamMembersItem.small .name[data-v-e8cb0555]{line-height:.64rem;font-size:.42667rem}.VPTeamMembersItem.small .affiliation[data-v-e8cb0555]{padding-top:.10667rem;line-height:.53333rem;font-size:.37333rem}.VPTeamMembersItem.small .desc[data-v-e8cb0555]{padding-top:.32rem;line-height:.53333rem;font-size:.37333rem}.VPTeamMembersItem.small .links[data-v-e8cb0555]{margin:0 -.42667rem -.53333rem;padding:.26667rem 0 0}.VPTeamMembersItem.medium .profile[data-v-e8cb0555]{padding:1.28rem .85333rem}.VPTeamMembersItem.medium .data[data-v-e8cb0555]{padding-top:.64rem;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-e8cb0555]{width:2.56rem;height:2.56rem}.VPTeamMembersItem.medium .name[data-v-e8cb0555]{letter-spacing:.004rem;line-height:.74667rem;font-size:.53333rem}.VPTeamMembersItem.medium .affiliation[data-v-e8cb0555]{padding-top:.10667rem;font-size:.42667rem}.VPTeamMembersItem.medium .desc[data-v-e8cb0555]{padding-top:.42667rem;max-width:7.68rem;font-size:.42667rem}.VPTeamMembersItem.medium .links[data-v-e8cb0555]{margin:0 -.42667rem -.32rem;padding:.42667rem .32rem 0}.profile[data-v-e8cb0555]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-e8cb0555]{text-align:center}.avatar[data-v-e8cb0555]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-e8cb0555]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-e8cb0555]{margin:0;font-weight:600}.affiliation[data-v-e8cb0555]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-e8cb0555]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-e8cb0555]:hover{color:var(--vp-c-brand)}.desc[data-v-e8cb0555]{margin:0 auto}.desc[data-v-e8cb0555] a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.links[data-v-e8cb0555]{display:flex;justify-content:center;height:1.49333rem}.sp-link[data-v-e8cb0555]{display:flex;justify-content:center;align-items:center;text-align:center;padding:.42667rem;font-size:.37333rem;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-e8cb0555]:hover,.sp .sp-link.link[data-v-e8cb0555]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-e8cb0555]{margin-right:.21333rem;width:.42667rem;height:.42667rem;fill:currentColor}.VPTeamMembers.small .container[data-v-08d6442a]{grid-template-columns:repeat(auto-fit,minmax(5.97333rem,1fr))}.VPTeamMembers.small.count-1 .container[data-v-08d6442a]{max-width:7.36rem}.VPTeamMembers.small.count-2 .container[data-v-08d6442a]{max-width:calc(7.36rem * 2 + .64rem)}.VPTeamMembers.small.count-3 .container[data-v-08d6442a]{max-width:calc(7.36rem * 3 + .64rem * 2)}.VPTeamMembers.medium .container[data-v-08d6442a]{grid-template-columns:repeat(auto-fit,minmax(6.82667rem,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-08d6442a]{grid-template-columns:repeat(auto-fit,minmax(7.68rem,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-08d6442a]{max-width:9.81333rem}.VPTeamMembers.medium.count-2 .container[data-v-08d6442a]{max-width:20.26666rem}.container[data-v-08d6442a]{display:grid;gap:.64rem;margin:0 auto;max-width:30.72rem}
@@ -0,0 +1 @@
1
+ {}
File without changes
@@ -0,0 +1,12 @@
1
+ import DefaultTheme from "vitepress/theme"
2
+ import "./index.css"
3
+
4
+ export default {
5
+ ...DefaultTheme,
6
+ async enhanceApp({ app }) {
7
+ if (!import.meta.env.SSR) {
8
+ /*const Newbie = await import("../../../")
9
+ app.use(Newbie.default)*/
10
+ }
11
+ },
12
+ }
@@ -0,0 +1,40 @@
1
+ import { sm2, sm3, sm4 } from "sm-crypto-v2"
2
+
3
+ /**
4
+ * 国密 sm2
5
+ */
6
+ export function useSm2() {
7
+ return sm2
8
+ }
9
+
10
+ /**
11
+ * 国密 sm3 加密
12
+ * @param msg
13
+ * @param {Object} [options]
14
+ * @return {*}
15
+ */
16
+ export function useSm3(msg, options) {
17
+ return sm3(msg, options) // 杂凑
18
+ }
19
+
20
+ /**
21
+ * 国密 sm4 加密
22
+ * @param msg
23
+ * @param key
24
+ * @param {Object} [options]
25
+ * @return {Uint8Array}
26
+ */
27
+ export function useSm4Encrypt(msg, key, options) {
28
+ return sm4.encrypt(msg, key, options)
29
+ }
30
+
31
+ /**
32
+ * 国密 sm4 解密
33
+ * @param encryptData
34
+ * @param key
35
+ * @param {Object} [options]
36
+ * @return {Uint8Array}
37
+ */
38
+ export function useSm4Decrypt(encryptData, key, options) {
39
+ return sm4.encrypt(encryptData, key, options)
40
+ }
package/hooks/form.js ADDED
@@ -0,0 +1,176 @@
1
+ import { cloneDeep, isArray, isBoolean, isDate, isFunction, isObject, isString, isUndefined } from "lodash-es"
2
+ import { STATUS } from "./network"
3
+ import { showFailToast, showSuccessToast } from "vant"
4
+
5
+ const { STATE_CODE_FAIL, STATE_CODE_INFO_NOT_COMPLETE, STATE_CODE_NOT_FOUND, STATE_CODE_NOT_ALLOWED, STATE_CODE_SUCCESS } = STATUS
6
+
7
+ /**
8
+ * 创建一个隐藏的表单
9
+ *
10
+ * @param {Object} options
11
+ * @param {string} options.url
12
+ * @param {Object} options.data
13
+ * @param {string} [options.method]
14
+ * @param {string} options.csrfToken
15
+ * @returns {HTMLFormElement}
16
+ */
17
+ export function useHiddenForm(options) {
18
+ const { url, data, csrfToken } = options
19
+ let { method } = options
20
+
21
+ method = method || "post"
22
+
23
+ const form = document.createElement("form")
24
+ form.action = url
25
+ form.method = method
26
+ form.target = "_blank"
27
+ form.style.display = "none"
28
+
29
+ Object.keys(data).forEach((key) => {
30
+ const input = document.createElement("input")
31
+ input.type = "hidden"
32
+ input.name = key
33
+ input.value = data[key]
34
+ form.appendChild(input)
35
+ })
36
+
37
+ if (!csrfToken) {
38
+ const input = document.createElement("input")
39
+ input.type = "hidden"
40
+ input.name = "_token"
41
+ input.value = document.querySelector('meta[name="csrf-token"]').getAttribute("content")
42
+ form.appendChild(input)
43
+ }
44
+
45
+ document.body.appendChild(form)
46
+
47
+ return form
48
+ }
49
+
50
+ /**
51
+ * 处理请求结果
52
+ *
53
+ * @param {object} res 请求结果
54
+ * @param {string} res.status 请求结果状态
55
+ * @param {*} res.result 请求结果信息
56
+ * @param {Object.<string, string|function>} ops 状态的处理对象
57
+ */
58
+ export function useProcessStatus(res, ops) {
59
+ const { status } = res
60
+ const msg = res.result
61
+ const predefined = {}
62
+ predefined.default = "请求失败, 请检查数据并重试"
63
+ predefined[STATE_CODE_FAIL] = "系统错误,请稍候再试"
64
+ predefined[STATE_CODE_NOT_FOUND] = "请求的内容不存在"
65
+ predefined[STATE_CODE_INFO_NOT_COMPLETE] = "信息不完整"
66
+ predefined[STATE_CODE_NOT_ALLOWED] = "没有权限"
67
+
68
+ // 有几个常用的自定义名称
69
+ const special = {
70
+ [STATE_CODE_SUCCESS]: "success",
71
+ }
72
+
73
+ const op = ops[status] || ops[special[status]] || predefined[status] || predefined.def
74
+
75
+ if (isString(op)) {
76
+ if (status === STATE_CODE_SUCCESS) {
77
+ showSuccessToast(op)
78
+ } else {
79
+ showFailToast(msg || op)
80
+ }
81
+ } else if (isFunction(op)) {
82
+ op()
83
+ }
84
+ }
85
+
86
+ /**
87
+ * 处理正确请求结果
88
+ *
89
+ * @param {object} res 请求结果
90
+ * @param {string} res.status 请求结果状态
91
+ * @param {*} res.result 请求结果信息
92
+ * @param {string|function} success 状态的处理对象
93
+ */
94
+ export function useProcessStatusSuccess(res, success) {
95
+ useProcessStatus(res, { success })
96
+ }
97
+
98
+ /**
99
+ * 处理表单提交失败
100
+ * @param {*} e
101
+ */
102
+ export function useFormFail(e) {
103
+ if (e && e.errorFields) {
104
+ e.errorFields.forEach((item) => {
105
+ showFailToast(item.errors.join(" "))
106
+ })
107
+ } else if (!(e && e.response)) {
108
+ showFailToast("请检查填写项")
109
+ } else {
110
+ showFailToast("网络异常")
111
+ }
112
+ }
113
+
114
+ /**
115
+ * 处理表单数据
116
+ * @param {Object} form
117
+ * @param {Object} [types] 需要处理的类型
118
+ * @param {boolean} [types.date]
119
+ * @param {boolean} [types.boolean]
120
+ * @param {string|Function} [types.attachment] 如果是字符串则是附件的字段名,如果是函数则是处理附件的函数
121
+ * @return {Object}
122
+ */
123
+ export function useFormFormat(form, types) {
124
+ //必须先 Copy form, 否则会改变 vm model 里的引用值而导致出错
125
+ const newForm = cloneDeep(form)
126
+ types = types || {}
127
+ const format = (obj) => {
128
+ for (let key in obj) {
129
+ if (types.date) {
130
+ //日期处理
131
+ if (isDate(obj[key])) {
132
+ obj[key] = Math.ceil(obj[key].getTime() / 1000)
133
+ continue
134
+ }
135
+ }
136
+ if (types.boolean) {
137
+ //布尔值处理
138
+ if (isBoolean(obj[key])) {
139
+ obj[key] = obj[key] ? 1 : 0
140
+ continue
141
+ }
142
+ }
143
+
144
+ if (types.attachment) {
145
+ const checker = types.attachment
146
+ //附件处理
147
+ if (isObject(obj[key]) && isString(checker) && !isUndefined(obj[key][checker])) {
148
+ obj[key] = obj[key][checker]
149
+ continue
150
+ } else if (isObject(obj[key]) && isFunction(checker)) {
151
+ obj[key] = checker(obj[key])
152
+ continue
153
+ }
154
+ }
155
+
156
+ //数组处理
157
+ if (isArray(obj[key])) {
158
+ for (let index in obj[key]) {
159
+ obj[key][index] = format(obj[key][index], types)
160
+ }
161
+ }
162
+ }
163
+
164
+ return obj
165
+ }
166
+
167
+ return format(newForm)
168
+ }
169
+
170
+ export default {
171
+ useHiddenForm,
172
+ useProcessStatus,
173
+ useProcessStatusSuccess,
174
+ useFormFail,
175
+ useFormFormat,
176
+ }
package/hooks/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export * from "./network"
2
+ export * from "./utils"
3
+ export * from "./form"
4
+ export * from "./cipher"
@@ -0,0 +1,153 @@
1
+ import axios from "axios"
2
+ import { closeToast, showToast } from "vant"
3
+
4
+ /**
5
+ * 请求返回状态码
6
+ * @type {{STATE_CODE_NOT_FOUND: string, STATE_CODE_SUCCESS: string, STATE_CODE_FAIL: string, STATE_CODE_INFO_NOT_COMPLETE: string, STATE_CODE_NOT_ALLOWED: string}}
7
+ */
8
+ export const STATUS = {
9
+ STATE_CODE_SUCCESS: "SUCCESS", // 成功
10
+ STATE_CODE_FAIL: "FAIL", // 失败
11
+ STATE_CODE_NOT_FOUND: "NOT_FOUND", // 找不到资源
12
+ STATE_CODE_INFO_NOT_COMPLETE: "INCOMPLETE", // 信息不完整
13
+ STATE_CODE_NOT_ALLOWED: "NOT_ALLOWED", //没有权限
14
+ }
15
+
16
+ /**
17
+ * 通用 AJAX 请求
18
+ * @param {Object} [fetcher] - 用于存储请求状态的对象
19
+ * @returns {{post(*=, *=, *=): Promise<unknown>, get(*=, *=): Promise<unknown>}}
20
+ */
21
+ export function useFetch(fetcher) {
22
+ if (!fetcher) {
23
+ fetcher = {}
24
+ }
25
+ fetcher.loading = true
26
+
27
+ return {
28
+ /**
29
+ * get请求
30
+ * @param url
31
+ * @param {Object} [config] - axios config
32
+ * @returns {Promise<unknown>}
33
+ */
34
+ get(url, config) {
35
+ return new Promise((resolve, reject) => {
36
+ axios
37
+ .get(url, config)
38
+ .then((res) => {
39
+ resolve(res)
40
+ })
41
+ .catch((err) => {
42
+ reject(err)
43
+ })
44
+ .finally(() => {
45
+ fetcher.loading = false
46
+ })
47
+ })
48
+ },
49
+ /**
50
+ * post请求
51
+ * @param {string} url
52
+ * @param {Object} data
53
+ * @param {Object} [config] - axios config
54
+ * @returns {Promise<unknown>}
55
+ */
56
+ post(url, data, config) {
57
+ return new Promise((resolve, reject) => {
58
+ axios
59
+ .post(url, data, config)
60
+ .then((res) => {
61
+ resolve(res)
62
+ })
63
+ .catch((err) => {
64
+ reject(err)
65
+ })
66
+ .finally(() => {
67
+ fetcher.loading = false
68
+ })
69
+ })
70
+ },
71
+ }
72
+ }
73
+
74
+ /**
75
+ * 分页请求
76
+ * @param {object} pagination 分页对象
77
+ * @param {string} pagination.uri 请求地址
78
+ * @param {object} [pagination.params] 请求参数
79
+ * @param {number} [pagination.page] 当前页码
80
+ * @param {string} [pagination.finishedText] 加载完毕文本
81
+ * @param {boolean} [pagination.loading] 加载状态
82
+ * @param {boolean} [pagination.finished] 加载完毕
83
+ * @param {boolean} [pagination.error] 是否错误
84
+ * @param {string} [pagination.errorText] 错误文本
85
+ * @param {boolean} [pagination.empty] 是否无内容
86
+ * @param {array} [pagination.items] 分页数据
87
+ *
88
+ * @param {boolean} refresh 是否刷新
89
+ * @param {function} [process] 数据处理函数
90
+ *
91
+ */
92
+ export const usePage = async (pagination, refresh, process) => {
93
+ pagination.finishedText = pagination.finishedText || "加载完毕"
94
+ pagination.loading = true
95
+
96
+ if (!pagination.uri) {
97
+ console.error("URI is required in pagination")
98
+ return
99
+ }
100
+
101
+ let res = {}
102
+ try {
103
+ showToast({ type: "loading", message: "加载中...", forbidClick: true, overlay: true, duration: 0 })
104
+ res = await useFetch().get(pagination.uri, {
105
+ params: { ...(pagination.params || {}), page: refresh || !pagination.page ? 1 : pagination.page + 1 },
106
+ })
107
+ } catch (e) {
108
+ pagination.loading = false
109
+ pagination.finished = false
110
+ pagination.error = true
111
+ return
112
+ } finally {
113
+ closeToast(true)
114
+ }
115
+
116
+ if (res.status !== STATUS.STATE_CODE_SUCCESS) {
117
+ pagination.loading = false
118
+ pagination.error = true
119
+ pagination.errorText = res.result
120
+ return
121
+ }
122
+
123
+ let result
124
+
125
+ if (process) {
126
+ result = process(res)
127
+ } else {
128
+ result = res.result
129
+ }
130
+
131
+ let items = result.data
132
+
133
+ if (!refresh && pagination.items) {
134
+ items = pagination.items.concat(items)
135
+ }
136
+
137
+ const currentPage = result.current_page || result.current || result.page || 1
138
+ const lastPage = result.last_page || result.lastPage || result.pages || 0
139
+ const totalSize = result.total_size || result.totalSize || result.total || 0
140
+
141
+ pagination.loading = false
142
+ pagination.error = false
143
+ pagination.page = currentPage
144
+ pagination.items = items
145
+ pagination.finished = lastPage === 0 || lastPage === currentPage
146
+ pagination.empty = totalSize === 0
147
+ }
148
+
149
+ export default {
150
+ STATUS,
151
+ useFetch,
152
+ usePage,
153
+ }