1"use strict";(self.webpackChunkfarm_docs=self.webpackChunkfarm_docs||[]).push([[4921],{48774:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>u,contentTitle:()=>o,default:()=>f,frontMatter:()=>c,metadata:()=>d,toc:()=>h});var t=s(49214),r=s(36906),l=s(87955),i=s(12790),a=s(71947);const c={},o="@farmfe/plugin-strip",d={id:"plugins/official-plugins/strip",title:"@farmfe/plugin-strip",description:"\ud83c\udf63 A Farm rust plugin to remove debugger statements and functions like assert.equal and console.log from your code.",source:"@site/docs/plugins/official-plugins/strip.mdx",sourceDirName:"plugins/official-plugins",slug:"/plugins/official-plugins/strip",permalink:"/docs/plugins/official-plugins/strip",draft:!1,unlisted:!1,editUrl:"https://github.com/farm-fe/farm-fe.github.io/tree/main/docs/plugins/official-plugins/strip.mdx",tags:[],version:"current",frontMatter:{},sidebar:"pluginSidebar",previous:{title:"@farmfe/plugin-sass",permalink:"/docs/plugins/official-plugins/sass"},next:{title:"@farmfe/plugin-dsv",permalink:"/docs/plugins/official-plugins/dsv"}},u={},h=[{value:"Requirements",id:"requirements",level:2},{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"Options",id:"options",level:2},{value:"<code>include</code>
1",id:"include",level:3},{value:"<code>exclude</code>",id:"exclude",level:3},{value:"<code>debugger</code>",id:"debugger",level:3},{value:"<code>functions</code>",id:"functions",level:3},{value:"<code>labels</code>",id:"labels",level:3},{value:"<code>sourceMap</code>",id:"sourcemap",level:3}];function p(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",strong:"strong",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"farmfeplugin-strip",children:"@farmfe/plugin-strip"})}),"\n",(0,t.jsxs)(n.p,{children:["\ud83c\udf63 A Farm rust plugin to remove ",(0,t.jsx)(n.code,{children:"debugger"})," statements and functions like ",(0,t.jsx)(n.code,{children:"assert.equal"})," and ",(0,t.jsx)(n.code,{children:"console.log"})," from your code."]}),"\n",(0,t.jsx)(n.h2,{id:"requirements",children:"Requirements"}),"\n",(0,t.jsxs)(n.p,{children:["This plugin requires an ",(0,t.jsx)(n.a,{href:"https://github.com/nodejs/Release",children:"LTS"})," Node version (v18.0.0+) and Farm v1.0.0+."]}),"\n",(0,t.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,t.jsxs)(i.A,{children:[(0,t.jsx)(a.A,{value:"npm",label:"npm",children:(0,t.jsx)(l.A,{children:"npm install @farmfe/plugin-strip"})}),(0,t.jsx)(a.A,{value:"yarn",label:"yarn",children:(0,t.jsx)(l.A,{children:"yarn add @farmfe/plugin-strip"})}),(0,t.jsx)(a.A,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(l.A,{children:"pnpm add @farmfe/plugin-strip"})})]}),"\n",(0,t.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsxs)(n.p,{children:["Create a ",(0,t.jsx)(n.code,{children:"farm.config.js"})," ",(0,t.jsx)(n.a,{href:"https://www.farmfe.org/docs/config/configuring-farm",children:"configuration file"})," and import the plugin:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",children:"import { defineConfig } from '@farmfe/core';\nimport strip from '@farmfe/plugin-strip';\n\nexport default defineConfig({\n // ...\n plugins: [\n [\n strip({\n // plugin options\n functions:[ 'console.*', 'assert.*' ],\n labels: ['unittest']\n })\n ]\n ],\n // ...\n});\n"})}),"\n",(0,t.jsx)(n.h2,{id:"options",children:"Options"}),"\n",(0,t.jsx)(n.h3,{id:"include",children:(0,t.jsx)(n.code,{children:"include"})}),"\n",(0,t.jsxs)(n.p,{children:["Type: ",(0,t.jsx)(n.code,{children:"String | RegExp | Array[...String|RegExp]"}),(0,t.jsx)("br",{}),"\nDefault: ",(0,t.jsx)(n.code,{children:"['**/*.js']"}),(0,t.jsx)("br",{}),"\nExample: ",(0,t.jsx)(n.code,{children:"include: '**/*.(mjs|js)',"}),(0,t.jsx)("br",{})]}),"\n",(0,t.jsx)(n.p,{children:"A pattern, or array of patterns, which specify the files in the build the plugin should operate on."}),"\n",(0,t.jsx)(n.h3,{id:"exclude",children:(0,t.jsx)(n.code,{children:"exclude"})}),"\n",(0,t.jsxs)(n.p,{children:["Type: ",(0,t.jsx)(n.code,{children:"String | RegExp | Array[...String|RegExp]"}),(0,t.jsx)("br",{}),"\nDefault: ",(0,t.jsx)(n.code,{children:"[]"}),(0,t.jsx)("br",{}),"\nExample: ",(0,t.jsx)(n.code,{children:"exlude: 'tests/**/*',"}),(0,t.jsx)("br",{})]}),"\n",(0,t.jsxs)(n.p,{children:["A pattern, or array of patterns, which specify the files in the build the plugin should ",(0,t.jsx)(n.em,{children:"ignore"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"debugger",children:(0,t.jsx)(n.code,{children:"debugger"})}),"\n",(0,t.jsxs)(n.p,{children:["Type: ",(0,t.jsx)(n.code,{children:"Boolean"}),(0,t.jsx)("br",{}),"\nDefault: ",(0,t.jsx)(n.code,{children:"true"}),(0,t.jsx)("br",{}),"\nExample: ",(0,t.jsx)(n.code,{children:"debugger: false,"}),(0,t.jsx)("br",{})]}),"\n",(0,t.jsxs)(n.p,{children:["If ",(0,t.jsx)(n.code,{children:"true"})," instructs the plugin to remove debugger statements."]}),"\n",(0,t.jsx)(n.h3,{id:"functions",children:(0,t.jsx)(n.code,{children:"functions"})}),"\n",(0,t.jsxs)(n.p,{children:["Type: ",(0,t.jsx)(n.code,{children:"Array[...String]"}),(0,t.jsx)("br",{}),"\nDefault: ",(0,t.jsx)(n.code,{children:"[ 'console.*', 'assert.*' ]"}),(0,t.jsx)("br",{}),"\nExample: ",(0,t.jsx)(n.code,{children:"functions: [ 'console.log', 'MyClass.Test' ],"}),(0,t.jsx)("br",{})]}),"\n",(0,t.jsx)(n.p,{children:"Specifies the functions that the plugin will target and remove."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"Note: specifying functions that are used at the begining of a chain, such as 'a().b().c()', will result in '(void 0).b().c()' which will generate an error at runtime."})}),"\n",(0,t.jsx)(n.h3,{id:"labels",children:(0,t.jsx)(n.code,{children:"labels"})}),"\n",(0,t.jsxs)(n.p,{children:["Type: ",(0,t.jsx)(n.code,{children:"Array[...String]"}),(0,t.jsx)("br",{}),"\nDefault: ",(0,t.jsx)(n.code,{children:"[]"}),(0,t.jsx)("br",{}),"\nExample: ",(0,t.jsx)(n.code,{children:"labels: ['unittest'],"}),(0,t.jsx)("br",{})]}),"\n",(0,t.jsxs)(n.p,{children:["Specifies the ",(0,t.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label",children:"labeled blocks or statements"})," that the plugin will target and remove."]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsxs)(n.em,{children:["Note: the '",(0,t.jsx)(n.strong,{children:":"}),"' is implied and should not be specified in the config."]})}),"\n",(0,t.jsx)(n.h3,{id:"sourcemap",children:(0,t.jsx)(n.code,{children:"sourceMap"})}),"\n",(0,t.jsxs)(n.p,{children:["Type: ",(0,t.jsx)(n.code,{children:"Boolean"}),(0,t.jsx)("br",{}),"\nDefault: ",(0,t.jsx)(n.code,{children:"true"}),(0,t.jsx)("br",{}),"\nExample: ",(0,t.jsx)(n.code,{children:"sourceMap: false,"}),(0,t.jsx)("br",{})]}),"\n",(0,t.jsxs)(n.p,{children:["If ",(0,t.jsx)(n.code,{children:"true"}),", instructs the plugin to update source maps accordingly after remov
1ing configured targets from the bundle."]})]})}function f(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},87955:(e,n,s)=>{s.d(n,{A:()=>o});var t=s(48318);const r={"shiki-wrapper":"shiki-wrapper_eFVS","code-header":"code-header_obPU","code-title":"code-title_n3kD","copy-button":"copy-button_MpeX","copy-icon":"copy-icon_DvHB",popIn:"popIn_sXIp","copy-success":"copy-success_xuS0"};var l=s(70251),i=s(21970);const a=[{name:"ts",content:'<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 256 256"><path fill="#3178C6" d="M20 0h216c11.046 0 20 8.954 20 20v216c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20V20C0 8.954 8.954 0 20 0Z"/><path fill="#FFF" d="M150.518 200.475v27.62c4.492 2.302 9.805 4.028 15.938 5.179c6.133 1.151 12.597 1.726 19.393 1.726c6.622 0 12.914-.633 18.874-1.899c5.96-1.266 11.187-3.352 15.678-6.257c4.492-2.906 8.048-6.704 10.669-11.394c2.62-4.689 3.93-10.486 3.93-17.391c0-5.006-.749-9.394-2.246-13.163a30.748 30.748 0 0 0-6.479-10.055c-2.821-2.935-6.205-5.567-10.149-7.898c-3.945-2.33-8.394-4.531-13.347-6.602c-3.628-1.497-6.881-2.949-9.761-4.359c-2.879-1.41-5.327-2.848-7.342-4.316c-2.016-1.467-3.571-3.021-4.665-4.661c-1.094-1.64-1.641-3.495-1.641-5.567c0-1.899.489-3.61 1.468-5.135s2.362-2.834 4.147-3.927c1.785-1.094 3.973-1.942
16.565-2.547c2.591-.604 5.471-.906 8.638-.906c2.304 0 4.737.173 7.299.518c2.563.345 5.14.877 7.732 1.597a53.669 53.669 0 0 1 7.558 2.719a41.7 41.7 0 0 1 6.781 3.797v-25.807c-4.204-1.611-8.797-2.805-13.778-3.582c-4.981-.777-10.697-1.165-17.147-1.165c-6.565 0-12.784.705-18.658 2.115c-5.874 1.409-11.043 3.61-15.506 6.602c-4.463 2.993-7.99 6.805-10.582 11.437c-2.591 4.632-3.887 10.17-3.887 16.615c0 8.228 2.375 15.248 7.127 21.06c4.751 5.811 11.963 10.731 21.638 14.759a291.458 291.458 0 0 1 10.625 4.575c3.283 1.496 6.119 3.049 8.509 4.66c2.39 1.611 4.276 3.366 5.658 5.265c1.382 1.899 2.073 4.057 2.073 6.474a9.901 9.901 0 0 1-1.296 4.963c-.863 1.524-2.174 2.848-3.93 3.97c-1.756 1.122-3.945 1.999-6.565 2.632c-2.62.633-5.687.95-9.2.95c-5.989 0-11.92-1.05-17.794-3.151c-5.875-2.1-11.317-5.25-16.327-9.451Zm-46.036-68.733H140V109H41v22.742h35.345V233h28.137V131.742Z"/></svg>'},{name:"js",content:'<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 256 256"><path fill="#F7DF1E" d="M0 0h256v256H0V0Z"/><path d="m67.312 213.932l19.59-11.856c3.78 6.701 7.218 12.371 15.465 12.371c7.905 0 12.89-3.092 12.89-15.12v-81.798h24.057v82.138c0 24.917-14.606 36.259-35.916 36.259c-19.245 0-30.416-9.967-36.087-21.996m85.07-2.576l19.588-11.341c5.157 8.421 11.859 14.607 23.715 14.607c9.969 0 16.325-4.984 16.325-11.858c0-8.248-6.53-11.17-17.528-15.98l-6.013-2.58c-17.357-7.387-28.87-16.667-28.87-36.257c0-18.044 13.747-31.792 35.228-31.792c15.294 0 26.292 5.328 34.196 19.247l-18.732 12.03c-4.125-7.389-8.591-10.31-15.465-10.31c-7.046 0-11.514 4.468-11.514 10.31c0 7.217 4.468 10.14 14.778 14.608l6.014 2.577c20.45 8.765 31.963 17.7 31.963 37.804c0 21.654-17.012 33.51-39.867 33.51c-22.339 0-36.774-10.654-43.819-24.574"/></svg>'},{name:"css",content:'<svg xmlns="http://www.w3.org/2000/svg" width="29.37" height="32" viewBox="0 0 256 279"><defs><linearGradient id="logosWindiCss0" x1="16.639%" x2="137.275%" y1="36.186%" y2="175.371%"><stop offset="7.822%" stop-color="#54C8F1"/><stop offset="57.292%" stop-color="#41A2EF"/><stop offset="100%" stop-color="#3386EE"/></linearGradient><linearGradient id="logosWindiCss1" x1="-22.099%" x2="91.451%" y1="-49.621%" y2="73.695%"><stop offset="7.822%" stop-color="#54C8F1"/><stop offset="57.292%" stop-color="#41A2EF"/><stop offset="100%" stop-color="#3386EE"/></linearGradient><linearGradient id="logosWindiCss2" x1="8.696%" x2="71.739%" y1="37.461%" y2="80.271%"><stop offset="7.822%" stop-color="#54C8F1"/><stop offset="57.292%" stop-color="#41A2EF"/><stop offset="100%" stop-color="#3386EE"/></linearGradient><linearGradient id="logosWindiCss3" x1="60.744%" x2="501.135%" y1="-308.636%" y2="225.788%"><stop offset="7.822%" stop-color="#54C8F1"/><stop offset="57.292%" stop-color="#41A2EF"/><stop offset="100%" stop-color="#3386EE"/></linearGradient></defs><path fill="url(#logosWindiCss0)" d="M133.784 48.922C133.784 21.945 111.84 0 84.863 0c-28.43 0-45.428 21.316-45.428 41.933h27.956c0-5.8 5.423-13.978 17.472-13.978c11.56 0 20.966 9.407 20.966 20.967c0 11.56-8.438 20.966-29.715 20.966H0v27.955h76.114c35.911 0 57.67-21.944 57.67-48.921Zm0 0C133.784 21.945 111.84 0 84.863 0c-28.43 0-45.428 21.316-45.428 41.933h27.956c0-5.8 5.423-13.978 17.472-13.978c11.56 0 20.966 9.407 20.966 20.967c0 11.56-8.438 20.966-29.715 20.966H0v27.955h76.114c35.911 0 57.67-21.944 57.67-48.921Z"/><path fill="url(#logosWindiCss1)" d="M195.803 229.339c0 26.978-21.945 48.922-48.922 48.922c-28.43 0-45.427-21.315-45.427-41.933h27.955c0 5.8 5.423 13.979 17.472 13.979c11.56 0 20.967-9.408 20.967-20.968s-10.63-20.966-29.716-20.966H53.671v-27.956h84.461c35.912 0 57.671 21.945 57.671 48.922Zm0 0c0 26.978-21.945 48.922-48.922 48.922c-28.43 0-45.427-21.315-45.427-41.933h27.955c0 5.8 5.423 13.979 17.472 13.979c11.56 0 20.967-9.408 20.967-20.968s-10.63-20.966-29.716-20.966H53.671v-27.956h84.461c35.912 0 57.671 21.945 57.671 48.922Z"/><path fill="url(#logosWindiCss2)" d="M203.13 43.13c-30.834 0-52.585 23.45-52.585 54.284h24.76c0-15.327 11.13-26.457 27.825-26.457c16.696 0 25.044 11.13 25.044 26.457s-10.842 27.955-40.348 27.955H0v27.956h192c43.695 0 64-28.085 64-55.911c0-30.835-20.87-54.284-52.87-54.284Z"/><path fill="url(#logosWindiCss3)" d="M36.647 180.417H0v28.19h36.647z"/></svg>'},{name:"json",content:'<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 16 16"><path fill="none" stroke="#eed49f" stroke-linecap="round" stroke-linejoin="round" d="M4.5 2.5H4c-.75 0-1.5.75-1.5 1.5v2c0 1.1-1 2-1.83 2c.83 0 1.83.9 1.83 2v2c0 .75.75 1.5 1.5 1.5h.5m7-11h.5c.75 0 1.5.75 1.5 1.5v2c0 1.1 1 2 1.83 2c-.83 0-1.83.9-1.83 2v2c0 .74-.75 1.5-1.5 1.5h-.5m-6.5-3a.5.5 0 1 0 0-1a.5.5 0 0 0 0 1m3 0a.5.5 0 1 0 0-1a.5.5 0 0 0 0 1m3 0a.5.5 0 1 0 0-1a.5.5 0 0 0 0 1"/></svg>'},{name:"text",content:'<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 48 48"><g fill="none" stroke-width="4"><path fill="#2F88FF" stroke="#000" stroke-linejoin="round" d="M10 4H30L40 14V42C40 43.1046 39.1046 44 38 44H10C8.89543 44 8 43.1046 8 42V6C8 4.89543 8.89543 4 10 4Z"/><path stroke="#fff" stroke-linecap="round" d="M18 18.0083H30"/><path stroke="#fff" stroke-linecap="round" d="M24.0083 18.0083V34"/></g></svg>'},{name:"vue",content:'<svg xmlns="http://www.w3.org/2000/svg" width="37.07" height="32" viewBox="0 0 256 221"><path fill="#41B883" d="M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44
10h47.36Z"/><path fill="#41B883" d="m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0H0Z"/><path fill="#35495E" d="M50.56 0L128 133.12L204.8 0h-47.36L128 51.2L97.92 0H50.56Z"/></svg>'}];var c=s(49214);function o(e){const[n,s]=(0,t.useState)(""),[o,d]=(0,t.useState)(!1),u=e.className?e.className.replace(/language-/,""):"javascript",h=e.metastring?e.metastring.match(/title="([^"]+)"/):null,p=h?h[1]:null,f=e.metastring?e.metastring.match(/{([\d,-]+)}/):null,{colorMode:g}=(0,i.G)(),m={ts:a.find((e=>"ts"===e.name))?.content,js:a.find((e=>"js"===e.name))?.content,css:a.find((e=>"css"===e.name))?.content,json:a.find((e=>"json"===e.name))?.content,txt:a.find((e=>"text"===e.name))?.content,vue:a.find((e=>"vue"===e.name))?.content},x=(e,n)=>(0,c.jsx)("span",{className:n,dangerouslySetInnerHTML:{__html:e}});(0,t.useEffect)((()=>{(async()=>{let n=[];f&&(n=f[1].split(",").flatMap((e=>{const[n,s]=e.split("-").map(Number);return s?Array.from({length:s-n+1},((e,s)=>n+s)):[n]})));const t=await(0,l.Yz)(e.children,{lang:u,theme:"dark"===g?"vitesse-dark":"vitesse-light",transformers:[{name:"line-highlight",code(e){let s=0;return e.children.forEach((e=>{"element"===e.type&&"span"===e.tagName&&"line"===e.properties.class&&(s++,n.includes(s)&&(e.properties.class="line highlighted-line"))})),e}}]});s(t)})()}),[e.children,g,u,f]);return(0,c.jsx)(c.Fragment,{children:(0,c.jsxs)("div",{className:r["shiki-wrapper"],children:[(0,c.jsxs)("div",{className:r["code-header"],children:[p&&(0,c.jsxs)("div",{className:r["code-title"],children:[(e=>{if(!e)return null;const n=e.split(".").pop().toLowerCase(),s=m[n];return s?x(s,r["file-icon"]):null})(p),p]}),(0,c.jsx)("button",{className:r["copy-button"],onClick:()=>{navigator.clipboard.writeText(e.children).then((()=>{d(!0),setTimeout((()=>d(!1)),2e3)}))},children:o?(0,c.jsx)("svg",{className:`${r["copy-icon"]} ${r["copy-success"]}`,viewBox:"0 0 24 24",children:(0,c.jsx)("path",{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z"})}):(0,c.jsx)("svg",{className:r["copy-icon"],viewBox:"0 0 24 24",children:(0,c.jsx)("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"})})})]}),(0,c.jsx)("div",{className:r["code-content"],dangerouslySetInnerHTML:{__html:n}})]})})}},71947:(e,n,s)=>{s.d(n,{A:()=>i});s(48318);var t=s(23372);const r={tabItem:"tabItem_Q1qS"};var l=s(49214);function i(e){let{children:n,hidden:s,className:i}=e;return(0,l.jsx)("div",{role:"tabpanel",className:(0,t.A)(r.tabItem,i),hidden:s,children:n})}},12790:(e,n,s)=>{s.d(n,{A:()=>y});var t=s(48318),r=s(23372),l=s(52521),i=s(66325),a=s(97478),c=s(37202),o=s(42587),d=s(7152);function u(e){return t.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,t.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:n,children:s}=e;return(0,t.useMemo)((()=>{const e=n??function(e){return u(e).map((e=>{let{props:{value:n,label:s,attributes:t,default:r}}=e;return{value:n,label:s,attributes:t,default:r}}))}(s);return function(e){const n=(0,o.XI)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,s])}function p(e){let{value:n,tabValues:s}=e;return s.some((e=>e.value===n))}function f(e){let{queryString:n=!1,groupId:s}=e;const r=(0,i.W6)(),l=function(e){let{queryString:n=!1,groupId:s}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!s)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return s??null}({queryString:n,groupId:s});return[(0,c.aZ)(l),(0,t.useCallback)((e=>{if(!l)return;const n=new URLSearchParams(r.location.search);n.set(l,e),r.replace({...r.location,search:n.toString()})}),[l,r])]}function g(e){const{defaultValue:n,queryString:s=!1,groupId:r}=e,l=h(e),[i,c]=(0,t.useState)((()=>function(e){let{defaultValue:n,tabValues:s}=e;if(0===s.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!p({value:n,tabValues:s}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${s.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const t=s.find((e=>e.default))??s[0];if(!t)throw new Error("Unexpected error: 0 tabValues");return t.value}({defaultValue:n,tabValues:l}))),[o,u]=f({queryString:s,groupId:r}),[g,m]=function(e){let{groupId:n}=e;const s=function(e){return e?`docusaurus.tab.${e}`:null}(n),[r,l]=(0,d.Dv)(s);return[r,(0,t.useCallback)((e=>{s&&l.set(e)}),[s,l])]}({groupId:r}),x=(()=>{const e=o??g;return p({value:e,tabValues:l})?e:null})();(0,a.A)((()=>{x&&c(x)}),[x]);return{selectedValue:i,selectValue:(0,t.useCallback)((e=>{if(!p({value:e,tabValues:l}))throw new Error(`Can't select invalid tab value=${e}`);c(e),u(e),m(e)}),[u,m,l]),tabValues:l}}var m=s(3662);const x={tabList:"tabList_vzF7",tabItem:"tabItem_gx_e"};var v=s(49214);function j(e){let{className:n,block:s,selectedValue:t,selectValue:i,tabValues:a}=e;const c=[],{blockElementScrollPositionUntilNextRender:o}=(0,l.a_)(),d=e=>{const n=e.currentTarget,s=c.indexOf(n),r=a[s].value;r!==t&&(o(n),i(r))},u=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const s=c.indexOf(e.currentTarget)+1;n=c[s]??c[0];break}case"ArrowLeft":{const s=c.indexOf(e.currentTarget)-1;n=c[s]??c[c.length-1];break}}n?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.A)("tabs",{"tabs--block":s},n),children:a.map((e=>{let{value:n,label:s,attributes:l}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:t===n?0:-1,"aria-selected":t===n,ref:e=>c.push(e),onKeyDown:u,onClick:d,...l,className:(0,r.A)("tabs__item",x.tabItem,l?.className,{"tabs__item--active":t===n}),children:s??n},n)}))})}function b(e){let{lazy:n,children:s,selectedValue:l}=e;
1const i=(Array.isArray(s)?s:[s]).filter(Boolean);if(n){const e=i.find((e=>e.props.value===l));return e?(0,t.cloneElement)(e,{className:(0,r.A)("margin-top--md",e.props.className)}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:i.map(((e,n)=>(0,t.cloneElement)(e,{key:n,hidden:e.props.value!==l})))})}function w(e){const n=g(e);return(0,v.jsxs)("div",{className:(0,r.A)("tabs-container",x.tabList),children:[(0,v.jsx)(j,{...n,...e}),(0,v.jsx)(b,{...n,...e})]})}function y(e){const n=(0,m.A)();return(0,v.jsx)(w,{...e,children:u(e.children)},String(n))}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.