diff --git a/assets/css/styles.0352d7ff.css b/assets/css/styles.7147b0ac.css
similarity index 57%
rename from assets/css/styles.0352d7ff.css
rename to assets/css/styles.7147b0ac.css
index 6279d84cbe..7d245babda 100644
--- a/assets/css/styles.0352d7ff.css
+++ b/assets/css/styles.7147b0ac.css
@@ -1 +1 @@
-.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}[data-theme=dark] .DocSearch,[data-theme=light] .DocSearch{--docsearch-hit-color:var(--ifm-font-color-base);--docsearch-hit-active-color:var(--ifm-color-white)}.toggleButton_x9TT,html{-webkit-tap-highlight-color:transparent}.close,.version_gVgE{float:right}*,.DocSearch-Container,.DocSearch-Container *,.slide___3-Nqo{box-sizing:border-box}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.list_ZO3j article:last-child,.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_AQgk{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_zaS2,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}.container_RUsj,.container_RUsj>svg,img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList_Qoir{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_FzoX,.alert__heading,.nullValueParaiso_Ey4X,.playgroundHeader_Tvsk,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover),.tweetMeta_fAxr strong{color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:any-link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.hash-link,.svg_d33c{-webkit-user-select:none}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_dS_J:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;pointer-events:none;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white);--ifm-footer-background-color:#2b3137}.changelogItemContainer_jeDt,.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_RhpI article>:first-child,.docItemContainer_RhpI header+*,.footer__item,.tweetQuote_h8Rz .avatar__subtitle{margin-top:0}.admonitionContent_Knsx>:last-child,.browserWindowBody_Idgs>:last-child,.cardContainer_Uewx :last-child,.collapsibleContent_EoA1 p:last-child,.details_Nokh>summary>p:last-child,.footer__items,.headingText_iR0x>h2,.tabItem_pnkT>:last-child{margin-bottom:0}.codeBlockStandalone_i_cY,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title,.title_UBNu{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_Nokh[data-collapsed=false].isBrowser_QrB5>summary:before,.details_Nokh[open]:not(.isBrowser_QrB5)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;content:"";filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.indexCtasGitHubButtonWrapper_AOht,.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_PjqA,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}#nprogress,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:1rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);position:fixed;transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;position:fixed;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover,.sidebarItemLink_Qrfg:hover{text-decoration:none}.pagination-nav{display:grid;grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.sidebarItemTitle_VrjY,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.header-github-link:before,.tabs__item{transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto;padding-left:0}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec;--site-color-feedback-background:#2a2929;--docusaurus-highlighted-code-line-bg:#42424259;--docsearch-text-color:#f5f6f7;--docsearch-container-background:#090a11cc;--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 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 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 #0304094d;--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 #494c6a80,0 -4px 8px 0 #0003;--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--site-primary-hue-saturation:167 68%;--site-primary-hue-saturation-light:167 56%;--site-color-feedback-background:#f0f8ff;--docusaurus-highlighted-code-line-bg:#0000001a;--ifm-breadcrumb-color-active:var(--ifm-color-primary-darker)!important;--ifm-menu-color-active:var(--ifm-color-primary-darker)!important;--docusaurus-announcement-bar-height:auto;--docusaurus-blog-social-icon-size:1rem;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:#656c85cc;--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a66;--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 #45629b1f;--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base);--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}.carousel_raHC,.siteSlide_AwQk,[data-rmiz]{position:relative}[data-rmiz-ghost]{pointer-events:none;position:absolute}[data-rmiz-btn-unzoom],[data-rmiz-btn-zoom]{appearance:none;background-color:#000000b3;border:none;border-radius:50%;box-shadow:0 0 1px #ffffff80;color:#fff;height:40px;margin:0;outline-offset:2px;padding:9px;touch-action:manipulation;width:40px}[data-rmiz-btn-zoom]:not(:focus):not(:active){position:absolute;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;pointer-events:none;white-space:nowrap;width:1px}[data-rmiz-btn-zoom]{cursor:zoom-in;inset:10px 10px auto auto;position:absolute}[data-rmiz-btn-unzoom]{cursor:zoom-out;inset:20px 20px auto auto;position:absolute;z-index:1}[data-rmiz-content=found] [data-zoom],[data-rmiz-content=found] [role=img],[data-rmiz-content=found] img,[data-rmiz-content=found] svg{cursor:zoom-in}[data-rmiz-modal]::backdrop{display:none}[data-rmiz-modal][open]{background:#0000;border:0;height:100vh;height:100svh;margin:0;max-height:none;max-width:none;overflow:hidden;padding:0;position:fixed;width:100vw;width:100svw}[data-rmiz-modal-overlay]{inset:0;position:absolute;transition:background-color .3s}[data-rmiz-modal-overlay=hidden]{background-color:#fff0}[data-rmiz-modal-overlay=visible]{background-color:#fff}[data-rmiz-modal-content]{height:100%;position:relative;width:100%}[data-rmiz-modal-img]{cursor:zoom-out;image-rendering:high-quality;position:absolute;transform-origin:top left;transition:transform .3s}[data-theme=light]{--ifm-color-primary:hsl(var(--site-primary-hue-saturation) 30%);--ifm-color-primary-dark:hsl(var(--site-primary-hue-saturation) 26%);--ifm-color-primary-darker:hsl(var(--site-primary-hue-saturation) 23%);--ifm-color-primary-darkest:hsl(var(--site-primary-hue-saturation) 17%);--ifm-color-primary-light:hsl(var(--site-primary-hue-saturation-light) 39%);--ifm-color-primary-lighter:hsl(var(--site-primary-hue-saturation-light) 47%);--ifm-color-primary-lightest:hsl(var(--site-primary-hue-saturation-light) 58%);--ifm-background-color:#fff}[data-theme=dark]{--ifm-color-primary:hsl(var(--site-primary-hue-saturation) 45%);--ifm-color-primary-dark:hsl(var(--site-primary-hue-saturation) 41%);--ifm-color-primary-darker:hsl(var(--site-primary-hue-saturation) 38%);--ifm-color-primary-darkest:hsl(var(--site-primary-hue-saturation) 32%);--ifm-color-primary-light:hsl(var(--site-primary-hue-saturation-light) 54%);--ifm-color-primary-lighter:hsl(var(--site-primary-hue-saturation-light) 62%);--ifm-color-primary-lightest:hsl(var(--site-primary-hue-saturation-light) 73%)}.header-github-link:before{background-color:var(--ifm-navbar-link-color);content:"";display:flex;height:24px;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E");width:24px}.header-github-link:hover:before{background-color:var(--ifm-navbar-link-hover-color)}.unique-tabs .tabs__item{line-height:16px;margin-right:8px}.unique-tabs .tabs__item--active{background-color:var(--ifm-tabs-color-active);border:0;border-radius:var(--ifm-global-radius);color:#fff}[data-theme=light] .themedDocusaurus [fill="#FFFF50"]{fill:#adff2f}[data-theme=dark] .themedDocusaurus [fill="#FFFF50"]{fill:#2e8b57}[data-theme=light] .DocSearch{--docsearch-muted-color:var(--ifm-color-emphasis-700);--docsearch-container-background:#5e6470b3;--docsearch-modal-background:var(--ifm-color-secondary-lighter);--docsearch-searchbox-background:var(--ifm-color-secondary);--docsearch-searchbox-focus-background:var(--ifm-color-white);--docsearch-hit-background:var(--ifm-color-white);--docsearch-footer-background:var(--ifm-color-white)}[data-theme=dark] .DocSearch{--docsearch-text-color:var(--ifm-font-color-base);--docsearch-muted-color:var(--ifm-color-secondary-darkest);--docsearch-container-background:#2f3745b3;--docsearch-modal-background:var(--ifm-background-color);--docsearch-searchbox-background:var(--ifm-background-color);--docsearch-searchbox-focus-background:var(--ifm-color-black);--docsearch-hit-background:var(--ifm-color-emphasis-100);--docsearch-footer-background:var(--ifm-background-surface-color);--docsearch-key-gradient:linear-gradient(-26.5deg,var(--ifm-color-emphasis-200) 0%,var(--ifm-color-emphasis-100) 100%)}div[class^=announcementBar_]{font-size:20px;--site-announcement-bar-stripe-color1:#e8d7ff;--site-announcement-bar-stripe-color2:#ffe9d1;background:repeating-linear-gradient(35deg,var(--site-announcement-bar-stripe-color1),var(--site-announcement-bar-stripe-color1) 20px,var(--site-announcement-bar-stripe-color2) 10px,var(--site-announcement-bar-stripe-color2) 40px);font-weight:700}.screen-reader-only{border:0;clip:rect(0 0 0 0);clip-path:polygon(0 0,0 0,0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}[data-theme=dark] img[src$="#gh-light-mode-only"],[data-theme=light] img[src$="#gh-dark-mode-only"],html[data-navbar=false] .navbar{display:none}.test-marker-site-custom-css-unique-rule{content:"site-custom-css-unique-rule"}.video-container{margin:0 auto;max-width:560px;overflow:hidden;position:relative;width:100%}.yt-lite>.lty-playbtn{border:0;cursor:pointer}.dropdown-separator{margin:.3rem 0}.dropdown-archived-versions{font-size:.875rem;padding:.2rem .5rem}.code-block-error-line{background-color:#ff000020;border-left:3px solid #ff000080;display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}[data-rmiz-modal-overlay=visible]{background-color:#fffffff2}[data-theme=dark] [data-rmiz-modal-overlay=visible]{background-color:#000000f2}html[data-red-border] div#__docusaurus{border:thick solid red}.red_FE5X,html.plugin-docs.plugin-id-docs-tests .red>a{color:red}html.plugin-docs.plugin-id-docs-tests .navbar{border-bottom:thin solid #0ff}html.plugin-blog.plugin-id-blog-tests .navbar{border-bottom:thin solid #0f0}html.plugin-pages.plugin-id-pages-tests .navbar{border-bottom:thin solid #ff0}#z-index-test{z-index:100}html:has(#navbar-dropdown-tests) .navbar__item.dropdown~a{display:none}.test-marker-site-client-module{content:"site-client-module"}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_S51O,.navbarSearchContainer_dDCC:empty,.sidebarLogo_UK0N,.themedComponent_bJGS,[data-theme=dark] .lightToggleIcon_dnYY,[data-theme=light] .darkToggleIcon_OBbf,html[data-announcement-bar-initially-dismissed=true] .announcementBar_cTOO{display:none}.skipToContent_UHvc{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_UHvc:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_nmpN{line-height:0;padding:0}.content_ttnW{font-size:85%;padding:5px 0;text-align:center}.content_ttnW a{color:inherit;text-decoration:underline}.DocSearch-Container a,.navlink__gTJ:hover{text-decoration:none}.announcementBar_cTOO{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_Lqfg{flex:0 0 10px}.announcementBarClose_UFLi{align-self:stretch;flex:0 0 30px}.toggle_bT41{height:2rem;width:2rem}.toggleButton_x9TT{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_x9TT:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_Dj8q{cursor:not-allowed}.buttonBack___1mlaL,.buttonFirst___2rhFr,.buttonLast___2yuh0,.buttonNext___2mOCa,.buttonNext___3Lm3s,.dot___3c3SI,.dropdownNavbarItemMobile_A1en,.yt-lite{cursor:pointer}.darkNavbarColorModeToggle_JF8j:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_jnGk,[data-theme=light] .themedComponent--light_LEkC,html:not([data-theme]) .themedComponent--light_LEkC{display:initial}.iconExternalLink_Rdzz{margin-left:.3rem}.iconLanguage_tqOs{margin-right:5px;vertical-align:text-bottom}.navbarHideable_uAgx{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_QgM6{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_rP1m{color:red;white-space:pre-wrap}.buttons_uHc7,.tagListItem_aQcS{white-space:nowrap}.errorBoundaryFallback_heah{color:red;padding:.55rem}.footerLogoLink_CiM_{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_CiM_:hover,.hash-link:focus,.hover___MYy31,.loading___1pvNI,.zoom___3kqYk,:hover>.hash-link{opacity:1}.anchorWithStickyNavbar_rB0w{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_SSbb{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);user-select:none}.hash-link:before{content:"#"}.mainWrapper_PEsc{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.test-marker-theme-layout_zWhB{content:"theme-layout"}.sidebar_P3nc{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.sidebarItemTitle_VrjY{font-size:var(--ifm-h3-font-size)}.container_x5Un,.sidebarItemList_OSkG{font-size:.9rem}.sidebarItem_WJ0y{margin-top:.7rem}.sidebarItemLink_Qrfg{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_nUeK{color:var(--ifm-color-primary)!important}.yearGroupHeading_lECJ{margin-bottom:.4rem;margin-top:1.6rem}.yearGroupHeading_Ruz9{margin:1rem .75rem .5rem}[data-theme=dark] .githubSvg_jqE4,[data-theme=dark] .xSvg_Q0g7{fill:var(--light)}[data-theme=light] .githubSvg_jqE4,[data-theme=light] .xSvg_Q0g7{fill:var(--dark)}.authorSocials_kfiG{align-items:center;display:flex;flex-wrap:wrap;line-height:0;margin-top:.2rem;overflow:hidden;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}.authorSocialLink_KNUH{line-height:0;margin-right:.3rem}.authorSocialIcon_zf9I,.authorSocialLink_KNUH{height:var(--docusaurus-blog-social-icon-size);width:var(--docusaurus-blog-social-icon-size)}.authorName_HPyT{font-size:1.1rem}.authorTitle_bPKN{display:-webkit-box;font-size:.8rem;line-height:.8rem;margin-top:.06rem;overflow:hidden;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}.authorCol_bvyx{max-width:inherit!important}.imageOnlyAuthorRow_L2DM,.imageOnlyAuthorRow_WiD6{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_oyze,.imageOnlyAuthorCol_uiac{margin-left:.3rem;margin-right:.3rem}.searchQueryInput_S_pS,.searchVersionInput_RZ74{background:var(--docsearch-searchbox-focus-background);border:2px solid var(--ifm-toc-border-color);border-radius:var(--ifm-global-radius);color:var(--docsearch-text-color);font:var(--ifm-font-size-base) var(--ifm-font-family-base);margin-bottom:.5rem;padding:.8rem;transition:border var(--ifm-transition-fast) ease;width:100%}.searchQueryInput_S_pS:focus,.searchVersionInput_RZ74:focus{border-color:var(--docsearch-primary-color);outline:0}.searchQueryInput_S_pS::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_dGxU{font-size:.9rem;font-weight:700}.algoliaLogo_nq6Q{max-width:150px}.algoliaLogoPathFill_IWVH{fill:var(--ifm-font-color-base)}.searchResultItem_jZK3{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_Nbvf{font-weight:400;margin-bottom:0}.searchResultItemPath_wcJo{color:var(--ifm-color-content-secondary);font-size:.8rem;--ifm-breadcrumb-separator-size-multiplier:1}.searchResultItemSummary_HbIg{font-style:italic;margin:.5rem 0 0}.loadingSpinner_Jw0H{animation:1s linear infinite a;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes a{to{transform:rotate(1turn)}}.loader_rYmk{margin-top:2rem}.search-result-match{background:#ffd78e40;color:var(--docsearch-hit-color);padding:.09em 0}.tweet_x2tn{font-size:15px}.tweetMeta_fAxr{color:var(--ifm-color-emphasis-700)}.section_rC2D{padding:40px 0}.imageOnlyAuthorCol_uiac [class^=image],.sectionAlt_XiGz,.toggleButton_WvRg{background-color:var(--ifm-color-emphasis-100)}.sectionInner_Y4r1{margin:0 auto}.featureImage_yA8i{margin:0 auto;max-height:128px;width:auto}.featureHeading_TLGJ{font-size:var(--ifm-h3-font-size);padding-top:1rem}.announcement_FsS0{font-size:24px;font-weight:700;margin:0 auto;padding:48px;text-align:center}.announcementDark_tzC4{background-color:#20232a;color:#fff;--ifm-link-color:var(--ifm-color-primary)}.announcementInner_RsrQ{margin:0 auto;max-width:768px}.topBanner_JYZy{align-items:center;display:flex;flex-direction:column;font-size:20px;margin:0 auto;max-width:900px;padding:30px 20px;text-align:center}.topBannerTitle_nAZL{font-size:54px;font-weight:700;margin-bottom:.4rem}.topBannerTitleText_Ferb{background:linear-gradient(90deg,#833ab4,#fd1d1d 50%,#fcb045);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:#0000}.topBannerTitleText_Ferb:hover{border-bottom:2px solid;border-color:#9800ff}html[data-theme=dark] .topBannerTitleText_Ferb{background:linear-gradient(90deg,#9800ff,#f62929 50%,#ffa908);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:#0000}.topBannerDescription_fLgs{font-size:20px}.hero_syme{background-color:#2b3137;padding:48px}.heroInner_VWeJ{margin:0 auto;max-width:1100px;padding:0 20px}.heroProjectTagline_EkV5{color:#fff;font-size:60px;margin:0}.heroTitleTextHtml_zYwv b,.indexCtaTryNowButton_wlFR:hover,.wordWrapButtonEnabled_TBIH .wordWrapButtonIcon_MQXS{color:var(--ifm-color-primary)}@keyframes b{0%{opacity:0;transform:scale(.1) rotate(30deg);transform-origin:center bottom}50%{transform:rotate(-10deg)}70%{transform:rotate(3deg)}to{opacity:1;transform:scale(1)}}.heroLogo_jM6J{animation-duration:2s;animation-name:b;float:right;height:auto;margin-top:20px;padding:0 20px 20px}.indexCtas_hUA_{--ifm-button-size-multiplier:1.6;align-items:center;display:flex;flex-wrap:wrap;margin-top:24px}.indexCtas_hUA_ a,.indexCtas_hUA_ a:hover{color:#000}.indexCtas_hUA_ a:last-of-type{margin:20px 36px}.indexCtasGitHubButton_sMIS,.verticalSlideTrayWrap___2nO7o,.verticalSliderTray___267D8{overflow:hidden}.tweetsSection_Fqsy>.col>*{margin-bottom:2rem}.test-marker-site-index-page_LJ7R{content:"site-index-page"}.yt-lite{background-color:#000;background-position:50%;background-size:cover;contain:content;display:block;position:relative}.yt-lite.lyt-activated:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==);background-position:top;background-repeat:repeat-x;content:"";display:block;height:60px;padding-bottom:50px;position:absolute;top:0;transition:.2s cubic-bezier(0,0,.2,1);width:100%}.yt-lite:after{content:"";display:block;padding-bottom:var(--aspect-ratio)}.slideInner___2mfX9,.yt-lite>iframe{height:100%;left:0;position:absolute;top:0;width:100%}.yt-lite>.lty-playbtn{background-color:#212121;border-radius:14%;height:46px;opacity:.8;transition:.2s cubic-bezier(0,0,.2,1);width:70px;z-index:1}.yt-lite:hover>.lty-playbtn{background-color:red;opacity:1}.yt-lite>.lty-playbtn:before{border-color:#0000 #0000 #0000 #fff;border-style:solid;border-width:11px 0 11px 19px;content:""}.yt-lite>.lty-playbtn,.yt-lite>.lty-playbtn:before{left:50%;position:absolute;top:50%;transform:translate3d(-50%,-50%,0)}.yt-lite.lyt-activated{cursor:unset}.yt-lite.lyt-activated:before,.yt-lite.lyt-activated>.lty-playbtn{opacity:0;pointer-events:none}.container_tECh{background-color:#18191a;color:#fff;min-height:100vh;overflow-x:hidden;padding:80px 20px 20px}.container_tECh code{background-color:#444950;color:#fff}.nav_sWk6{align-items:center;background-color:#242526;display:flex;height:3.75rem;justify-content:space-evenly;position:fixed;width:100%;z-index:1}.navlink__gTJ{border-radius:4px;color:#fff;font-size:clamp(12px,4vw,16px);font-weight:500;padding:6px;text-align:center}.navlink__gTJ:hover{background-color:#292a2b}.active_Uuwz{background-color:#363739}.containerParaiso_TYa3{background-color:#292a2b;border-radius:4px;cursor:default;font-family:monospace;font-size:13px;margin-top:10px;padding:10px;position:relative}.basicElementParaiso_DqvR{border-left:1px solid #4f424c;color:#fff;padding:3px 5px 3px 20px}.labelParaiso_l3ql{color:#e7e9db;letter-spacing:.5px;margin-right:3px}.nullValueParaiso_Ey4X{background-color:#4f424c;border-radius:3px;color:#fec418;display:inline-block;font-size:11px;font-weight:700;padding:1px 2px}.collapseIconParaiso_MWEp,.expandIconParaiso_fAkX{font-size:22px;margin-right:3px;vertical-align:initial;line-height:10px;display:inline-block}.undefinedValueParaiso__T3e{color:#8d8687}.stringValueParaiso_T6i7{color:#f99b15}.booleanValueParaiso__TSh{color:#815ba4}.numberValueParaiso_JGW0{color:#e96ba8}.otherValueParaiso_nnwW,.punctuationParaiso_knwc{color:#fff}.expandIconParaiso_fAkX{color:#815ba4}.collapseIconParaiso_MWEp:after{content:"\25BE"}.collapseIconParaiso_MWEp{color:#06b6ef}.expandIconParaiso_fAkX:after{content:"\25B8"}.collapseContentParaiso_KH36{color:#f99b15;cursor:pointer;font-size:18px;line-height:10px}.collapseContentParaiso_KH36:after{content:"..."}.main_LiBd{background:var(--site-color-feedback-background);border-radius:4px;min-height:500px;padding:var(--ifm-spacing-horizontal)}.listItem_Bobk,.listItem_lSSi,.listItem_zpSX{background-color:#242526;border-radius:4px;margin-bottom:20px;padding:10px}.sectionTitle_T1wU{margin-top:20px}.name_C0v7{color:#e06b6b;font-weight:800}.browserWindowMenuIcon_Vhuh,.searchBar_E3wW{margin-left:auto}.searchBar_E3wW input{border:1px solid gray;border-radius:15px;height:30px;padding:10px}.svg_d33c{color:#e9669e;display:inline-block;height:1em;user-select:none;width:1em;fill:currentColor}.small_xkoK{font-size:1rem}.medium_J4if{font-size:1.25rem}.large_G4cM{font-size:1.8rem}.showcaseCardImage_wjKy{border-bottom:2px solid var(--ifm-color-emphasis-200);height:150px;overflow:hidden}.showcaseCardHeader_H8b9{align-items:center;display:flex;margin-bottom:12px}.showcaseCardTitle_ZxTI{flex:1 1 auto;margin-bottom:0}.showcaseCardTitle_ZxTI a{background:linear-gradient(var(--ifm-color-primary),var(--ifm-color-primary)) 0 100%/0 1px no-repeat;text-decoration:none;transition:background-size .2s ease-out}.showcaseCardTitle_ZxTI a:not(:focus):hover{background-size:100% 1px}.showcaseCardHeader_H8b9,.showcaseCardTitle_ZxTI{margin-right:.25rem}.showcaseCardSrcBtn_F6t0{border:none;margin-left:6px;padding-left:12px;padding-right:12px}.showcaseCardSrcBtn_F6t0:focus-visible{background-color:var(--ifm-color-secondary-dark)}[data-theme=dark] .showcaseCardSrcBtn_F6t0{background-color:var(--ifm-color-emphasis-200)!important;color:inherit}[data-theme=dark] .showcaseCardSrcBtn_F6t0:hover{background-color:var(--ifm-color-emphasis-300)!important}.showcaseCardBody_bvOP{font-size:smaller;line-height:1.66}.cardFooter_Xq1d{display:flex;flex-wrap:wrap}.tag_jo6t{align-items:center;border:1px solid var(--ifm-color-secondary-darkest);border-radius:12px;cursor:default;display:inline-flex;font-size:.675rem;margin-bottom:6px!important;margin-right:6px}.headingButtons_DX79>*,.headingText_iR0x>span,.tag_jo6t .textLabel_lQex{margin-left:8px}.tag_jo6t .colorLabel_D_Fl{border-radius:50%;height:7px;margin-left:6px;margin-right:6px;width:7px}.cardList_kMxr{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.showcaseFavorite_LFys{background-color:#f6fdfd;padding-bottom:2rem;padding-top:2rem}html[data-theme=dark] .showcaseFavorite_LFys{background-color:#232525}.DocSearch-Button-Container,.headingButtons_DX79,.headingFavorites_LTro{align-items:center;display:flex}.checkboxLabel_vxMa:hover{box-shadow:0 0 2px 1px var(--ifm-color-secondary-darkest);opacity:1}input[type=checkbox]+.checkboxLabel_vxMa{align-items:center;border:2px solid var(--ifm-color-secondary-darkest);border-radius:4px;cursor:pointer;display:flex;line-height:1.5;opacity:.85;padding:.275rem .8rem;transition:opacity .2s ease-out}input:focus-visible+.checkboxLabel_vxMa{outline:currentColor solid 2px}input:checked+.checkboxLabel_vxMa{background-color:#94e1d040;border:2px solid var(--ifm-color-primary-darkest);opacity:.9}input:checked+.checkboxLabel_vxMa:hover{box-shadow:0 0 2px 1px var(--ifm-color-primary-dark);opacity:.75}html[data-theme=dark] input:checked+.checkboxLabel_vxMa{background-color:#94e1d01a}.checkboxLabel_DiOL{--height:25px;--width:80px;--border:2px;border:var(--border) solid var(--ifm-color-primary-darkest);border-radius:var(--height);box-shadow:var(--ifm-global-shadow-md);cursor:pointer;display:flex;height:var(--height);justify-content:space-around;opacity:.75;position:relative;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default);width:var(--width)}.checkboxLabel_DiOL:hover{box-shadow:var(--ifm-global-shadow-md),0 0 2px 1px var(--ifm-color-primary-dark);opacity:1}.checkboxLabel_DiOL:after{background-color:var(--ifm-color-primary-darkest);border-radius:var(--height);content:"";height:100%;inset:0;position:absolute;transform:translateX(calc(var(--width)/ 2 - var(--border)));transition:transform var(--ifm-transition-fast) var(--ifm-transition-timing-default);width:calc(var(--width)/2)}input:focus-visible~.checkboxLabel_DiOL:after{outline:currentColor solid 2px}.checkboxLabel_DiOL>*{color:inherit;font-size:.8rem;transition:opacity .15s ease-in 50ms}input:checked~.checkboxLabel_DiOL:after{transform:translateX(calc(var(--border)*-1))}.headingRow_DGKw{align-items:center;display:flex;justify-content:space-between}.headingText_iR0x{align-items:baseline;display:flex}.tagList_Ku_M{align-items:center;display:flex;flex-wrap:wrap}.tagListItem_aQcS{font-size:.8rem;height:32px;margin-right:.5rem;margin-top:.5rem;-webkit-user-select:none;user-select:none}.tagListItem_aQcS:last-child{margin-right:0}.route_X3At{margin-bottom:10px}.routeName_j49z{color:#e06b6b}.backToTopButton_PuQw{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_PuQw:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_YSA3{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PUyN{display:none;margin:0}.docMainContainer_EfwR,.docRoot_kBZ6{display:flex;width:100%}.docsWrapper_lLmf{display:flex;flex:1 0 auto}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;padding:0 8px;-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:0}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Hit-Tree,.DocSearch-Hit-action,.DocSearch-Hit-icon,.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;width:20px}.DocSearch--active{overflow:hidden!important}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Link{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:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px 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:4px;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{appearance:none;background:#0000;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;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-Container--Stalled .DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Cancel,.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator,.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset{animation:.1s ease-in forwards c;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0}.DocSearch-Help,.DocSearch-HitsFooter,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.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:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:#0000}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.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:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}.DocSearch-Hit--deleting{opacity:0;transition:.25s linear}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:.25s linear .25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;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:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;width:24px}.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:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon,.tocCollapsibleContent_FG8F a{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}.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 8px;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-Tree,.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] mark{color:var(--docsearch-hit-active-color)!important}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{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:0;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;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 li,.DocSearch-Commands-Key{align-items:center;display:flex}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}@keyframes c{0%{opacity:0}to{opacity:1}}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container{z-index:calc(var(--ifm-z-index-fixed) + 1)}.apiTable_e8hp,.colorTable_Js7s{font-size:small}.apiTable_e8hp tbody tr{transition:box-shadow .2s}.apiTable_e8hp tbody tr:focus,.apiTable_e8hp tbody tr:hover{box-shadow:0 0 7px 0 inset var(--ifm-color-warning);cursor:pointer;outline:0;transition:box-shadow .2s}.cardContainer_Uewx{--ifm-link-color:var(--ifm-color-emphasis-800);--ifm-link-hover-color:var(--ifm-color-emphasis-700);--ifm-link-hover-decoration:none;border:1px solid var(--ifm-color-emphasis-200);box-shadow:0 1.5px 3px 0 #00000026;transition:all var(--ifm-transition-fast) ease;transition-property:border,box-shadow}.cardContainer_Uewx:hover{border-color:var(--ifm-color-primary);box-shadow:0 3px 6px 0 #0003}.cardTitle_dwRT{font-size:1.2rem}.cardDescription_mCBT{font-size:.8rem}.browserWindow_my1Q{border:3px solid var(--ifm-color-emphasis-200);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.browserWindowHeader_jXSR{align-items:center;background:var(--ifm-color-emphasis-200);display:flex;padding:.5rem 1rem}.row_KZDM:after{clear:both;content:"";display:table}.right_oyze{align-self:center;width:10%}.browserWindowAddressBar_Pd8y{background-color:var(--ifm-background-color);border-radius:12.5px;color:var(--ifm-color-gray-800);flex:1 0;font:400 13px Arial,sans-serif;margin:0 1rem 0 .5rem;padding:5px 15px;-webkit-user-select:none;user-select:none}[data-theme=dark] .browserWindowAddressBar_Pd8y{color:var(--ifm-color-gray-300)}.dot_giz1{background-color:#bbb;border-radius:50%;display:inline-block;height:12px;margin-right:6px;margin-top:4px;width:12px}.bar_rrRL{background-color:#aaa;display:block;height:3px;margin:3px 0;width:17px}.browserWindowBody_Idgs{background-color:var(--ifm-background-color);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;padding:1rem}.red_FE5X[aria-selected=true]{border-bottom-color:red}.orange_kp8w{color:orange}.orange_kp8w[aria-selected=true]{border-bottom-color:orange}.yellow_uGry{color:#ff0}.yellow_uGry[aria-selected=true]{border-bottom-color:#ff0}.image___xtQGH{display:block;height:100%;width:100%}.spinner___27VUp{animation-duration:1s;animation-iteration-count:infinite;animation-name:d;animation-timing-function:linear;border:4px solid #a9a9a9;border-radius:30px;border-top-color:#000;height:30px;left:calc(50% - 15px);position:absolute;top:calc(50% - 15px);width:30px}@keyframes d{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.container___2O72F{height:100%;overflow:hidden;position:relative;width:100%}.overlay___IV4qY{bottom:0;cursor:zoom-in;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s,transform .3s}.imageLoadingSpinnerContainer___3UIPD,.masterSpinnerContainer___1Z6hB{background-color:#f4f4f4;bottom:0;left:0;position:absolute;right:0;top:0}.slide___3-Nqo{display:block;height:0;list-style-type:none;margin:0;position:relative}.slide___3-Nqo:focus{outline:0!important}.slideHorizontal___1NzNV,.verticalTray___12Key{float:left}[dir=rtl] .slideHorizontal___1NzNV{direction:rtl;transform:scaleX(-1)}.focusRing___1airF{bottom:5px;left:5px;outline:Highlight solid 5px;pointer-events:none;position:absolute;right:5px;top:5px}.horizontalSlider___281Ls,.verticalSlider___34ZFD{position:relative;overflow:hidden}.horizontalSlider___281Ls{touch-action:pan-y pinch-zoom}[dir=rtl] .horizontalSlider___281Ls{direction:ltr;transform:scaleX(-1)}.horizontalSliderTray___1L-0W{overflow:hidden;width:100%}.sliderTray___-vHFQ{display:block;list-style:none;margin:0;padding:0}.sliderAnimation___300FY{transition:transform .5s cubic-bezier(.645,.045,.355,1);will-change:transform}.navButton_qSul,.siteLink_IglZ{background-color:#0000004d;position:absolute;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navButton_qSul{border:0;border-radius:50%;color:#fff;font-size:20px;height:40px;top:50%;transform:translateY(-50%);width:40px}.navButton_qSul:hover{background-color:#00000073}.dotGroup_n_95{bottom:5px;display:flex;justify-content:center;pointer-events:none;position:absolute;width:100%}.dotGroup_n_95>.carousel__dot{background:#0003;border:none;border-radius:50%;display:inline-block;height:1rem;margin:2px;pointer-events:auto;width:1rem}.dotGroup_n_95>.carousel__dot--selected{background:#00000073}.siteLink_IglZ{border-radius:6px;bottom:2px;font-size:16px;padding:0 12px;right:2px;--ifm-link-color:var(--ifm-color-gray-400)}.siteLink_IglZ:hover{background-color:#00000073;--ifm-link-color:var(--ifm-color-gray-200);--ifm-link-hover-color:var(--ifm-color-gray-200);--ifm-link-hover-decoration:none}.wrappingBlock_S4U4{display:inline-block;padding:5px;vertical-align:top;width:50%}.wrappingBlock_S4U4 code[class^=codeBlockLines]{white-space:pre-wrap}.tableOfContentsInline_2sru ul{font-size:medium;list-style-type:disc;padding-top:0}.tocCollapsibleButton_IbtT{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_IbtT:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_Nor3:after,.tocCollapsibleExpanded_FzA_{transform:none}.tocCollapsible_BEWm{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.codeBlockContainer_jDV4,.playgroundContainer_6Ior{box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.tocCollapsibleContent_FG8F>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_FG8F ul li{margin:.4rem .8rem}.playgroundContainer_6Ior{border-radius:var(--ifm-global-radius);overflow:hidden}.playgroundHeader_Tvsk{background:var(--ifm-color-emphasis-200);color:var(--ifm-color-content);font-size:var(--ifm-code-font-size);font-weight:700;letter-spacing:.08rem;padding:.75rem}.playgroundHeader_Tvsk:first-of-type{background:var(--ifm-color-emphasis-600);color:var(--ifm-color-content-inverse)}.playgroundEditor_TySg{direction:ltr;font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace)!important}.playgroundPreview_mApW{background-color:var(--ifm-pre-background);padding:1rem}.buttonGroup_cUGO button,.codeBlockContainer_jDV4{background:var(--prism-background-color);color:var(--prism-color)}.codeBlockContainer_jDV4{border-radius:var(--ifm-code-border-radius)}.codeBlockContent_vx7S{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_bdru{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_Gebt{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_bdru+.codeBlockContent_vx7S .codeBlock_Gebt{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_FJaf{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_FU9Q{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_cUGO{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_cUGO button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup_cUGO button:focus-visible,.buttonGroup_cUGO button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_cUGO button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_qRmp{counter-increment:a;display:table-row}.codeLineNumber_dS_J{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_dS_J:before{content:counter(a);opacity:.4}.codeLineContent_XF5l{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_OkN_{opacity:1!important}.copyButtonIcons_OqsO{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_PgCn,.copyButtonSuccessIcon_bsQG{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_bsQG{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_OkN_ .copyButtonIcon_PgCn{opacity:0;transform:scale(.33)}.copyButtonCopied_OkN_ .copyButtonSuccessIcon_bsQG{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.tag_Nd8t{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_Nd8t:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_TiLs{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_AQg7{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_AQg7:after,.tagWithCount_AQg7:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_AQg7:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_AQg7:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_AQg7 span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tag_SyQ5{display:inline-block;margin:.5rem .5rem 0 1rem}.wordWrapButtonIcon_MQXS{height:1.2rem;width:1.2rem}.details_Nokh{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_Nokh>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_Nokh>summary::-webkit-details-marker{display:none}.details_Nokh>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_EoA1{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_Cn_P{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.tags_rTaS,.tweetQuote_h8Rz p{display:inline}.tag_l5va{display:inline-block;margin:0 .4rem .5rem 0}.iconEdit_IMw_{margin-right:.3em;vertical-align:sub}.admonitionIcon_rXq6,.color_mVUL{display:inline-block;vertical-align:middle}.image_oRbT{height:100%;object-fit:cover;width:100%}.containsTaskList_k9gM{list-style:none}:not(.containsTaskList_k9gM>li)>.containsTaskList_k9gM{padding-left:0}.authorCol_mDBc{flex-grow:1!important;max-width:inherit!important}.toggleButton_WvRg{border-radius:50%;height:var(--ifm-avatar-photo-size);margin-left:.3rem;margin-right:.3rem;width:var(--ifm-avatar-photo-size)}.toggleButtonIconExpanded_ERxv{transform:rotate(180deg)}.img_vXGZ{height:auto}.changelogItemTitleList_sueG{font-size:2rem}.admonition_o5H7{margin-bottom:1em}.admonitionHeading_FzoX{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_FzoX:not(:last-child){margin-bottom:.3rem}.admonitionHeading_FzoX code{text-transform:none}.admonitionIcon_rXq6{margin-right:.4em}.admonitionIcon_rXq6 svg{display:inline-block;height:1.6em;width:1.6em;fill:var(--ifm-alert-foreground-color)}.color_mVUL{border-radius:.5rem;height:2rem;width:2rem}.input_HUC3{font-size:var(--ifm-font-size-base);padding:.5rem}.colorInput_C1YB,.input_HUC3{border-color:var(--ifm-color-content-secondary);border-radius:var(--ifm-global-radius);border-style:solid;border-width:var(--ifm-global-border-width)}.colorInput_C1YB{height:2.25rem;position:relative;top:7px}.lastUpdated_OHCJ{font-size:smaller;font-style:italic;margin-top:.2rem}.tweetQuote_h8Rz{margin:3rem 1rem;padding:0;--ifm-link-color:var(--ifm-color-emphasis-900);--ifm-link-hover-color:var(--ifm-color-emphasis-900)}.tweetQuote_h8Rz blockquote{border:none;font-size:1.2rem;font-weight:200;line-height:1.4;margin-bottom:.6rem;position:relative;text-align:center}.tweetQuote_h8Rz blockquote:after,.tweetQuote_h8Rz blockquote:before{color:#f1efe6;font-family:cursive;font-size:6rem;height:3rem;line-height:1;position:absolute;width:3rem}.tweetQuote_h8Rz blockquote:before{content:"“";left:-2.4rem;top:-1.1rem}.tweetQuote_h8Rz blockquote:after{bottom:-1.1rem;content:"”";right:-1.6rem}[data-theme=dark] .tweetQuote_h8Rz blockquote:after,[data-theme=dark] .tweetQuote_h8Rz blockquote:before{color:#3b3b3b}.tweetQuote_h8Rz .avatarImg_b51M{height:42px;width:42px}.tableOfContents_RLlU{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.rss_fOa_,.rss_fOa_:hover{color:#f26522}.twitter_LekN,.twitter_LekN:hover{color:#1da1f2}.breadcrumbHomeIcon_uaSn{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Wvrh{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.title_tRie{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-leading)*1.25)}.footerTip_UBUV{font-size:.8rem;margin-top:var(--ifm-paragraph-margin-bottom)}.mdxPageWrapper_bWhk{justify-content:center}@media screen and (min-width:800px){.nav_sWk6{align-items:center;background-color:#18191a;border-right:1px solid #606770;flex-direction:column;float:left;height:100vh;justify-content:flex-start;padding-top:20px;width:200px}.navlink__gTJ{margin-top:20px;text-align:left;width:80%}.container_tECh{float:right;padding-top:40px;width:calc(100% - 200px)}}@media (min-width:997px){.collapseSidebarButton_PUyN,.expandButton_ockD{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_UFLi,.announcementBarPlaceholder_Lqfg{flex-basis:50px}.navbarSearchContainer_dDCC{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.tweetsSection_Fqsy>.col>:last-child{margin-bottom:0}.collapseSidebarButton_PUyN{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_DI0B{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_H1n0,[dir=rtl] .collapseSidebarButtonIcon_DI0B{transform:rotate(0)}.collapseSidebarButton_PUyN:focus,.collapseSidebarButton_PUyN:hover,.expandButton_ockD:focus,.expandButton_ockD:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_t1vY{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_rWGR{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_rWGR{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_Pf08{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_vtcw{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_tZ9s{padding-top:0}.sidebarHidden_PrHU{opacity:0;visibility:hidden}.sidebarLogo_UK0N{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_UK0N img{height:2rem;margin-right:.5rem}.expandButton_ockD{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_H1n0{transform:rotate(180deg)}.docSidebarContainer_S51O{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_gbDM{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_K3q9{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_EfwR{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_r8nV{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_nA1F{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.lastUpdated_OHCJ{text-align:right}.tocMobile_NSfz{display:none}.docItemCol_n6xZ,.generatedIndexPage_hs4p{max-width:75%!important}.list_ZO3j article:nth-last-child(-n+2){margin-bottom:0!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_UolE,.footer__link-separator,.navbar__item,.sidebar_P3nc,.tableOfContents_RLlU{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_dDCC{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.tweetsSection_Fqsy>.col:last-child>:last-child{margin-bottom:0}.docItemContainer_oucX{padding:0 .3rem}}@media only screen and (max-width:996px){.searchQueryColumn_ourN,.searchResultsColumn_dGxU{max-width:60%!important}.searchLogoColumn_v5Xz,.searchVersionColumn_n2Lb{max-width:40%!important}.searchLogoColumn_v5Xz{padding-left:0!important}}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder,.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%;max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.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-Cancel{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:0;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}}@media only screen and (max-width:768px){.topBannerTitle_nAZL{font-size:40px}.topBannerDescription_fLgs{font-size:16px;white-space:normal}.hero_syme{padding-left:20px;padding-right:20px}.heroInner_VWeJ{padding:0}.heroProjectTagline_EkV5{font-size:36px;text-align:center}.heroLogo_jM6J{display:block;float:none;margin:0 auto}.indexCtas_hUA_{justify-content:center}.indexCtas_hUA_ a{margin:20px 36px}.indexCtasGitHubButton_sMIS{display:none}.siteLink_IglZ{font-size:12px;padding:0 8px}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.title_UBNu{font-size:2rem}}@media screen and (max-width:576px){.searchQueryColumn_ourN{max-width:100%!important}.searchVersionColumn_n2Lb{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media (-webkit-min-device-pixel-ratio:0){.focusRing___1airF{outline-color:-webkit-focus-ring-color;outline-style:auto}}@media (hover:hover){.backToTopButton_PuQw:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}[data-rmiz-modal-img],[data-rmiz-modal-overlay]{transition-duration:.01ms!important}}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation: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-Hit--deleting,.DocSearch-Hit--favoriting{transition:none}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}@media print{.announcementBar_cTOO,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_NSfz{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_FJaf{white-space:pre-wrap}}
\ No newline at end of file
+.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}[data-theme=dark] .DocSearch,[data-theme=light] .DocSearch{--docsearch-hit-color:var(--ifm-font-color-base);--docsearch-hit-active-color:var(--ifm-color-white)}.toggleButton_x9TT,html{-webkit-tap-highlight-color:transparent}.close,.version_gVgE{float:right}*,.DocSearch-Container,.DocSearch-Container *,.slide___3-Nqo{box-sizing:border-box}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.list_ZO3j article:last-child,.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_AQgk{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_zaS2,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}.container_RUsj,.container_RUsj>svg,img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList_Qoir{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_FzoX,.alert__heading,.nullValueParaiso_Ey4X,.playgroundHeader_Tvsk,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover),.tweetMeta_fAxr strong{color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:any-link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.hash-link,.svg_d33c{-webkit-user-select:none}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_dS_J:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;pointer-events:none;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white);--ifm-footer-background-color:#2b3137}.changelogItemContainer_jeDt,.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_RhpI article>:first-child,.docItemContainer_RhpI header+*,.footer__item,.tweetQuote_h8Rz .avatar__subtitle{margin-top:0}.admonitionContent_Knsx>:last-child,.browserWindowBody_Idgs>:last-child,.cardContainer_Uewx :last-child,.collapsibleContent_EoA1 p:last-child,.details_Nokh>summary>p:last-child,.footer__items,.headingText_iR0x>h2,.tabItem_pnkT>:last-child{margin-bottom:0}.codeBlockStandalone_i_cY,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title,.title_UBNu{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_Nokh[data-collapsed=false].isBrowser_QrB5>summary:before,.details_Nokh[open]:not(.isBrowser_QrB5)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;content:"";filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.indexCtasGitHubButtonWrapper_AOht,.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_PjqA,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}#nprogress,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:1rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);position:fixed;transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;position:fixed;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover,.sidebarItemLink_Qrfg:hover{text-decoration:none}.pagination-nav{display:grid;grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.sidebarItemTitle_VrjY,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.header-github-link:before,.tabs__item{transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto;padding-left:0}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec;--site-color-feedback-background:#2a2929;--docusaurus-highlighted-code-line-bg:#42424259;--docsearch-text-color:#f5f6f7;--docsearch-container-background:#090a11cc;--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 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 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 #0304094d;--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 #494c6a80,0 -4px 8px 0 #0003;--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--site-primary-hue-saturation:167 68%;--site-primary-hue-saturation-light:167 56%;--site-color-feedback-background:#f0f8ff;--docusaurus-highlighted-code-line-bg:#0000001a;--ifm-breadcrumb-color-active:var(--ifm-color-primary-darker)!important;--ifm-menu-color-active:var(--ifm-color-primary-darker)!important;--docusaurus-announcement-bar-height:auto;--docusaurus-blog-social-icon-size:1rem;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:#656c85cc;--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a66;--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 #45629b1f;--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base);--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}.carousel_raHC,.siteSlide_AwQk,[data-rmiz]{position:relative}[data-rmiz-ghost]{pointer-events:none;position:absolute}[data-rmiz-btn-unzoom],[data-rmiz-btn-zoom]{appearance:none;background-color:#000000b3;border:none;border-radius:50%;box-shadow:0 0 1px #ffffff80;color:#fff;height:40px;margin:0;outline-offset:2px;padding:9px;touch-action:manipulation;width:40px}[data-rmiz-btn-zoom]:not(:focus):not(:active){position:absolute;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;pointer-events:none;white-space:nowrap;width:1px}[data-rmiz-btn-zoom]{cursor:zoom-in;inset:10px 10px auto auto;position:absolute}[data-rmiz-btn-unzoom]{cursor:zoom-out;inset:20px 20px auto auto;position:absolute;z-index:1}[data-rmiz-content=found] [data-zoom],[data-rmiz-content=found] [role=img],[data-rmiz-content=found] img,[data-rmiz-content=found] svg{cursor:zoom-in}[data-rmiz-modal]::backdrop{display:none}[data-rmiz-modal][open]{background:#0000;border:0;height:100vh;height:100svh;margin:0;max-height:none;max-width:none;overflow:hidden;padding:0;position:fixed;width:100vw;width:100svw}[data-rmiz-modal-overlay]{inset:0;position:absolute;transition:background-color .3s}[data-rmiz-modal-overlay=hidden]{background-color:#fff0}[data-rmiz-modal-overlay=visible]{background-color:#fff}[data-rmiz-modal-content]{height:100%;position:relative;width:100%}[data-rmiz-modal-img]{cursor:zoom-out;image-rendering:high-quality;position:absolute;transform-origin:top left;transition:transform .3s}[data-theme=light]{--ifm-color-primary:hsl(var(--site-primary-hue-saturation) 30%);--ifm-color-primary-dark:hsl(var(--site-primary-hue-saturation) 26%);--ifm-color-primary-darker:hsl(var(--site-primary-hue-saturation) 23%);--ifm-color-primary-darkest:hsl(var(--site-primary-hue-saturation) 17%);--ifm-color-primary-light:hsl(var(--site-primary-hue-saturation-light) 39%);--ifm-color-primary-lighter:hsl(var(--site-primary-hue-saturation-light) 47%);--ifm-color-primary-lightest:hsl(var(--site-primary-hue-saturation-light) 58%);--ifm-background-color:#fff}[data-theme=dark]{--ifm-color-primary:hsl(var(--site-primary-hue-saturation) 45%);--ifm-color-primary-dark:hsl(var(--site-primary-hue-saturation) 41%);--ifm-color-primary-darker:hsl(var(--site-primary-hue-saturation) 38%);--ifm-color-primary-darkest:hsl(var(--site-primary-hue-saturation) 32%);--ifm-color-primary-light:hsl(var(--site-primary-hue-saturation-light) 54%);--ifm-color-primary-lighter:hsl(var(--site-primary-hue-saturation-light) 62%);--ifm-color-primary-lightest:hsl(var(--site-primary-hue-saturation-light) 73%)}.header-github-link:before{background-color:var(--ifm-navbar-link-color);content:"";display:flex;height:24px;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E");width:24px}.header-github-link:hover:before{background-color:var(--ifm-navbar-link-hover-color)}.unique-tabs .tabs__item{line-height:16px;margin-right:8px}.unique-tabs .tabs__item--active{background-color:var(--ifm-tabs-color-active);border:0;border-radius:var(--ifm-global-radius);color:#fff}[data-theme=light] .themedDocusaurus [fill="#FFFF50"]{fill:#adff2f}[data-theme=dark] .themedDocusaurus [fill="#FFFF50"]{fill:#2e8b57}[data-theme=light] .DocSearch{--docsearch-muted-color:var(--ifm-color-emphasis-700);--docsearch-container-background:#5e6470b3;--docsearch-modal-background:var(--ifm-color-secondary-lighter);--docsearch-searchbox-background:var(--ifm-color-secondary);--docsearch-searchbox-focus-background:var(--ifm-color-white);--docsearch-hit-background:var(--ifm-color-white);--docsearch-footer-background:var(--ifm-color-white)}[data-theme=dark] .DocSearch{--docsearch-text-color:var(--ifm-font-color-base);--docsearch-muted-color:var(--ifm-color-secondary-darkest);--docsearch-container-background:#2f3745b3;--docsearch-modal-background:var(--ifm-background-color);--docsearch-searchbox-background:var(--ifm-background-color);--docsearch-searchbox-focus-background:var(--ifm-color-black);--docsearch-hit-background:var(--ifm-color-emphasis-100);--docsearch-footer-background:var(--ifm-background-surface-color);--docsearch-key-gradient:linear-gradient(-26.5deg,var(--ifm-color-emphasis-200) 0%,var(--ifm-color-emphasis-100) 100%)}div[class^=announcementBar_]{font-size:20px;--site-announcement-bar-stripe-color1:#e8d7ff;--site-announcement-bar-stripe-color2:#ffe9d1;background:repeating-linear-gradient(35deg,var(--site-announcement-bar-stripe-color1),var(--site-announcement-bar-stripe-color1) 20px,var(--site-announcement-bar-stripe-color2) 10px,var(--site-announcement-bar-stripe-color2) 40px);font-weight:700}.screen-reader-only{border:0;clip:rect(0 0 0 0);clip-path:polygon(0 0,0 0,0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}[data-theme=dark] img[src$="#gh-light-mode-only"],[data-theme=light] img[src$="#gh-dark-mode-only"],html[data-navbar=false] .navbar{display:none}.test-marker-site-custom-css-unique-rule{content:"site-custom-css-unique-rule"}.video-container{margin:0 auto;max-width:560px;overflow:hidden;position:relative;width:100%}.yt-lite>.lty-playbtn{border:0;cursor:pointer}.dropdown-separator{margin:.3rem 0}.dropdown-archived-versions{font-size:.875rem;padding:.2rem .5rem}.code-block-error-line{background-color:#ff000020;border-left:3px solid #ff000080;display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}[data-rmiz-modal-overlay=visible]{background-color:#fffffff2}[data-theme=dark] [data-rmiz-modal-overlay=visible]{background-color:#000000f2}html[data-red-border] div#__docusaurus{border:thick solid red}.red_FE5X,html.plugin-docs.plugin-id-docs-tests .red>a{color:red}html.plugin-docs.plugin-id-docs-tests .navbar{border-bottom:thin solid #0ff}html.plugin-blog.plugin-id-blog-tests .navbar{border-bottom:thin solid #0f0}html.plugin-pages.plugin-id-pages-tests .navbar{border-bottom:thin solid #ff0}#z-index-test{z-index:100}html:has(#navbar-dropdown-tests) .navbar__item.dropdown~a{display:none}.test-marker-site-client-module{content:"site-client-module"}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_S51O,.navbarSearchContainer_dDCC:empty,.sidebarLogo_UK0N,.themedComponent_bJGS,[data-theme=dark] .lightToggleIcon_dnYY,[data-theme=light] .darkToggleIcon_OBbf,html[data-announcement-bar-initially-dismissed=true] .announcementBar_cTOO{display:none}.skipToContent_UHvc{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_UHvc:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_nmpN{line-height:0;padding:0}.content_ttnW{font-size:85%;padding:5px 0;text-align:center}.content_ttnW a{color:inherit;text-decoration:underline}.DocSearch-Container a,.navlink__gTJ:hover{text-decoration:none}.announcementBar_cTOO{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_Lqfg{flex:0 0 10px}.announcementBarClose_UFLi{align-self:stretch;flex:0 0 30px}.toggle_bT41{height:2rem;width:2rem}.toggleButton_x9TT{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.authorSocialIcon_hTX6,.authorSocialLink_hEWM,.authorSocials_tPnL{height:var(--docusaurus-blog-social-icon-size)}.authorSocialIcon_hTX6,.authorSocialLink_hEWM{width:var(--docusaurus-blog-social-icon-size)}.toggleButton_x9TT:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_Dj8q{cursor:not-allowed}.buttonBack___1mlaL,.buttonFirst___2rhFr,.buttonLast___2yuh0,.buttonNext___2mOCa,.buttonNext___3Lm3s,.dot___3c3SI,.dropdownNavbarItemMobile_A1en,.yt-lite{cursor:pointer}.darkNavbarColorModeToggle_JF8j:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_jnGk,[data-theme=light] .themedComponent--light_LEkC,html:not([data-theme]) .themedComponent--light_LEkC{display:initial}.iconExternalLink_Rdzz{margin-left:.3rem}.iconLanguage_tqOs{margin-right:5px;vertical-align:text-bottom}.navbarHideable_uAgx{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_QgM6{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_rP1m{color:red;white-space:pre-wrap}.buttons_uHc7,.tagListItem_aQcS{white-space:nowrap}.errorBoundaryFallback_heah{color:red;padding:.55rem}.footerLogoLink_CiM_{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_CiM_:hover,.hash-link:focus,.hover___MYy31,.loading___1pvNI,.zoom___3kqYk,:hover>.hash-link{opacity:1}.anchorWithStickyNavbar_rB0w{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_SSbb{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);user-select:none}.hash-link:before{content:"#"}.mainWrapper_PEsc{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.test-marker-theme-layout_zWhB{content:"theme-layout"}.sidebar_P3nc{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.sidebarItemTitle_VrjY{font-size:var(--ifm-h3-font-size)}.container_x5Un,.sidebarItemList_OSkG{font-size:.9rem}.sidebarItem_WJ0y{margin-top:.7rem}.sidebarItemLink_Qrfg{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_nUeK{color:var(--ifm-color-primary)!important}.yearGroupHeading_lECJ{margin-bottom:.4rem;margin-top:1.6rem}.yearGroupHeading_Ruz9{margin:1rem .75rem .5rem}[data-theme=dark] .githubSvg_jqE4,[data-theme=dark] .xSvg_Q0g7{fill:var(--light)}[data-theme=light] .githubSvg_jqE4,[data-theme=light] .xSvg_Q0g7{fill:var(--dark)}.authorSocials_tPnL{align-items:center;display:flex;flex-wrap:wrap;overflow:hidden;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}.authorSocialLink_hEWM,.authorSocials_tPnL{line-height:0}.authorSocialLink_hEWM{margin-right:.4rem}.authorImage_p8ow{--ifm-avatar-photo-size:3.6rem}.author-as-h1_Pd3R .authorImage_p8ow{--ifm-avatar-photo-size:7rem}.author-as-h2_UaZL .authorImage_p8ow{--ifm-avatar-photo-size:5.4rem}.authorDetails_dWdF{align-items:flex-start;display:flex;flex-direction:column;justify-content:space-around}.authorName_Y8Hr{display:flex;flex-direction:row;font-size:1.1rem;line-height:1.1rem}.author-as-h1_Pd3R .authorName_Y8Hr{display:inline;font-size:2.4rem;line-height:2.4rem}.author-as-h2_UaZL .authorName_Y8Hr{display:inline;font-size:1.4rem;line-height:1.4rem}.authorTitle_Slpj{display:-webkit-box;font-size:.8rem;line-height:.8rem;overflow:hidden;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}.author-as-h1_Pd3R .authorTitle_Slpj{font-size:1.2rem;line-height:1.2rem}.author-as-h2_UaZL .authorTitle_Slpj{font-size:1rem;line-height:1rem}.authorBlogPostCount_FxU_{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.8rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.authorCol_bvyx{max-width:inherit!important}.imageOnlyAuthorRow_L2DM,.imageOnlyAuthorRow_WiD6{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_oyze,.imageOnlyAuthorCol_uiac{margin-left:.3rem;margin-right:.3rem}.searchQueryInput_S_pS,.searchVersionInput_RZ74{background:var(--docsearch-searchbox-focus-background);border:2px solid var(--ifm-toc-border-color);border-radius:var(--ifm-global-radius);color:var(--docsearch-text-color);font:var(--ifm-font-size-base) var(--ifm-font-family-base);margin-bottom:.5rem;padding:.8rem;transition:border var(--ifm-transition-fast) ease;width:100%}.searchQueryInput_S_pS:focus,.searchVersionInput_RZ74:focus{border-color:var(--docsearch-primary-color);outline:0}.searchQueryInput_S_pS::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_dGxU{font-size:.9rem;font-weight:700}.algoliaLogo_nq6Q{max-width:150px}.algoliaLogoPathFill_IWVH{fill:var(--ifm-font-color-base)}.searchResultItem_jZK3{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_Nbvf{font-weight:400;margin-bottom:0}.searchResultItemPath_wcJo{color:var(--ifm-color-content-secondary);font-size:.8rem;--ifm-breadcrumb-separator-size-multiplier:1}.searchResultItemSummary_HbIg{font-style:italic;margin:.5rem 0 0}.loadingSpinner_Jw0H{animation:1s linear infinite a;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes a{to{transform:rotate(1turn)}}.loader_rYmk{margin-top:2rem}.search-result-match{background:#ffd78e40;color:var(--docsearch-hit-color);padding:.09em 0}.tweet_x2tn{font-size:15px}.tweetMeta_fAxr{color:var(--ifm-color-emphasis-700)}.section_rC2D{padding:40px 0}.imageOnlyAuthorCol_uiac [class^=image],.sectionAlt_XiGz,.toggleButton_WvRg{background-color:var(--ifm-color-emphasis-100)}.sectionInner_Y4r1{margin:0 auto}.featureImage_yA8i{margin:0 auto;max-height:128px;width:auto}.featureHeading_TLGJ{font-size:var(--ifm-h3-font-size);padding-top:1rem}.announcement_FsS0{font-size:24px;font-weight:700;margin:0 auto;padding:48px;text-align:center}.announcementDark_tzC4{background-color:#20232a;color:#fff;--ifm-link-color:var(--ifm-color-primary)}.announcementInner_RsrQ{margin:0 auto;max-width:768px}.topBanner_JYZy{align-items:center;display:flex;flex-direction:column;font-size:20px;margin:0 auto;max-width:900px;padding:30px 20px;text-align:center}.topBannerTitle_nAZL{font-size:54px;font-weight:700;margin-bottom:.4rem}.topBannerTitleText_Ferb{background:linear-gradient(90deg,#833ab4,#fd1d1d 50%,#fcb045);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:#0000}.topBannerTitleText_Ferb:hover{border-bottom:2px solid;border-color:#9800ff}html[data-theme=dark] .topBannerTitleText_Ferb{background:linear-gradient(90deg,#9800ff,#f62929 50%,#ffa908);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:#0000}.topBannerDescription_fLgs{font-size:20px}.hero_syme{background-color:#2b3137;padding:48px}.heroInner_VWeJ{margin:0 auto;max-width:1100px;padding:0 20px}.heroProjectTagline_EkV5{color:#fff;font-size:60px;margin:0}.heroTitleTextHtml_zYwv b,.indexCtaTryNowButton_wlFR:hover,.wordWrapButtonEnabled_TBIH .wordWrapButtonIcon_MQXS{color:var(--ifm-color-primary)}@keyframes b{0%{opacity:0;transform:scale(.1) rotate(30deg);transform-origin:center bottom}50%{transform:rotate(-10deg)}70%{transform:rotate(3deg)}to{opacity:1;transform:scale(1)}}.heroLogo_jM6J{animation-duration:2s;animation-name:b;float:right;height:auto;margin-top:20px;padding:0 20px 20px}.indexCtas_hUA_{--ifm-button-size-multiplier:1.6;align-items:center;display:flex;flex-wrap:wrap;margin-top:24px}.indexCtas_hUA_ a,.indexCtas_hUA_ a:hover{color:#000}.indexCtas_hUA_ a:last-of-type{margin:20px 36px}.indexCtasGitHubButton_sMIS,.verticalSlideTrayWrap___2nO7o,.verticalSliderTray___267D8{overflow:hidden}.tweetsSection_Fqsy>.col>*{margin-bottom:2rem}.test-marker-site-index-page_LJ7R{content:"site-index-page"}.yt-lite{background-color:#000;background-position:50%;background-size:cover;contain:content;display:block;position:relative}.yt-lite.lyt-activated:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==);background-position:top;background-repeat:repeat-x;content:"";display:block;height:60px;padding-bottom:50px;position:absolute;top:0;transition:.2s cubic-bezier(0,0,.2,1);width:100%}.yt-lite:after{content:"";display:block;padding-bottom:var(--aspect-ratio)}.slideInner___2mfX9,.yt-lite>iframe{height:100%;left:0;position:absolute;top:0;width:100%}.yt-lite>.lty-playbtn{background-color:#212121;border-radius:14%;height:46px;opacity:.8;transition:.2s cubic-bezier(0,0,.2,1);width:70px;z-index:1}.yt-lite:hover>.lty-playbtn{background-color:red;opacity:1}.yt-lite>.lty-playbtn:before{border-color:#0000 #0000 #0000 #fff;border-style:solid;border-width:11px 0 11px 19px;content:""}.yt-lite>.lty-playbtn,.yt-lite>.lty-playbtn:before{left:50%;position:absolute;top:50%;transform:translate3d(-50%,-50%,0)}.yt-lite.lyt-activated{cursor:unset}.yt-lite.lyt-activated:before,.yt-lite.lyt-activated>.lty-playbtn{opacity:0;pointer-events:none}.container_tECh{background-color:#18191a;color:#fff;min-height:100vh;overflow-x:hidden;padding:80px 20px 20px}.container_tECh code{background-color:#444950;color:#fff}.nav_sWk6{align-items:center;background-color:#242526;display:flex;height:3.75rem;justify-content:space-evenly;position:fixed;width:100%;z-index:1}.navlink__gTJ{border-radius:4px;color:#fff;font-size:clamp(12px,4vw,16px);font-weight:500;padding:6px;text-align:center}.navlink__gTJ:hover{background-color:#292a2b}.active_Uuwz{background-color:#363739}.containerParaiso_TYa3{background-color:#292a2b;border-radius:4px;cursor:default;font-family:monospace;font-size:13px;margin-top:10px;padding:10px;position:relative}.basicElementParaiso_DqvR{border-left:1px solid #4f424c;color:#fff;padding:3px 5px 3px 20px}.labelParaiso_l3ql{color:#e7e9db;letter-spacing:.5px;margin-right:3px}.nullValueParaiso_Ey4X{background-color:#4f424c;border-radius:3px;color:#fec418;display:inline-block;font-size:11px;font-weight:700;padding:1px 2px}.collapseIconParaiso_MWEp,.expandIconParaiso_fAkX{font-size:22px;margin-right:3px;vertical-align:initial;line-height:10px;display:inline-block}.undefinedValueParaiso__T3e{color:#8d8687}.stringValueParaiso_T6i7{color:#f99b15}.booleanValueParaiso__TSh{color:#815ba4}.numberValueParaiso_JGW0{color:#e96ba8}.otherValueParaiso_nnwW,.punctuationParaiso_knwc{color:#fff}.expandIconParaiso_fAkX{color:#815ba4}.collapseIconParaiso_MWEp:after{content:"\25BE"}.collapseIconParaiso_MWEp{color:#06b6ef}.expandIconParaiso_fAkX:after{content:"\25B8"}.collapseContentParaiso_KH36{color:#f99b15;cursor:pointer;font-size:18px;line-height:10px}.collapseContentParaiso_KH36:after{content:"..."}.main_LiBd{background:var(--site-color-feedback-background);border-radius:4px;min-height:500px;padding:var(--ifm-spacing-horizontal)}.authorListItem_Y1Zl{list-style-type:none;margin-bottom:2rem}.listItem_Bobk,.listItem_lSSi,.listItem_zpSX{background-color:#242526;border-radius:4px;margin-bottom:20px;padding:10px}.sectionTitle_T1wU{margin-top:20px}.name_C0v7{color:#e06b6b;font-weight:800}.browserWindowMenuIcon_Vhuh,.searchBar_E3wW{margin-left:auto}.searchBar_E3wW input{border:1px solid gray;border-radius:15px;height:30px;padding:10px}.svg_d33c{color:#e9669e;display:inline-block;height:1em;user-select:none;width:1em;fill:currentColor}.small_xkoK{font-size:1rem}.medium_J4if{font-size:1.25rem}.large_G4cM{font-size:1.8rem}.showcaseCardImage_wjKy{border-bottom:2px solid var(--ifm-color-emphasis-200);height:150px;overflow:hidden}.showcaseCardHeader_H8b9{align-items:center;display:flex;margin-bottom:12px}.showcaseCardTitle_ZxTI{flex:1 1 auto;margin-bottom:0}.showcaseCardTitle_ZxTI a{background:linear-gradient(var(--ifm-color-primary),var(--ifm-color-primary)) 0 100%/0 1px no-repeat;text-decoration:none;transition:background-size .2s ease-out}.showcaseCardTitle_ZxTI a:not(:focus):hover{background-size:100% 1px}.showcaseCardHeader_H8b9,.showcaseCardTitle_ZxTI{margin-right:.25rem}.showcaseCardSrcBtn_F6t0{border:none;margin-left:6px;padding-left:12px;padding-right:12px}.showcaseCardSrcBtn_F6t0:focus-visible{background-color:var(--ifm-color-secondary-dark)}[data-theme=dark] .showcaseCardSrcBtn_F6t0{background-color:var(--ifm-color-emphasis-200)!important;color:inherit}[data-theme=dark] .showcaseCardSrcBtn_F6t0:hover{background-color:var(--ifm-color-emphasis-300)!important}.showcaseCardBody_bvOP{font-size:smaller;line-height:1.66}.cardFooter_Xq1d{display:flex;flex-wrap:wrap}.tag_jo6t{align-items:center;border:1px solid var(--ifm-color-secondary-darkest);border-radius:12px;cursor:default;display:inline-flex;font-size:.675rem;margin-bottom:6px!important;margin-right:6px}.headingButtons_DX79>*,.headingText_iR0x>span,.tag_jo6t .textLabel_lQex{margin-left:8px}.tag_jo6t .colorLabel_D_Fl{border-radius:50%;height:7px;margin-left:6px;margin-right:6px;width:7px}.cardList_kMxr{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.showcaseFavorite_LFys{background-color:#f6fdfd;padding-bottom:2rem;padding-top:2rem}html[data-theme=dark] .showcaseFavorite_LFys{background-color:#232525}.DocSearch-Button-Container,.headingButtons_DX79,.headingFavorites_LTro{align-items:center;display:flex}.checkboxLabel_vxMa:hover{box-shadow:0 0 2px 1px var(--ifm-color-secondary-darkest);opacity:1}input[type=checkbox]+.checkboxLabel_vxMa{align-items:center;border:2px solid var(--ifm-color-secondary-darkest);border-radius:4px;cursor:pointer;display:flex;line-height:1.5;opacity:.85;padding:.275rem .8rem;transition:opacity .2s ease-out}input:focus-visible+.checkboxLabel_vxMa{outline:currentColor solid 2px}input:checked+.checkboxLabel_vxMa{background-color:#94e1d040;border:2px solid var(--ifm-color-primary-darkest);opacity:.9}input:checked+.checkboxLabel_vxMa:hover{box-shadow:0 0 2px 1px var(--ifm-color-primary-dark);opacity:.75}html[data-theme=dark] input:checked+.checkboxLabel_vxMa{background-color:#94e1d01a}.checkboxLabel_DiOL{--height:25px;--width:80px;--border:2px;border:var(--border) solid var(--ifm-color-primary-darkest);border-radius:var(--height);box-shadow:var(--ifm-global-shadow-md);cursor:pointer;display:flex;height:var(--height);justify-content:space-around;opacity:.75;position:relative;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default);width:var(--width)}.checkboxLabel_DiOL:hover{box-shadow:var(--ifm-global-shadow-md),0 0 2px 1px var(--ifm-color-primary-dark);opacity:1}.checkboxLabel_DiOL:after{background-color:var(--ifm-color-primary-darkest);border-radius:var(--height);content:"";height:100%;inset:0;position:absolute;transform:translateX(calc(var(--width)/ 2 - var(--border)));transition:transform var(--ifm-transition-fast) var(--ifm-transition-timing-default);width:calc(var(--width)/2)}input:focus-visible~.checkboxLabel_DiOL:after{outline:currentColor solid 2px}.checkboxLabel_DiOL>*{color:inherit;font-size:.8rem;transition:opacity .15s ease-in 50ms}input:checked~.checkboxLabel_DiOL:after{transform:translateX(calc(var(--border)*-1))}.headingRow_DGKw{align-items:center;display:flex;justify-content:space-between}.headingText_iR0x{align-items:baseline;display:flex}.tagList_Ku_M{align-items:center;display:flex;flex-wrap:wrap}.tagListItem_aQcS{font-size:.8rem;height:32px;margin-right:.5rem;margin-top:.5rem;-webkit-user-select:none;user-select:none}.tagListItem_aQcS:last-child{margin-right:0}.route_X3At{margin-bottom:10px}.routeName_j49z{color:#e06b6b}.backToTopButton_PuQw{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_PuQw:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_YSA3{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PUyN{display:none;margin:0}.docMainContainer_EfwR,.docRoot_kBZ6{display:flex;width:100%}.docsWrapper_lLmf{display:flex;flex:1 0 auto}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;padding:0 8px;-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:0}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Hit-Tree,.DocSearch-Hit-action,.DocSearch-Hit-icon,.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;width:20px}.DocSearch--active{overflow:hidden!important}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Link{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:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px 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:4px;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{appearance:none;background:#0000;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;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-Container--Stalled .DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Cancel,.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator,.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset{animation:.1s ease-in forwards c;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0}.DocSearch-Help,.DocSearch-HitsFooter,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.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:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:#0000}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.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:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}.DocSearch-Hit--deleting{opacity:0;transition:.25s linear}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:.25s linear .25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;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:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;width:24px}.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:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon,.tocCollapsibleContent_FG8F a{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}.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 8px;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-Tree,.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] mark{color:var(--docsearch-hit-active-color)!important}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{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:0;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;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 li,.DocSearch-Commands-Key{align-items:center;display:flex}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}@keyframes c{0%{opacity:0}to{opacity:1}}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container{z-index:calc(var(--ifm-z-index-fixed) + 1)}.apiTable_e8hp,.colorTable_Js7s{font-size:small}.apiTable_e8hp tbody tr{transition:box-shadow .2s}.apiTable_e8hp tbody tr:focus,.apiTable_e8hp tbody tr:hover{box-shadow:0 0 7px 0 inset var(--ifm-color-warning);cursor:pointer;outline:0;transition:box-shadow .2s}.cardContainer_Uewx{--ifm-link-color:var(--ifm-color-emphasis-800);--ifm-link-hover-color:var(--ifm-color-emphasis-700);--ifm-link-hover-decoration:none;border:1px solid var(--ifm-color-emphasis-200);box-shadow:0 1.5px 3px 0 #00000026;transition:all var(--ifm-transition-fast) ease;transition-property:border,box-shadow}.cardContainer_Uewx:hover{border-color:var(--ifm-color-primary);box-shadow:0 3px 6px 0 #0003}.cardTitle_dwRT{font-size:1.2rem}.cardDescription_mCBT{font-size:.8rem}.browserWindow_my1Q{border:3px solid var(--ifm-color-emphasis-200);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.browserWindowHeader_jXSR{align-items:center;background:var(--ifm-color-emphasis-200);display:flex;padding:.5rem 1rem}.row_KZDM:after{clear:both;content:"";display:table}.right_oyze{align-self:center;width:10%}.browserWindowAddressBar_Pd8y{background-color:var(--ifm-background-color);border-radius:12.5px;color:var(--ifm-color-gray-800);flex:1 0;font:400 13px Arial,sans-serif;margin:0 1rem 0 .5rem;padding:5px 15px;-webkit-user-select:none;user-select:none}[data-theme=dark] .browserWindowAddressBar_Pd8y{color:var(--ifm-color-gray-300)}.dot_giz1{background-color:#bbb;border-radius:50%;display:inline-block;height:12px;margin-right:6px;margin-top:4px;width:12px}.bar_rrRL{background-color:#aaa;display:block;height:3px;margin:3px 0;width:17px}.browserWindowBody_Idgs{background-color:var(--ifm-background-color);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;padding:1rem}.red_FE5X[aria-selected=true]{border-bottom-color:red}.orange_kp8w{color:orange}.orange_kp8w[aria-selected=true]{border-bottom-color:orange}.yellow_uGry{color:#ff0}.yellow_uGry[aria-selected=true]{border-bottom-color:#ff0}.image___xtQGH{display:block;height:100%;width:100%}.spinner___27VUp{animation-duration:1s;animation-iteration-count:infinite;animation-name:d;animation-timing-function:linear;border:4px solid #a9a9a9;border-radius:30px;border-top-color:#000;height:30px;left:calc(50% - 15px);position:absolute;top:calc(50% - 15px);width:30px}@keyframes d{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.container___2O72F{height:100%;overflow:hidden;position:relative;width:100%}.overlay___IV4qY{bottom:0;cursor:zoom-in;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s,transform .3s}.imageLoadingSpinnerContainer___3UIPD,.masterSpinnerContainer___1Z6hB{background-color:#f4f4f4;bottom:0;left:0;position:absolute;right:0;top:0}.slide___3-Nqo{display:block;height:0;list-style-type:none;margin:0;position:relative}.slide___3-Nqo:focus{outline:0!important}.slideHorizontal___1NzNV,.verticalTray___12Key{float:left}[dir=rtl] .slideHorizontal___1NzNV{direction:rtl;transform:scaleX(-1)}.focusRing___1airF{bottom:5px;left:5px;outline:Highlight solid 5px;pointer-events:none;position:absolute;right:5px;top:5px}.horizontalSlider___281Ls,.verticalSlider___34ZFD{position:relative;overflow:hidden}.horizontalSlider___281Ls{touch-action:pan-y pinch-zoom}[dir=rtl] .horizontalSlider___281Ls{direction:ltr;transform:scaleX(-1)}.horizontalSliderTray___1L-0W{overflow:hidden;width:100%}.sliderTray___-vHFQ{display:block;list-style:none;margin:0;padding:0}.sliderAnimation___300FY{transition:transform .5s cubic-bezier(.645,.045,.355,1);will-change:transform}.navButton_qSul,.siteLink_IglZ{background-color:#0000004d;position:absolute;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navButton_qSul{border:0;border-radius:50%;color:#fff;font-size:20px;height:40px;top:50%;transform:translateY(-50%);width:40px}.navButton_qSul:hover{background-color:#00000073}.dotGroup_n_95{bottom:5px;display:flex;justify-content:center;pointer-events:none;position:absolute;width:100%}.dotGroup_n_95>.carousel__dot{background:#0003;border:none;border-radius:50%;display:inline-block;height:1rem;margin:2px;pointer-events:auto;width:1rem}.dotGroup_n_95>.carousel__dot--selected{background:#00000073}.siteLink_IglZ{border-radius:6px;bottom:2px;font-size:16px;padding:0 12px;right:2px;--ifm-link-color:var(--ifm-color-gray-400)}.siteLink_IglZ:hover{background-color:#00000073;--ifm-link-color:var(--ifm-color-gray-200);--ifm-link-hover-color:var(--ifm-color-gray-200);--ifm-link-hover-decoration:none}.wrappingBlock_S4U4{display:inline-block;padding:5px;vertical-align:top;width:50%}.wrappingBlock_S4U4 code[class^=codeBlockLines]{white-space:pre-wrap}.tableOfContentsInline_2sru ul{font-size:medium;list-style-type:disc;padding-top:0}.tocCollapsibleButton_IbtT{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_IbtT:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_Nor3:after,.tocCollapsibleExpanded_FzA_{transform:none}.tocCollapsible_BEWm{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.codeBlockContainer_jDV4,.playgroundContainer_6Ior{box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.tocCollapsibleContent_FG8F>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_FG8F ul li{margin:.4rem .8rem}.playgroundContainer_6Ior{border-radius:var(--ifm-global-radius);overflow:hidden}.playgroundHeader_Tvsk{background:var(--ifm-color-emphasis-200);color:var(--ifm-color-content);font-size:var(--ifm-code-font-size);font-weight:700;letter-spacing:.08rem;padding:.75rem}.playgroundHeader_Tvsk:first-of-type{background:var(--ifm-color-emphasis-600);color:var(--ifm-color-content-inverse)}.playgroundEditor_TySg{direction:ltr;font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace)!important}.playgroundPreview_mApW{background-color:var(--ifm-pre-background);padding:1rem}.buttonGroup_cUGO button,.codeBlockContainer_jDV4{background:var(--prism-background-color);color:var(--prism-color)}.codeBlockContainer_jDV4{border-radius:var(--ifm-code-border-radius)}.codeBlockContent_vx7S{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_bdru{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_Gebt{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_bdru+.codeBlockContent_vx7S .codeBlock_Gebt{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_FJaf{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_FU9Q{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_cUGO{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_cUGO button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup_cUGO button:focus-visible,.buttonGroup_cUGO button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_cUGO button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_qRmp{counter-increment:a;display:table-row}.codeLineNumber_dS_J{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_dS_J:before{content:counter(a);opacity:.4}.codeLineContent_XF5l{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_OkN_{opacity:1!important}.copyButtonIcons_OqsO{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_PgCn,.copyButtonSuccessIcon_bsQG{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_bsQG{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_OkN_ .copyButtonIcon_PgCn{opacity:0;transform:scale(.33)}.copyButtonCopied_OkN_ .copyButtonSuccessIcon_bsQG{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.tag_Nd8t{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_Nd8t:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_TiLs{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_AQg7{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_AQg7:after,.tagWithCount_AQg7:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_AQg7:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_AQg7:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_AQg7 span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tag_SyQ5{display:inline-block;margin:.5rem .5rem 0 1rem}.wordWrapButtonIcon_MQXS{height:1.2rem;width:1.2rem}.details_Nokh{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_Nokh>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_Nokh>summary::-webkit-details-marker{display:none}.details_Nokh>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_EoA1{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_Cn_P{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.tags_rTaS,.tweetQuote_h8Rz p{display:inline}.tag_l5va{display:inline-block;margin:0 .4rem .5rem 0}.iconEdit_IMw_{margin-right:.3em;vertical-align:sub}.admonitionIcon_rXq6,.color_mVUL{display:inline-block;vertical-align:middle}.image_oRbT{height:100%;object-fit:cover;width:100%}.containsTaskList_k9gM{list-style:none}:not(.containsTaskList_k9gM>li)>.containsTaskList_k9gM{padding-left:0}.authorCol_mDBc{flex-grow:1!important;max-width:inherit!important}.toggleButton_WvRg{border-radius:50%;height:var(--ifm-avatar-photo-size);margin-left:.3rem;margin-right:.3rem;width:var(--ifm-avatar-photo-size)}.toggleButtonIconExpanded_ERxv{transform:rotate(180deg)}.img_vXGZ{height:auto}.changelogItemTitleList_sueG{font-size:2rem}.admonition_o5H7{margin-bottom:1em}.admonitionHeading_FzoX{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_FzoX:not(:last-child){margin-bottom:.3rem}.admonitionHeading_FzoX code{text-transform:none}.admonitionIcon_rXq6{margin-right:.4em}.admonitionIcon_rXq6 svg{display:inline-block;height:1.6em;width:1.6em;fill:var(--ifm-alert-foreground-color)}.color_mVUL{border-radius:.5rem;height:2rem;width:2rem}.input_HUC3{font-size:var(--ifm-font-size-base);padding:.5rem}.colorInput_C1YB,.input_HUC3{border-color:var(--ifm-color-content-secondary);border-radius:var(--ifm-global-radius);border-style:solid;border-width:var(--ifm-global-border-width)}.colorInput_C1YB{height:2.25rem;position:relative;top:7px}.lastUpdated_OHCJ{font-size:smaller;font-style:italic;margin-top:.2rem}.tweetQuote_h8Rz{margin:3rem 1rem;padding:0;--ifm-link-color:var(--ifm-color-emphasis-900);--ifm-link-hover-color:var(--ifm-color-emphasis-900)}.tweetQuote_h8Rz blockquote{border:none;font-size:1.2rem;font-weight:200;line-height:1.4;margin-bottom:.6rem;position:relative;text-align:center}.tweetQuote_h8Rz blockquote:after,.tweetQuote_h8Rz blockquote:before{color:#f1efe6;font-family:cursive;font-size:6rem;height:3rem;line-height:1;position:absolute;width:3rem}.tweetQuote_h8Rz blockquote:before{content:"“";left:-2.4rem;top:-1.1rem}.tweetQuote_h8Rz blockquote:after{bottom:-1.1rem;content:"”";right:-1.6rem}[data-theme=dark] .tweetQuote_h8Rz blockquote:after,[data-theme=dark] .tweetQuote_h8Rz blockquote:before{color:#3b3b3b}.tweetQuote_h8Rz .avatarImg_b51M{height:42px;width:42px}.tableOfContents_RLlU{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.rss_fOa_,.rss_fOa_:hover{color:#f26522}.twitter_LekN,.twitter_LekN:hover{color:#1da1f2}.breadcrumbHomeIcon_uaSn{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Wvrh{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.title_tRie{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-leading)*1.25)}.footerTip_UBUV{font-size:.8rem;margin-top:var(--ifm-paragraph-margin-bottom)}.mdxPageWrapper_bWhk{justify-content:center}@media screen and (min-width:800px){.nav_sWk6{align-items:center;background-color:#18191a;border-right:1px solid #606770;flex-direction:column;float:left;height:100vh;justify-content:flex-start;padding-top:20px;width:200px}.navlink__gTJ{margin-top:20px;text-align:left;width:80%}.container_tECh{float:right;padding-top:40px;width:calc(100% - 200px)}}@media (min-width:997px){.collapseSidebarButton_PUyN,.expandButton_ockD{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_UFLi,.announcementBarPlaceholder_Lqfg{flex-basis:50px}.navbarSearchContainer_dDCC{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.tweetsSection_Fqsy>.col>:last-child{margin-bottom:0}.collapseSidebarButton_PUyN{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_DI0B{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_H1n0,[dir=rtl] .collapseSidebarButtonIcon_DI0B{transform:rotate(0)}.collapseSidebarButton_PUyN:focus,.collapseSidebarButton_PUyN:hover,.expandButton_ockD:focus,.expandButton_ockD:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_t1vY{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_rWGR{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_rWGR{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_Pf08{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_vtcw{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_tZ9s{padding-top:0}.sidebarHidden_PrHU{opacity:0;visibility:hidden}.sidebarLogo_UK0N{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_UK0N img{height:2rem;margin-right:.5rem}.expandButton_ockD{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_H1n0{transform:rotate(180deg)}.docSidebarContainer_S51O{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_gbDM{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_K3q9{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_EfwR{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_r8nV{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_nA1F{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.lastUpdated_OHCJ{text-align:right}.tocMobile_NSfz{display:none}.docItemCol_n6xZ,.generatedIndexPage_hs4p{max-width:75%!important}.list_ZO3j article:nth-last-child(-n+2){margin-bottom:0!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_UolE,.footer__link-separator,.navbar__item,.sidebar_P3nc,.tableOfContents_RLlU{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_dDCC{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.tweetsSection_Fqsy>.col:last-child>:last-child{margin-bottom:0}.docItemContainer_oucX{padding:0 .3rem}}@media only screen and (max-width:996px){.searchQueryColumn_ourN,.searchResultsColumn_dGxU{max-width:60%!important}.searchLogoColumn_v5Xz,.searchVersionColumn_n2Lb{max-width:40%!important}.searchLogoColumn_v5Xz{padding-left:0!important}}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder,.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%;max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.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-Cancel{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:0;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}}@media only screen and (max-width:768px){.topBannerTitle_nAZL{font-size:40px}.topBannerDescription_fLgs{font-size:16px;white-space:normal}.hero_syme{padding-left:20px;padding-right:20px}.heroInner_VWeJ{padding:0}.heroProjectTagline_EkV5{font-size:36px;text-align:center}.heroLogo_jM6J{display:block;float:none;margin:0 auto}.indexCtas_hUA_{justify-content:center}.indexCtas_hUA_ a{margin:20px 36px}.indexCtasGitHubButton_sMIS{display:none}.siteLink_IglZ{font-size:12px;padding:0 8px}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.title_UBNu{font-size:2rem}}@media screen and (max-width:576px){.searchQueryColumn_ourN{max-width:100%!important}.searchVersionColumn_n2Lb{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media (-webkit-min-device-pixel-ratio:0){.focusRing___1airF{outline-color:-webkit-focus-ring-color;outline-style:auto}}@media (hover:hover){.backToTopButton_PuQw:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}[data-rmiz-modal-img],[data-rmiz-modal-overlay]{transition-duration:.01ms!important}}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation: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-Hit--deleting,.DocSearch-Hit--favoriting{transition:none}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}@media print{.announcementBar_cTOO,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_NSfz{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_FJaf{white-space:pre-wrap}}
\ No newline at end of file
diff --git a/assets/js/028951d7.021627db.js b/assets/js/028951d7.021627db.js
deleted file mode 100644
index 06b7bddd62..0000000000
--- a/assets/js/028951d7.021627db.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[46255],{70539:(e,r,n)=>{n.d(r,{Z:()=>t});const t=n.p+"assets/images/social-card-e1b6e0c51be29d4ab2d4c966d220410c.png"},13381:(e,r,n)=>{n.d(r,{Z:()=>o});var t=n(24246),s=(n(27378),n(6698));function o({url:e}){return(0,t.jsx)("div",{style:{padding:10},children:(0,t.jsx)(s.Z,{url:e,style:{minWidth:"min(100%,45vw)",width:800,maxWidth:"100%",overflow:"hidden"},bodyStyle:{padding:0},children:(0,t.jsx)("iframe",{src:e,title:e,style:{display:"block",width:"100%",height:300}})})})}},6698:(e,r,n)=>{n.d(r,{Z:()=>l});var t=n(24246),s=(n(27378),n(40624));const o={browserWindow:"browserWindow_my1Q",browserWindowHeader:"browserWindowHeader_jXSR",row:"row_KZDM",buttons:"buttons_uHc7",right:"right_oyze",browserWindowAddressBar:"browserWindowAddressBar_Pd8y",dot:"dot_giz1",browserWindowMenuIcon:"browserWindowMenuIcon_Vhuh",bar:"bar_rrRL",browserWindowBody:"browserWindowBody_Idgs"};function a(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e){for(var r=1;r{n.d(r,{Z:()=>o});var t=n(24246),s=n(27378);function o({children:e="Boom!",message:r="Boom!\nSomething bad happened, but you can try again!",cause:n}){const[o,a]=(0,s.useState)(!1);if(o)throw new Error(r,{cause:n?new Error(n):void 0});return(0,t.jsx)("button",{className:"button button--danger",type:"button",onClick:()=>a(!0),children:e})}},73382:(e,r,n)=>{n.d(r,{Z:()=>t});const t=n.p+"assets/images/broken-anchor-4191e5dd94aef9e8c5e3524880670f0f.jpg"},98969:(e,r,n)=>{n.d(r,{Z:()=>t});const t=n.p+"assets/images/social-card-e1b6e0c51be29d4ab2d4c966d220410c.png"},66819:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var t=n(24246),s=n(71670);n(6698),n(13381),n(3818);const o={title:"Docusaurus 3.1",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2024-01-05T00:00:00.000Z")},a=void 0,i={permalink:"/blog/releases/3.1",editUrl:"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.1/index.mdx",source:"@site/blog/releases/3.1/index.mdx",title:"Docusaurus 3.1",description:"We are happy to announce Docusaurus 3.1.",date:"2024-01-05T00:00:00.000Z",tags:[{inline:!1,label:"Release",permalink:"/blog/tags/release",description:"Blog posts about Docusaurus' new releases"}],readingTime:1.665,hasTruncateMarker:!0,authors:[{name:"S\xe9bastien Lorber",title:"Docusaurus maintainer, This Week In React editor",url:"https://thisweekinreact.com",socials:{x:"https://x.com/sebastienlorber",linkedin:"https://www.linkedin.com/in/sebastienlorber/",github:"https://github.com/slorber",newsletter:"https://thisweekinreact.com"},imageURL:"https://github.com/slorber.png",key:"slorber"}],frontMatter:{title:"Docusaurus 3.1",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:"2024-01-05T00:00:00.000Z"},unlisted:!1,lastUpdatedAt:1722518584e3,lastUpdatedBy:"yujonglee",prevItem:{title:"Docusaurus 3.2",permalink:"/blog/releases/3.2"},nextItem:{title:"Announcing Docusaurus 3.0",permalink:"/blog/releases/3.0"}},c={image:n(70539).Z,authorsImageUrls:[void 0]},l=[{value:"Highlights",id:"highlights",level:2},{value:"Broken anchors checker",id:"broken-anchors-checker",level:3},{value:"parseFrontMatter hook",id:"parsefrontmatter-hook",level:3},{value:"Other changes",id:"other-changes",level:2}];function d(e){const r={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(r.p,{children:["We are happy to announce ",(0,t.jsx)(r.strong,{children:"Docusaurus 3.1"}),"."]}),"\n",(0,t.jsxs)(r.p,{children:["The upgrade should be easy: as explained in our ",(0,t.jsx)(r.a,{href:"/community/release-process",children:"release process documentation"}),", minor versions respect ",(0,t.jsx)(r.a,{href:"https://semver.org/",children:"Semantic Versioning"}),"."]}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.img,{alt:"Docusaurus blog post social card",src:n(98969).Z+"",width:"1200",height:"600"})}),"\n","\n",(0,t.jsx)(r.h2,{id:"highlights",children:"Highlights"}),"\n",(0,t.jsx)(r.h3,{id:"broken-anchors-checker",children:"Broken anchors checker"}),"\n",(0,t.jsxs)(r.p,{children:["In ",(0,t.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9528",children:"#9528"}),", we improved the built-in broken links checker to also detect broken anchors."]}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.img,{alt:"Docusaurus blog post social card",src:n(73382).Z+"",width:"1920",height:"896"})}),"\n",(0,t.jsxs)(r.admonition,{title:"Make it fail fast",type:"tip",children:[(0,t.jsxs)(r.p,{children:["The new ",(0,t.jsx)(r.a,{href:"/docs/api/docusaurus-config#onBrokenAnchors",children:(0,t.jsx)(r.code,{children:"onBrokenAnchors"})})," option has value ",(0,t.jsx)(r.code,{children:"warn"})," by default, for retro-compatibility reasons."]}),(0,t.jsxs)(r.p,{children:["We recommend to turn it to ",(0,t.jsx)(r.code,{children:"throw"})," and fail your CI builds instead of deploying broken anchors to productions."]})]}),"\n",(0,t.jsxs)(r.admonition,{type:"note",children:[(0,t.jsxs)(r.p,{children:["For users and plugin authors implementing custom ",(0,t.jsx)(r.code,{children:""})," and ",(0,t.jsx)(r.code,{children:""})," components, we provide a new ",(0,t.jsx)(r.a,{href:"/docs/docusaurus-core#useBrokenLinks",children:(0,t.jsx)(r.code,{children:"useBrokenLinks"})})," React hook API."]}),(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"Most Docusaurus users don't need to care about it"}),", built-in components (",(0,t.jsx)(r.code,{children:"docusaurus/Link"})," and ",(0,t.jsx)(r.code,{children:"@theme/Heading"}),") already use it internally."]})]}),"\n",(0,t.jsxs)(r.h3,{id:"parsefrontmatter-hook",children:[(0,t.jsx)(r.code,{children:"parseFrontMatter"})," hook"]}),"\n",(0,t.jsxs)(r.p,{children:["In ",(0,t.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9624",children:"#9624"}),", we added a new ",(0,t.jsxs)(r.a,{href:"/docs/api/docusaurus-config#markdown",children:[(0,t.jsx)(r.code,{children:"siteConfig.markdown.parseFrontMatter"})," function hook"]}),"."]}),"\n",(0,t.jsx)(r.p,{children:"This makes it possible to implement convenient front matter transformations, shortcuts, or to integrate with external systems using front matter that Docusaurus plugins do not support."}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n markdown: {\n // highlight-start\n parseFrontMatter: async (params) => {\n // Reuse the default parser\n const result = await params.defaultParseFrontMatter(params);\n\n // Process front matter description placeholders\n result.frontMatter.description =\n result.frontMatter.description?.replaceAll('{{MY_VAR}}', 'MY_VALUE');\n\n // Create your own front matter shortcut\n if (result.frontMatter.i_do_not_want_docs_pagination) {\n result.frontMatter.pagination_prev = null;\n result.frontMatter.pagination_next = null;\n }\n\n // Rename an unsupported front matter coming from another system\n if (result.frontMatter.cms_seo_summary) {\n result.frontMatter.description = result.frontMatter.cms_seo_summary;\n delete result.frontMatter.cms_seo_summary;\n }\n\n return result;\n },\n // highlight-end\n },\n};\n"})}),"\n",(0,t.jsxs)(r.p,{children:["Read the ",(0,t.jsx)(r.a,{href:"/docs/markdown-features#front-matter",children:"front matter guide"})," and the ",(0,t.jsxs)(r.a,{href:"/docs/api/docusaurus-config#markdown",children:[(0,t.jsx)(r.code,{children:"parseFrontMatter"})," API ref"]})," for details."]}),"\n",(0,t.jsx)(r.h2,{id:"other-changes",children:"Other changes"}),"\n",(0,t.jsx)(r.p,{children:"Other notable changes include:"}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9674",children:"#9674"}),": add ",(0,t.jsx)(r.code,{children:"siteConfig.markdown.remarkRehypeOptions"})," to pass options to ",(0,t.jsx)(r.code,{children:"remark-rehype"}),", letting you customize things such as MDX footnote label"]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9671",children:"#9671"}),": add code block MagicComments support for (Visual) Basic/Batch/Fortran/COBOL/ML"]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9610",children:"#9610"}),": enable CLI port configuration via ",(0,t.jsx)(r.code,{children:"PORT"})," environment variable"]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9477",children:"#9477"}),": complete Brazilian Portuguese (pt-BR) translations"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Check the ",(0,t.jsx)(r.strong,{children:(0,t.jsx)(r.a,{href:"/changelog/3.1.0",children:"3.1.0 changelog entry"})})," for an exhaustive list of changes."]})]})}function u(e={}){const{wrapper:r}={...(0,s.a)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},71670:(e,r,n)=>{n.d(r,{Z:()=>i,a:()=>a});var t=n(27378);const s={},o=t.createContext(s);function a(e){const r=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(o.Provider,{value:r},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/028951d7.1c695cd4.js b/assets/js/028951d7.1c695cd4.js
new file mode 100644
index 0000000000..8106b8f5df
--- /dev/null
+++ b/assets/js/028951d7.1c695cd4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[46255],{70539:(e,r,t)=>{t.d(r,{Z:()=>n});const n=t.p+"assets/images/social-card-e1b6e0c51be29d4ab2d4c966d220410c.png"},13381:(e,r,t)=>{t.d(r,{Z:()=>o});var n=t(24246),s=(t(27378),t(6698));function o({url:e}){return(0,n.jsx)("div",{style:{padding:10},children:(0,n.jsx)(s.Z,{url:e,style:{minWidth:"min(100%,45vw)",width:800,maxWidth:"100%",overflow:"hidden"},bodyStyle:{padding:0},children:(0,n.jsx)("iframe",{src:e,title:e,style:{display:"block",width:"100%",height:300}})})})}},6698:(e,r,t)=>{t.d(r,{Z:()=>l});var n=t(24246),s=(t(27378),t(40624));const o={browserWindow:"browserWindow_my1Q",browserWindowHeader:"browserWindowHeader_jXSR",row:"row_KZDM",buttons:"buttons_uHc7",right:"right_oyze",browserWindowAddressBar:"browserWindowAddressBar_Pd8y",dot:"dot_giz1",browserWindowMenuIcon:"browserWindowMenuIcon_Vhuh",bar:"bar_rrRL",browserWindowBody:"browserWindowBody_Idgs"};function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e){for(var r=1;r{t.d(r,{Z:()=>o});var n=t(24246),s=t(27378);function o({children:e="Boom!",message:r="Boom!\nSomething bad happened, but you can try again!",cause:t}){const[o,a]=(0,s.useState)(!1);if(o)throw new Error(r,{cause:t?new Error(t):void 0});return(0,n.jsx)("button",{className:"button button--danger",type:"button",onClick:()=>a(!0),children:e})}},73382:(e,r,t)=>{t.d(r,{Z:()=>n});const n=t.p+"assets/images/broken-anchor-4191e5dd94aef9e8c5e3524880670f0f.jpg"},98969:(e,r,t)=>{t.d(r,{Z:()=>n});const n=t.p+"assets/images/social-card-e1b6e0c51be29d4ab2d4c966d220410c.png"},66819:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=t(24246),s=t(71670);t(6698),t(13381),t(3818);const o={title:"Docusaurus 3.1",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2024-01-05T00:00:00.000Z")},a=void 0,i={permalink:"/blog/releases/3.1",editUrl:"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.1/index.mdx",source:"@site/blog/releases/3.1/index.mdx",title:"Docusaurus 3.1",description:"We are happy to announce Docusaurus 3.1.",date:"2024-01-05T00:00:00.000Z",tags:[{inline:!1,label:"Release",permalink:"/blog/tags/release",description:"Blog posts about Docusaurus' new releases"}],readingTime:1.665,hasTruncateMarker:!0,authors:[{name:"S\xe9bastien Lorber",title:"Docusaurus maintainer, This Week In React editor",url:"https://thisweekinreact.com",page:{permalink:"/blog/authors/slorber"},description:"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.\n",socials:{x:"https://x.com/sebastienlorber",linkedin:"https://www.linkedin.com/in/sebastienlorber/",github:"https://github.com/slorber",newsletter:"https://thisweekinreact.com"},imageURL:"https://github.com/slorber.png",key:"slorber"}],frontMatter:{title:"Docusaurus 3.1",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:"2024-01-05T00:00:00.000Z"},unlisted:!1,lastUpdatedAt:1722526249e3,lastUpdatedBy:"ozaki",prevItem:{title:"Docusaurus 3.2",permalink:"/blog/releases/3.2"},nextItem:{title:"Announcing Docusaurus 3.0",permalink:"/blog/releases/3.0"}},c={image:t(70539).Z,authorsImageUrls:[void 0]},l=[{value:"Highlights",id:"highlights",level:2},{value:"Broken anchors checker",id:"broken-anchors-checker",level:3},{value:"parseFrontMatter hook",id:"parsefrontmatter-hook",level:3},{value:"Other changes",id:"other-changes",level:2}];function d(e){const r={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(r.p,{children:["We are happy to announce ",(0,n.jsx)(r.strong,{children:"Docusaurus 3.1"}),"."]}),"\n",(0,n.jsxs)(r.p,{children:["The upgrade should be easy: as explained in our ",(0,n.jsx)(r.a,{href:"/community/release-process",children:"release process documentation"}),", minor versions respect ",(0,n.jsx)(r.a,{href:"https://semver.org/",children:"Semantic Versioning"}),"."]}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.img,{alt:"Docusaurus blog post social card",src:t(98969).Z+"",width:"1200",height:"600"})}),"\n","\n",(0,n.jsx)(r.h2,{id:"highlights",children:"Highlights"}),"\n",(0,n.jsx)(r.h3,{id:"broken-anchors-checker",children:"Broken anchors checker"}),"\n",(0,n.jsxs)(r.p,{children:["In ",(0,n.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9528",children:"#9528"}),", we improved the built-in broken links checker to also detect broken anchors."]}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.img,{alt:"Docusaurus blog post social card",src:t(73382).Z+"",width:"1920",height:"896"})}),"\n",(0,n.jsxs)(r.admonition,{title:"Make it fail fast",type:"tip",children:[(0,n.jsxs)(r.p,{children:["The new ",(0,n.jsx)(r.a,{href:"/docs/api/docusaurus-config#onBrokenAnchors",children:(0,n.jsx)(r.code,{children:"onBrokenAnchors"})})," option has value ",(0,n.jsx)(r.code,{children:"warn"})," by default, for retro-compatibility reasons."]}),(0,n.jsxs)(r.p,{children:["We recommend to turn it to ",(0,n.jsx)(r.code,{children:"throw"})," and fail your CI builds instead of deploying broken anchors to productions."]})]}),"\n",(0,n.jsxs)(r.admonition,{type:"note",children:[(0,n.jsxs)(r.p,{children:["For users and plugin authors implementing custom ",(0,n.jsx)(r.code,{children:""})," and ",(0,n.jsx)(r.code,{children:""})," components, we provide a new ",(0,n.jsx)(r.a,{href:"/docs/docusaurus-core#useBrokenLinks",children:(0,n.jsx)(r.code,{children:"useBrokenLinks"})})," React hook API."]}),(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"Most Docusaurus users don't need to care about it"}),", built-in components (",(0,n.jsx)(r.code,{children:"docusaurus/Link"})," and ",(0,n.jsx)(r.code,{children:"@theme/Heading"}),") already use it internally."]})]}),"\n",(0,n.jsxs)(r.h3,{id:"parsefrontmatter-hook",children:[(0,n.jsx)(r.code,{children:"parseFrontMatter"})," hook"]}),"\n",(0,n.jsxs)(r.p,{children:["In ",(0,n.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9624",children:"#9624"}),", we added a new ",(0,n.jsxs)(r.a,{href:"/docs/api/docusaurus-config#markdown",children:[(0,n.jsx)(r.code,{children:"siteConfig.markdown.parseFrontMatter"})," function hook"]}),"."]}),"\n",(0,n.jsx)(r.p,{children:"This makes it possible to implement convenient front matter transformations, shortcuts, or to integrate with external systems using front matter that Docusaurus plugins do not support."}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n markdown: {\n // highlight-start\n parseFrontMatter: async (params) => {\n // Reuse the default parser\n const result = await params.defaultParseFrontMatter(params);\n\n // Process front matter description placeholders\n result.frontMatter.description =\n result.frontMatter.description?.replaceAll('{{MY_VAR}}', 'MY_VALUE');\n\n // Create your own front matter shortcut\n if (result.frontMatter.i_do_not_want_docs_pagination) {\n result.frontMatter.pagination_prev = null;\n result.frontMatter.pagination_next = null;\n }\n\n // Rename an unsupported front matter coming from another system\n if (result.frontMatter.cms_seo_summary) {\n result.frontMatter.description = result.frontMatter.cms_seo_summary;\n delete result.frontMatter.cms_seo_summary;\n }\n\n return result;\n },\n // highlight-end\n },\n};\n"})}),"\n",(0,n.jsxs)(r.p,{children:["Read the ",(0,n.jsx)(r.a,{href:"/docs/markdown-features#front-matter",children:"front matter guide"})," and the ",(0,n.jsxs)(r.a,{href:"/docs/api/docusaurus-config#markdown",children:[(0,n.jsx)(r.code,{children:"parseFrontMatter"})," API ref"]})," for details."]}),"\n",(0,n.jsx)(r.h2,{id:"other-changes",children:"Other changes"}),"\n",(0,n.jsx)(r.p,{children:"Other notable changes include:"}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsxs)(r.li,{children:[(0,n.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9674",children:"#9674"}),": add ",(0,n.jsx)(r.code,{children:"siteConfig.markdown.remarkRehypeOptions"})," to pass options to ",(0,n.jsx)(r.code,{children:"remark-rehype"}),", letting you customize things such as MDX footnote label"]}),"\n",(0,n.jsxs)(r.li,{children:[(0,n.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9671",children:"#9671"}),": add code block MagicComments support for (Visual) Basic/Batch/Fortran/COBOL/ML"]}),"\n",(0,n.jsxs)(r.li,{children:[(0,n.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9610",children:"#9610"}),": enable CLI port configuration via ",(0,n.jsx)(r.code,{children:"PORT"})," environment variable"]}),"\n",(0,n.jsxs)(r.li,{children:[(0,n.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9477",children:"#9477"}),": complete Brazilian Portuguese (pt-BR) translations"]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Check the ",(0,n.jsx)(r.strong,{children:(0,n.jsx)(r.a,{href:"/changelog/3.1.0",children:"3.1.0 changelog entry"})})," for an exhaustive list of changes."]})]})}function u(e={}){const{wrapper:r}={...(0,s.a)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},71670:(e,r,t)=>{t.d(r,{Z:()=>i,a:()=>a});var n=t(27378);const s={},o=n.createContext(s);function a(e){const r=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(o.Provider,{value:r},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/0398899e.75b456d0.js b/assets/js/0398899e.75b456d0.js
new file mode 100644
index 0000000000..c5a633d127
--- /dev/null
+++ b/assets/js/0398899e.75b456d0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[34475],{66501:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>h,contentTitle:()=>i,default:()=>a,frontMatter:()=>t,metadata:()=>c,toc:()=>l});var n=o(24246),r=o(71670);const t={mdx:{format:"md"},date:"2024-05-31T20:00",authors:["Arsero","CodeDoctorDE","homotechsual","ilmedova","namnguyenthanhwork","ncoughlin","OzakIOne","PetarMc1","revi","slorber","tats-u"]},i="3.4.0",c={permalink:"/changelog/3.4.0",source:"@site/changelog/source/3.4.0.md",title:"3.4.0",description:"New Feature",date:"2024-05-31T20:00:00.000Z",tags:[],hasTruncateMarker:!0,authors:[{name:"Azzedine E.",alias:"Arsero",url:"https://github.com/Arsero",imageURL:"https://github.com/Arsero.png",key:"Arsero",page:null},{name:"CodeDoctor",alias:"CodeDoctorDE",url:"https://github.com/CodeDoctorDE",imageURL:"https://github.com/CodeDoctorDE.png",key:"CodeDoctorDE",page:null},{name:"Mikey O'Toole",alias:"homotechsual",url:"https://github.com/homotechsual",imageURL:"https://github.com/homotechsual.png",key:"homotechsual",page:null},{name:"Mahri Ilmedova",alias:"ilmedova",url:"https://github.com/ilmedova",imageURL:"https://github.com/ilmedova.png",key:"ilmedova",page:null},{name:"Nguy\u1ec5n Th\xe0nh Nam",alias:"namnguyenthanhwork",url:"https://github.com/namnguyenthanhwork",imageURL:"https://github.com/namnguyenthanhwork.png",key:"namnguyenthanhwork",page:null},{name:"Nick Coughlin",alias:"ncoughlin",url:"https://github.com/ncoughlin",imageURL:"https://github.com/ncoughlin.png",key:"ncoughlin",page:null},{name:"ozaki",alias:"OzakIOne",url:"https://github.com/OzakIOne",imageURL:"https://github.com/OzakIOne.png",key:"OzakIOne",page:null},{name:"Petar_mc",alias:"PetarMc1",url:"https://github.com/PetarMc1",imageURL:"https://github.com/PetarMc1.png",key:"PetarMc1",page:null},{name:"Yongmin Hong",alias:"revi",url:"https://github.com/revi",imageURL:"https://github.com/revi.png",key:"revi",page:null},{name:"S\xe9bastien Lorber",alias:"slorber",url:"https://github.com/slorber",imageURL:"https://github.com/slorber.png",key:"slorber",page:null},{name:"Tatsunori Uchino",alias:"tats-u",url:"https://github.com/tats-u",imageURL:"https://github.com/tats-u.png",key:"tats-u",page:null}],frontMatter:{mdx:{format:"md"},date:"2024-05-31T20:00",authors:["Arsero","CodeDoctorDE","homotechsual","ilmedova","namnguyenthanhwork","ncoughlin","OzakIOne","PetarMc1","revi","slorber","tats-u"]},unlisted:!1,nextItem:{title:"3.3.2",permalink:"/changelog/3.3.2"},listPageLink:"/changelog/"},h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},l=[{value:"\ud83d\ude80 New Feature",id:"rocket-new-feature",level:2},{value:"\ud83d\udc1b Bug Fix",id:"bug-bug-fix",level:2},{value:"\ud83d\udcdd Documentation",id:"memo-documentation",level:2},{value:"\ud83e\udd16 Dependencies",id:"robot-dependencies",level:2},{value:"Committers: 11",id:"committers-11",level:2}];function u(e){const s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.h2,{id:"rocket-new-feature",children:"\ud83d\ude80 New Feature"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10137",children:"#10137"})," feat(docs, blog): add support for ",(0,n.jsx)(s.code,{children:"tags.yml"}),", predefined list of tags (",(0,n.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10151",children:"#10151"})," feat(theme-translations): Added Turkmen (tk) default theme translations (",(0,n.jsx)(s.a,{href:"https://github.com/ilmedova",children:"@ilmedova"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10111",children:"#10111"})," feat(theme-translations): Add Bulgarian default theme translations (bg) (",(0,n.jsx)(s.a,{href:"https://github.com/PetarMc1",children:"@PetarMc1"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9859",children:"#9859"})," feat(core): hash router option - browse site offline (experimental) (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10121",children:"#10121"})," feat(core): site storage config options (experimental) (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"bug-bug-fix",children:"\ud83d\udc1b Bug Fix"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10185",children:"#10185"})," fix(docs, blog): Markdown link resolution does not support hot reload (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10178",children:"#10178"})," fix(theme): SearchPage should respect ",(0,n.jsx)(s.code,{children:"contextualSearch: false"})," setting (",(0,n.jsx)(s.a,{href:"https://github.com/ncoughlin",children:"@ncoughlin"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10164",children:"#10164"})," fix(search): fix algolia search container bug (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10168",children:"#10168"})," fix(mdx-loader): resolve Markdown/MDX links with Remark instead of RegExp (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10165",children:"#10165"})," fix(theme-translation): add missing Korean (ko) theme translations (",(0,n.jsx)(s.a,{href:"https://github.com/revi",children:"@revi"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10157",children:"#10157"})," fix(theme-translations): complete Vietnamese theme translations (",(0,n.jsx)(s.a,{href:"https://github.com/namnguyenthanhwork",children:"@namnguyenthanhwork"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10145",children:"#10145"})," fix(core): fix serve workaround regexp (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10142",children:"#10142"})," fix(core): fix ",(0,n.jsx)(s.code,{children:"docusaurus serve"})," broken for assets when using trailingSlash (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10130",children:"#10130"})," fix(core): the broken anchor checker should not be sensitive pathname trailing slashes (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10144",children:"#10144"})," fix(theme): fix announcement bar layout shift due to missing storage key namespace (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10132",children:"#10132"})," fix(core): ",(0,n.jsx)(s.code,{children:"configurePostCss()"})," should run after ",(0,n.jsx)(s.code,{children:"configureWebpack()"})," (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10131",children:"#10131"})," fix(core): codegen should generate unique route prop filenames (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10118",children:"#10118"})," fix(theme-translations): fix missing pluralization for label DocCard.categoryDescription.plurals (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"memo-documentation",children:"\ud83d\udcdd Documentation"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10176",children:"#10176"})," docs: add community plugin docusaurus-graph (",(0,n.jsx)(s.a,{href:"https://github.com/Arsero",children:"@Arsero"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10173",children:"#10173"})," docs: improve how to use ",(0,n.jsx)(s.code,{children:""})," (",(0,n.jsx)(s.a,{href:"https://github.com/tats-u",children:"@tats-u"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10167",children:"#10167"})," docs: suggest using ",(0,n.jsx)(s.code,{children:"{<...>...}"})," if don't use Markdown in migra\u2026 (",(0,n.jsx)(s.a,{href:"https://github.com/tats-u",children:"@tats-u"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10143",children:"#10143"})," docs: recommend users to remove hast-util-is-element in migration to v3 (",(0,n.jsx)(s.a,{href:"https://github.com/tats-u",children:"@tats-u"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10124",children:"#10124"})," docs: v3 prepare your site blog post should point users to the upgrade guide (",(0,n.jsx)(s.a,{href:"https://github.com/homotechsual",children:"@homotechsual"}),")"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"robot-dependencies",children:"\ud83e\udd16 Dependencies"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10155",children:"#10155"})," chore(deps): bump peaceiris/actions-gh-pages from 3 to 4 (",(0,n.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10154",children:"#10154"})," chore(deps): bump github/codeql-action from 2.13.4 to 3.25.6 (",(0,n.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10112",children:"#10112"})," chore(deps): bump actions/dependency-review-action from 4.3.1 to 4.3.2 (",(0,n.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"committers-11",children:"Committers: 11"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Azzedine E. (",(0,n.jsx)(s.a,{href:"https://github.com/Arsero",children:"@Arsero"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["CodeDoctor (",(0,n.jsx)(s.a,{href:"https://github.com/CodeDoctorDE",children:"@CodeDoctorDE"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Mahri Ilmedova (",(0,n.jsx)(s.a,{href:"https://github.com/ilmedova",children:"@ilmedova"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Mikey O'Toole (",(0,n.jsx)(s.a,{href:"https://github.com/homotechsual",children:"@homotechsual"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Nguy\u1ec5n Th\xe0nh Nam (",(0,n.jsx)(s.a,{href:"https://github.com/namnguyenthanhwork",children:"@namnguyenthanhwork"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Nick Coughlin (",(0,n.jsx)(s.a,{href:"https://github.com/ncoughlin",children:"@ncoughlin"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Petar_mc (",(0,n.jsx)(s.a,{href:"https://github.com/PetarMc1",children:"@PetarMc1"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Tatsunori Uchino (",(0,n.jsx)(s.a,{href:"https://github.com/tats-u",children:"@tats-u"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Yongmin (",(0,n.jsx)(s.a,{href:"https://github.com/revi",children:"@revi"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["ozaki (",(0,n.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]})]})}function a(e={}){const{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},71670:(e,s,o)=>{o.d(s,{Z:()=>c,a:()=>i});var n=o(27378);const r={},t=n.createContext(r);function i(e){const s=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(t.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/0398899e.973dacaf.js b/assets/js/0398899e.973dacaf.js
deleted file mode 100644
index f7fdd4dcee..0000000000
--- a/assets/js/0398899e.973dacaf.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[34475],{66501:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>h,contentTitle:()=>i,default:()=>a,frontMatter:()=>t,metadata:()=>c,toc:()=>l});var r=o(24246),n=o(71670);const t={mdx:{format:"md"},date:"2024-05-31T20:00",authors:["Arsero","CodeDoctorDE","homotechsual","ilmedova","namnguyenthanhwork","ncoughlin","OzakIOne","PetarMc1","revi","slorber","tats-u"]},i="3.4.0",c={permalink:"/changelog/3.4.0",source:"@site/changelog/source/3.4.0.md",title:"3.4.0",description:"New Feature",date:"2024-05-31T20:00:00.000Z",tags:[],hasTruncateMarker:!0,authors:[{name:"Azzedine E.",alias:"Arsero",url:"https://github.com/Arsero",imageURL:"https://github.com/Arsero.png",key:"Arsero"},{name:"CodeDoctor",alias:"CodeDoctorDE",url:"https://github.com/CodeDoctorDE",imageURL:"https://github.com/CodeDoctorDE.png",key:"CodeDoctorDE"},{name:"Mikey O'Toole",alias:"homotechsual",url:"https://github.com/homotechsual",imageURL:"https://github.com/homotechsual.png",key:"homotechsual"},{name:"Mahri Ilmedova",alias:"ilmedova",url:"https://github.com/ilmedova",imageURL:"https://github.com/ilmedova.png",key:"ilmedova"},{name:"Nguy\u1ec5n Th\xe0nh Nam",alias:"namnguyenthanhwork",url:"https://github.com/namnguyenthanhwork",imageURL:"https://github.com/namnguyenthanhwork.png",key:"namnguyenthanhwork"},{name:"Nick Coughlin",alias:"ncoughlin",url:"https://github.com/ncoughlin",imageURL:"https://github.com/ncoughlin.png",key:"ncoughlin"},{name:"ozaki",alias:"OzakIOne",url:"https://github.com/OzakIOne",imageURL:"https://github.com/OzakIOne.png",key:"OzakIOne"},{name:"Petar_mc",alias:"PetarMc1",url:"https://github.com/PetarMc1",imageURL:"https://github.com/PetarMc1.png",key:"PetarMc1"},{name:"Yongmin Hong",alias:"revi",url:"https://github.com/revi",imageURL:"https://github.com/revi.png",key:"revi"},{name:"S\xe9bastien Lorber",alias:"slorber",url:"https://github.com/slorber",imageURL:"https://github.com/slorber.png",key:"slorber"},{name:"Tatsunori Uchino",alias:"tats-u",url:"https://github.com/tats-u",imageURL:"https://github.com/tats-u.png",key:"tats-u"}],frontMatter:{mdx:{format:"md"},date:"2024-05-31T20:00",authors:["Arsero","CodeDoctorDE","homotechsual","ilmedova","namnguyenthanhwork","ncoughlin","OzakIOne","PetarMc1","revi","slorber","tats-u"]},unlisted:!1,nextItem:{title:"3.3.2",permalink:"/changelog/3.3.2"},listPageLink:"/changelog/"},h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},l=[{value:"\ud83d\ude80 New Feature",id:"rocket-new-feature",level:2},{value:"\ud83d\udc1b Bug Fix",id:"bug-bug-fix",level:2},{value:"\ud83d\udcdd Documentation",id:"memo-documentation",level:2},{value:"\ud83e\udd16 Dependencies",id:"robot-dependencies",level:2},{value:"Committers: 11",id:"committers-11",level:2}];function u(e){const s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.h2,{id:"rocket-new-feature",children:"\ud83d\ude80 New Feature"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10137",children:"#10137"})," feat(docs, blog): add support for ",(0,r.jsx)(s.code,{children:"tags.yml"}),", predefined list of tags (",(0,r.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10151",children:"#10151"})," feat(theme-translations): Added Turkmen (tk) default theme translations (",(0,r.jsx)(s.a,{href:"https://github.com/ilmedova",children:"@ilmedova"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10111",children:"#10111"})," feat(theme-translations): Add Bulgarian default theme translations (bg) (",(0,r.jsx)(s.a,{href:"https://github.com/PetarMc1",children:"@PetarMc1"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9859",children:"#9859"})," feat(core): hash router option - browse site offline (experimental) (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10121",children:"#10121"})," feat(core): site storage config options (experimental) (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"bug-bug-fix",children:"\ud83d\udc1b Bug Fix"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10185",children:"#10185"})," fix(docs, blog): Markdown link resolution does not support hot reload (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10178",children:"#10178"})," fix(theme): SearchPage should respect ",(0,r.jsx)(s.code,{children:"contextualSearch: false"})," setting (",(0,r.jsx)(s.a,{href:"https://github.com/ncoughlin",children:"@ncoughlin"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10164",children:"#10164"})," fix(search): fix algolia search container bug (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10168",children:"#10168"})," fix(mdx-loader): resolve Markdown/MDX links with Remark instead of RegExp (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10165",children:"#10165"})," fix(theme-translation): add missing Korean (ko) theme translations (",(0,r.jsx)(s.a,{href:"https://github.com/revi",children:"@revi"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10157",children:"#10157"})," fix(theme-translations): complete Vietnamese theme translations (",(0,r.jsx)(s.a,{href:"https://github.com/namnguyenthanhwork",children:"@namnguyenthanhwork"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10145",children:"#10145"})," fix(core): fix serve workaround regexp (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10142",children:"#10142"})," fix(core): fix ",(0,r.jsx)(s.code,{children:"docusaurus serve"})," broken for assets when using trailingSlash (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10130",children:"#10130"})," fix(core): the broken anchor checker should not be sensitive pathname trailing slashes (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10144",children:"#10144"})," fix(theme): fix announcement bar layout shift due to missing storage key namespace (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10132",children:"#10132"})," fix(core): ",(0,r.jsx)(s.code,{children:"configurePostCss()"})," should run after ",(0,r.jsx)(s.code,{children:"configureWebpack()"})," (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10131",children:"#10131"})," fix(core): codegen should generate unique route prop filenames (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10118",children:"#10118"})," fix(theme-translations): fix missing pluralization for label DocCard.categoryDescription.plurals (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"memo-documentation",children:"\ud83d\udcdd Documentation"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10176",children:"#10176"})," docs: add community plugin docusaurus-graph (",(0,r.jsx)(s.a,{href:"https://github.com/Arsero",children:"@Arsero"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10173",children:"#10173"})," docs: improve how to use ",(0,r.jsx)(s.code,{children:""})," (",(0,r.jsx)(s.a,{href:"https://github.com/tats-u",children:"@tats-u"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10167",children:"#10167"})," docs: suggest using ",(0,r.jsx)(s.code,{children:"{<...>...}"})," if don't use Markdown in migra\u2026 (",(0,r.jsx)(s.a,{href:"https://github.com/tats-u",children:"@tats-u"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10143",children:"#10143"})," docs: recommend users to remove hast-util-is-element in migration to v3 (",(0,r.jsx)(s.a,{href:"https://github.com/tats-u",children:"@tats-u"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10124",children:"#10124"})," docs: v3 prepare your site blog post should point users to the upgrade guide (",(0,r.jsx)(s.a,{href:"https://github.com/homotechsual",children:"@homotechsual"}),")"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"robot-dependencies",children:"\ud83e\udd16 Dependencies"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10155",children:"#10155"})," chore(deps): bump peaceiris/actions-gh-pages from 3 to 4 (",(0,r.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10154",children:"#10154"})," chore(deps): bump github/codeql-action from 2.13.4 to 3.25.6 (",(0,r.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10112",children:"#10112"})," chore(deps): bump actions/dependency-review-action from 4.3.1 to 4.3.2 (",(0,r.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"committers-11",children:"Committers: 11"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["Azzedine E. (",(0,r.jsx)(s.a,{href:"https://github.com/Arsero",children:"@Arsero"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["CodeDoctor (",(0,r.jsx)(s.a,{href:"https://github.com/CodeDoctorDE",children:"@CodeDoctorDE"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Mahri Ilmedova (",(0,r.jsx)(s.a,{href:"https://github.com/ilmedova",children:"@ilmedova"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Mikey O'Toole (",(0,r.jsx)(s.a,{href:"https://github.com/homotechsual",children:"@homotechsual"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Nguy\u1ec5n Th\xe0nh Nam (",(0,r.jsx)(s.a,{href:"https://github.com/namnguyenthanhwork",children:"@namnguyenthanhwork"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Nick Coughlin (",(0,r.jsx)(s.a,{href:"https://github.com/ncoughlin",children:"@ncoughlin"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Petar_mc (",(0,r.jsx)(s.a,{href:"https://github.com/PetarMc1",children:"@PetarMc1"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Tatsunori Uchino (",(0,r.jsx)(s.a,{href:"https://github.com/tats-u",children:"@tats-u"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Yongmin (",(0,r.jsx)(s.a,{href:"https://github.com/revi",children:"@revi"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["ozaki (",(0,r.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]})]})}function a(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},71670:(e,s,o)=>{o.d(s,{Z:()=>c,a:()=>i});var r=o(27378);const n={},t=r.createContext(n);function i(e){const s=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),r.createElement(t.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/03a06760.e731e113.js b/assets/js/03a06760.5049b495.js
similarity index 86%
rename from assets/js/03a06760.e731e113.js
rename to assets/js/03a06760.5049b495.js
index 0866d2cddf..9be5ca2eaf 100644
--- a/assets/js/03a06760.e731e113.js
+++ b/assets/js/03a06760.5049b495.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[49406],{61132:(e,t,n)=>{n.d(t,{Z:()=>s});var r=n(24246),o=(n(27378),n(40624));const c={tabItem:"tabItem_pnkT"};function s({children:e,hidden:t,className:n}){return(0,r.jsx)("div",{role:"tabpanel",className:(0,o.Z)(c.tabItem,n),hidden:t,children:e})}},97555:(e,t,n)=>{n.d(t,{Z:()=>E});var r=n(24246),o=n(27378),c=n(40624),s=n(75527),i=n(3620),l=n(44479),a=n(62821),u=n(52196),d=n(53589);function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function f(e){var t,n;return null!==(n=null===(t=o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})))||void 0===t?void 0:t.filter(Boolean))&&void 0!==n?n:[]}function g(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=null!=t?t:function(e){return f(e).map((({props:{value:e,label:t,attributes:n,default:r}})=>({value:e,label:t,attributes:n,default:r})))}(n);return function(e){const t=(0,u.lx)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function h({value:e,tabValues:t}){return t.some((t=>t.value===e))}function y({queryString:e=!1,groupId:t}){const n=(0,i.k6)(),r=function({queryString:e=!1,groupId:t}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!t)throw new Error('Docusaurus error: The 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 null!=t?t:null}({queryString:e,groupId:t}),c=(0,a._X)(r),s=(0,o.useCallback)((e=>{if(!r)return;const t=new URLSearchParams(n.location.search);t.set(r,e),n.replace(b(function(e){for(var t=1;tfunction({defaultValue:e,tabValues:t}){if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(e){if(!h({value:e,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}var n;const r=null!==(n=t.find((e=>e.default)))&&void 0!==n?n:t[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:c}))),[a,u]=y({queryString:n,groupId:r}),[p,b]=function({groupId:e}){const t=function(e){return e?`docusaurus.tab.${e}`:null}(e),[n,r]=(0,d.Nk)(t);return[n,(0,o.useCallback)((e=>{t&&r.set(e)}),[t,r])]}({groupId:r}),f=(()=>{const e=null!=a?a:p;return h({value:e,tabValues:c})?e:null})();(0,l.Z)((()=>{f&&i(f)}),[f]);return{selectedValue:s,selectValue:(0,o.useCallback)((e=>{if(!h({value:e,tabValues:c}))throw new Error(`Can't select invalid tab value=${e}`);i(e),u(e),b(e)}),[u,b,c]),tabValues:c}}var m=n(29088);const O={tabList:"tabList_Qoir",tabItem:"tabItem_AQgk"};function v(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function w(e){for(var t=1;t{const t=e.currentTarget,r=l.indexOf(t),c=i[r].value;c!==n&&(a(t),o(c))},d=e=>{let t=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{const r=l.indexOf(e.currentTarget)+1;var n;t=null!==(n=l[r])&&void 0!==n?n:l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;var r;t=null!==(r=l[n])&&void 0!==r?r:l[l.length-1];break}}null==t||t.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,c.Z)("tabs",{"tabs--block":t},e),children:i.map((({value:e,label:t,attributes:o})=>(0,r.jsx)("li",x(w({role:"tab",tabIndex:n===e?0:-1,"aria-selected":n===e,ref:e=>l.push(e),onKeyDown:d,onClick:u},o),{className:(0,c.Z)("tabs__item",O.tabItem,null==o?void 0:o.className,{"tabs__item--active":n===e}),children:null!=t?t:e}),e)))})}function k({lazy:e,children:t,selectedValue:n}){const s=(Array.isArray(t)?t:[t]).filter(Boolean);if(e){const e=s.find((e=>e.props.value===n));return e?(0,o.cloneElement)(e,{className:(0,c.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==n})))})}function S(e){const t=j(e);return(0,r.jsxs)("div",{className:(0,c.Z)("tabs-container",O.tabList),children:[(0,r.jsx)(P,w({},t,e)),(0,r.jsx)(k,w({},t,e))]})}function E(e){const t=(0,m.Z)();return(0,r.jsx)(S,x(w({},e),{children:f(e.children)}),String(t))}},94544:(e,t,n)=>{n.d(t,{Z:()=>c});var r=n(24246),o=(n(27378),n(29088));function c({children:e,fallback:t}){return(0,o.Z)()?(0,r.jsx)(r.Fragment,{children:null==e?void 0:e()}):null!=t?t:null}},52605:(e,t,n)=>{n.d(t,{Z:()=>u});var r=n(24246),o=n(27378),c=n(80474),s=n(3620);const i={apiTable:"apiTable_e8hp"};function l({name:e,children:t},n){const i=function(e){let t=e;for(;(0,o.isValidElement)(t);)[t]=o.Children.toArray(t.props.children);if("string"!=typeof t)throw new Error(`Could not extract APITable row name from JSX tree:\n${JSON.stringify(e,null,2)}`);return t}(t),l=e?`${e}-${i}`:i,a=`#${l}`,u=(0,s.k6)();return(0,c.Z)().collectAnchor(l),(0,r.jsx)("tr",{id:l,tabIndex:0,ref:u.location.hash===a?n:void 0,onClick:e=>{"A"===e.target.tagName.toUpperCase()||u.push(a)},onKeyDown:e=>{"Enter"===e.key&&u.push(a)},children:t.props.children})}const a=o.forwardRef(l);function u({children:e,name:t}){if("table"!==e.type)throw new Error("Bad usage of APITable component.\nIt is probably that your Markdown table is malformed.\nMake sure to double-check you have the appropriate number of columns for each table row.");const[n,c]=o.Children.toArray(e.props.children),s=(0,o.useRef)(null);(0,o.useEffect)((()=>{var e;null===(e=s.current)||void 0===e||e.focus()}),[s]);const l=o.Children.map(c.props.children,(e=>(0,r.jsx)(a,{name:t,ref:s,children:e})));return(0,r.jsxs)("table",{className:i.apiTable,children:[n,(0,r.jsx)("tbody",{children:l})]})}},82064:(e,t,n)=>{n.d(t,{Z:()=>d});var r=n(24246),o=(n(27378),n(41428)),c=n(92053),s=n(36712),i=n(97555),l=n(61132),a=n(38112);const u=void 0;function d({code:e,pluginName:t,presetOptionName:n}){const d=(0,c.zu)(u).path;return(0,r.jsxs)(i.Z,{groupId:"api-config-ex",children:[(0,r.jsxs)(l.Z,{value:"preset",label:(0,s.I)({message:"Preset options"}),children:[(0,r.jsx)("p",{children:(0,r.jsx)(s.Z,{id:"apiDocs.configTabs.presetOptions.description",values:{presetLink:(0,r.jsx)(o.Z,{to:`${d}/using-plugins#docusauruspreset-classic`,children:(0,r.jsx)(s.Z,{children:"preset options"})})},children:"If you use a preset, configure this plugin through the {presetLink}:"})}),(0,r.jsx)(a.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = {\n presets: [\n [\n '@docusaurus/preset-classic',\n {\n // highlight-start\n ${n}: ${e.replace(/\n/g,"\n ")},\n // highlight-end\n },\n ],\n ],\n};`})]}),(0,r.jsxs)(l.Z,{value:"plugin",label:(0,s.I)({message:"Plugin options"}),children:[(0,r.jsx)("p",{children:(0,r.jsx)(s.Z,{children:"If you are using a standalone plugin, provide options directly to the plugin:"})}),(0,r.jsx)(a.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = {\n plugins: [\n [\n '${t}',\n // highlight-start\n ${e.replace(/\n/g,"\n ")},\n // highlight-end\n ],\n ],\n};`})]})]})}},38112:(e,t,n)=>{n.d(t,{Z:()=>Ae});var r={};n.r(r),n.d(r,{ButtonExample:()=>Z});var o=n(24246),c=n(27378),s=n(40624),i=n(29088),l=n(32711),a=n(36712),u=n(4423),d=n(94544),p=n(30691),b=n(78844),f=n(73919);function g(){const{prism:e}=(0,f.L)(),{colorMode:t}=(0,b.I)(),n=e.theme,r=e.darkTheme||n;return"dark"===t?r:n}var h=n(88941);const y={playgroundContainer:"playgroundContainer_6Ior",playgroundHeader:"playgroundHeader_Tvsk",playgroundEditor:"playgroundEditor_TySg",playgroundPreview:"playgroundPreview_mApW"};function j(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function w({children:e}){return(0,o.jsx)("div",{className:(0,s.Z)(y.playgroundHeader),children:e})}function x(){return(0,o.jsx)("div",{children:"Loading..."})}function P(){return(0,o.jsx)(d.Z,{fallback:(0,o.jsx)(x,{}),children:()=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(h.Z,{fallback:e=>(0,o.jsx)(p.Ac,m({},e)),children:(0,o.jsx)(l.i5,{})}),(0,o.jsx)(l.IF,{})]})})}function k(){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(w,{children:(0,o.jsx)(a.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,o.jsx)("div",{className:y.playgroundPreview,children:(0,o.jsx)(P,{})})]})}function S(){const e=(0,i.Z)();return(0,o.jsx)(l.uz,{className:y.playgroundEditor},String(e))}function E(){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(w,{children:(0,o.jsx)(a.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,o.jsx)(S,{})]})}const D=e=>`${e};`;function N(e){var t,{children:n,transformCode:r}=e,c=v(e,["children","transformCode"]);const{siteConfig:{themeConfig:s}}=(0,u.Z)(),{liveCodeBlock:{playgroundPosition:i}}=s,a=g();var d;const p=null!==(d=null===(t=c.metastring)||void 0===t?void 0:t.includes("noInline"))&&void 0!==d&&d;return(0,o.jsx)("div",{className:y.playgroundContainer,children:(0,o.jsx)(l.nu,O(m({code:null==n?void 0:n.replace(/\n$/,""),noInline:p,transformCode:null!=r?r:D,theme:a},c),{children:"top"===i?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(k,{}),(0,o.jsx)(E,{})]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(E,{}),(0,o.jsx)(k,{})]})}))})}function I(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C(e){for(var t=1;t[\"'])(?.*?)\\1"),W=RegExp("\\{(?[\\d,-]+)\\}"),H={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},z=(F=function(e){for(var t=1;t",end:""}})?G:{},Object.getOwnPropertyDescriptors?Object.defineProperties(F,Object.getOwnPropertyDescriptors(G)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}(Object(G)).forEach((function(e){Object.defineProperty(F,e,Object.getOwnPropertyDescriptor(G,e))})),F);var F,G;const U=Object.keys(H);function J(e,t){const n=e.map((e=>{const{start:n,end:r}=z[e];return`(?:${n}\\s*(${t.flatMap((e=>{var t,n;return[e.line,null===(t=e.block)||void 0===t?void 0:t.start,null===(n=e.block)||void 0===n?void 0:n.end].filter(Boolean)})).join("|")})\\s*${r})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function Q(e,t){let n=e.replace(/\n$/,"");const{language:r,magicComments:o,metastring:c}=t;if(c&&W.test(c)){const e=c.match(W).groups.range;if(0===o.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${c}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=o[0].className,r=q()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(r),code:n}}if(void 0===r)return{lineClassNames:{},code:n};const s=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return J(["js","jsBlock"],t);case"jsx":case"tsx":return J(["js","jsBlock","jsx"],t);case"html":return J(["js","jsBlock","html"],t);case"python":case"py":case"bash":return J(["bash"],t);case"markdown":case"md":return J(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return J(["tex"],t);case"lua":case"haskell":case"sql":return J(["lua"],t);case"wasm":return J(["wasm"],t);case"vb":case"vba":case"visual-basic":return J(["vb","rem"],t);case"vbnet":return J(["vbnet","rem"],t);case"batch":return J(["rem"],t);case"basic":return J(["rem","f90"],t);case"fsharp":return J(["js","ml"],t);case"ocaml":case"sml":return J(["ml"],t);case"fortran":return J(["f90"],t);case"cobol":return J(["cobol"],t);default:return J(U,t)}}(r,o),i=n.split("\n"),l=Object.fromEntries(o.map((e=>[e.className,{start:0,range:""}]))),a=Object.fromEntries(o.filter((e=>e.line)).map((({className:e,line:t})=>[t,e]))),u=Object.fromEntries(o.filter((e=>e.block)).map((({className:e,block:t})=>[t.start,e]))),d=Object.fromEntries(o.filter((e=>e.block)).map((({className:e,block:t})=>[t.end,e])));for(let b=0;bvoid 0!==e));a[t]?l[a[t]].range+=`${b},`:u[t]?l[u[t]].start=b:d[t]&&(l[d[t]].range+=`${l[d[t]].start}-${b-1},`),i.splice(b,1)}n=i.join("\n");const p={};return Object.entries(l).forEach((([e,{range:t}])=>{q()(t).forEach((t=>{var n;null!==(n=(A=p)[_=t])&&void 0!==n||(A[_]=[]),p[t].push(e)}))})),{lineClassNames:p,code:n}}const X={codeBlockContainer:"codeBlockContainer_jDV4"};function Y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function K(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function ee(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function te(e){var{as:t}=e,n=ee(e,["as"]);const r=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((([e,r])=>{const o=t[e];o&&"string"==typeof r&&(n[o]=r)})),n}(g());return(0,o.jsx)(t,K(function(e){for(var t=1;t{var t;r(null===(t=e.current)||void 0===t?void 0:t.closest("[role=tabpanel][hidden]"))}),[e,r]);(0,c.useEffect)((()=>{o()}),[o]),function(e,t,n=ce){const r=(0,oe.zX)(t),o=(0,oe.Ql)(n);(0,c.useEffect)((()=>{const t=new MutationObserver(r);return e&&t.observe(e,o),()=>t.disconnect()}),[e,r,o])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),o())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var ie=n(26101);const le={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function ae(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ue(e){for(var t=1;t(0,o.jsx)("span",ue({},c({token:e})),t)));return(0,o.jsxs)("span",de(ue({},i),{children:[n?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("span",{className:le.codeLineNumber}),(0,o.jsx)("span",{className:le.codeLineContent,children:l})]}):l,(0,o.jsx)("br",{})]}))}var be=n(34370);function fe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ge(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function he(e){return(0,o.jsx)("svg",ge(function(e){for(var t=1;t{(0,be.Z)(e),r(!0),i.current=window.setTimeout((()=>{r(!1)}),1e3)}),[e]);return(0,c.useEffect)((()=>()=>window.clearTimeout(i.current)),[]),(0,o.jsx)("button",{type:"button","aria-label":n?(0,a.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,a.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,a.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,s.Z)("clean-btn",t,Oe.copyButton,n&&Oe.copyButtonCopied),onClick:l,children:(0,o.jsxs)("span",{className:Oe.copyButtonIcons,"aria-hidden":"true",children:[(0,o.jsx)(he,{className:Oe.copyButtonIcon}),(0,o.jsx)(me,{className:Oe.copyButtonSuccessIcon})]})})}function we(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xe(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function Pe(e){return(0,o.jsx)("svg",xe(function(e){for(var t=1;te.startsWith("language-")));return null==t?void 0:t.replace(/language-/,"")}(t))&&void 0!==d?d:a),b=g(),h=function(){const[e,t]=(0,c.useState)(!1),[n,r]=(0,c.useState)(!1),o=(0,c.useRef)(null),s=(0,c.useCallback)((()=>{const n=o.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[o,e]),i=(0,c.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=o.current,n=e>t||o.current.querySelector("code").hasAttribute("style");r(n)}),[o]);return se(o,i),(0,c.useEffect)((()=>{i()}),[e,i]),(0,c.useEffect)((()=>(window.addEventListener("resize",i,{passive:!0}),()=>{window.removeEventListener("resize",i)})),[i]),{codeBlockRef:o,isEnabled:e,isCodeScrollable:n,toggle:s}}(),y=function(e){var t,n;return null!==(n=null===(t=null==e?void 0:e.match(M))||void 0===t?void 0:t.groups.title)&&void 0!==n?n:""}(n)||r,{lineClassNames:j,code:m}=Q(e,{metastring:n,language:p,magicComments:u}),O=null!=i?i:function(e){return Boolean(null==e?void 0:e.includes("showLineNumbers"))}(n);return(0,o.jsxs)(te,{as:"div",className:(0,s.Z)(t,p&&!t.includes(`language-${p}`)&&`language-${p}`),children:[y&&(0,o.jsx)("div",{className:ne.codeBlockTitle,children:y}),(0,o.jsxs)("div",{className:ne.codeBlockContent,children:[(0,o.jsx)(ie.y$,{theme:b,code:m,language:null!=p?p:"text",children:({className:e,style:t,tokens:n,getLineProps:r,getTokenProps:c})=>(0,o.jsx)("pre",{tabIndex:0,ref:h.codeBlockRef,className:(0,s.Z)(e,ne.codeBlock,"thin-scrollbar"),style:t,children:(0,o.jsx)("code",{className:(0,s.Z)(ne.codeBlockLines,O&&ne.codeBlockLinesWithNumbering),children:n.map(((e,t)=>(0,o.jsx)(pe,{line:e,getLineProps:r,getTokenProps:c,classNames:j[t],showLineNumbers:O},t)))})})}),(0,o.jsxs)("div",{className:ne.buttonGroup,children:[(h.isEnabled||h.isCodeScrollable)&&(0,o.jsx)(Se,{className:ne.codeButton,onClick:()=>h.toggle(),isEnabled:h.isEnabled}),(0,o.jsx)(ve,{className:ne.codeButton,code:m})]})]})]})}function De(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ne(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function Ie(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ce(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Be(e){for(var t=1;t(0,c.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),l="string"==typeof s?Ee:re;return(0,o.jsx)(l,Ne(function(e){for(var t=1;t{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>u,default:()=>g,frontMatter:()=>a,metadata:()=>d,toc:()=>b});var r=n(24246),o=n(71670),c=n(97555),s=n(61132),i=n(52605),l=n(82064);const a={sidebar_position:6,slug:"/api/plugins/@docusaurus/plugin-google-analytics"},u="\ud83d\udce6 plugin-google-analytics",d={id:"api/plugins/plugin-google-analytics",title:"\ud83d\udce6 plugin-google-analytics",description:"The default Google Analytics plugin. It is a JavaScript library for measuring how users interact with your website in the production build. If you are using Google Analytics 4 you might need to consider using plugin-google-gtag instead.",source:"@site/docs/api/plugins/plugin-google-analytics.mdx",sourceDirName:"api/plugins",slug:"/api/plugins/@docusaurus/plugin-google-analytics",permalink:"/docs/api/plugins/@docusaurus/plugin-google-analytics",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-google-analytics.mdx",tags:[],version:"current",lastUpdatedBy:"yujonglee",lastUpdatedAt:1722518584e3,sidebarPosition:6,frontMatter:{sidebar_position:6,slug:"/api/plugins/@docusaurus/plugin-google-analytics"},sidebar:"api",previous:{title:"\ud83d\udce6 plugin-debug",permalink:"/docs/api/plugins/@docusaurus/plugin-debug"},next:{title:"\ud83d\udce6 plugin-google-gtag",permalink:"/docs/api/plugins/@docusaurus/plugin-google-gtag"}},p={},b=[{value:"Installation",id:"installation",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Example configuration",id:"ex-config",level:3}];function f(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,o.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"-plugin-google-analytics",children:"\ud83d\udce6 plugin-google-analytics"})}),"\n","\n",(0,r.jsxs)(t.p,{children:["The default ",(0,r.jsx)(t.a,{href:"https://developers.google.com/analytics/devguides/collection/analyticsjs/",children:"Google Analytics"})," plugin. It is a JavaScript library for measuring how users interact with your website ",(0,r.jsx)(t.strong,{children:"in the production build"}),". If you are using Google Analytics 4 you might need to consider using ",(0,r.jsx)(t.a,{href:"/docs/api/plugins/@docusaurus/plugin-google-gtag",children:"plugin-google-gtag"})," instead."]}),"\n",(0,r.jsxs)(t.admonition,{title:"Deprecated",type:"danger",children:[(0,r.jsxs)(t.p,{children:["This plugin is ",(0,r.jsx)(t.strong,{children:"deprecated"}),", and will become useless on July 1, 2023."]}),(0,r.jsxs)(t.p,{children:["Google is ",(0,r.jsx)(t.a,{href:"https://blog.google/products/marketingplatform/analytics/prepare-for-future-with-google-analytics-4/",children:"moving away from Universal Analytics"}),"."]}),(0,r.jsxs)(t.p,{children:["If you are still using this plugin with a ",(0,r.jsx)(t.code,{children:"UA-*"})," tracking id, you should create a Google Analytics 4 account as soon as possible, and use ",(0,r.jsx)(t.a,{href:"/docs/api/plugins/@docusaurus/plugin-google-gtag",children:(0,r.jsx)(t.code,{children:"@docusaurus/plugin-google-gtag"})})," instead of this plugin. More details ",(0,r.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/7221",children:"here"}),"."]})]}),"\n",(0,r.jsx)(t.admonition,{title:"production only",type:"warning",children:(0,r.jsxs)(t.p,{children:["This plugin is always inactive in development and ",(0,r.jsx)(t.strong,{children:"only active in production"})," to avoid polluting the analytics statistics."]})}),"\n",(0,r.jsx)(t.h2,{id:"installation",children:"Installation"}),"\n",(0,r.jsxs)(c.Z,{groupId:"npm2yarn",children:[(0,r.jsx)(s.Z,{value:"npm",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"npm install --save @docusaurus/plugin-google-analytics\n"})})}),(0,r.jsx)(s.Z,{value:"yarn",label:"Yarn",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"yarn add @docusaurus/plugin-google-analytics\n"})})}),(0,r.jsx)(s.Z,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"pnpm add @docusaurus/plugin-google-analytics\n"})})})]}),"\n",(0,r.jsxs)(t.admonition,{type:"tip",children:[(0,r.jsxs)(t.p,{children:["If you use the preset ",(0,r.jsx)(t.code,{children:"@docusaurus/preset-classic"}),", you don't need to install this plugin as a dependency."]}),(0,r.jsxs)(t.p,{children:["You can configure this plugin through the ",(0,r.jsx)(t.a,{href:"/docs/using-plugins#docusauruspreset-classic",children:"preset options"}),"."]})]}),"\n",(0,r.jsx)(t.h2,{id:"configuration",children:"Configuration"}),"\n",(0,r.jsx)(t.p,{children:"Accepted fields:"}),"\n",(0,r.jsx)(i.Z,{children:(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Type"}),(0,r.jsx)(t.th,{children:"Default"}),(0,r.jsx)(t.th,{children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"trackingID"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"string"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.strong,{children:"Required"})}),(0,r.jsx)(t.td,{children:"The tracking ID of your analytics service."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"anonymizeIP"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"boolean"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"false"})}),(0,r.jsx)(t.td,{children:"Whether the IP should be anonymized when sending requests."})]})]})]})}),"\n",(0,r.jsx)(t.h3,{id:"ex-config",children:"Example configuration"}),"\n",(0,r.jsx)(t.p,{children:"You can configure this plugin through preset options or plugin options."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"Most Docusaurus users configure this plugin through the preset options."})}),"\n","\n",(0,r.jsx)(l.Z,{pluginName:"@docusaurus/plugin-google-analytics",presetOptionName:"googleAnalytics",code:"{\n trackingID: 'UA-141789564-1',\n anonymizeIP: true,\n}"})]})}function g(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(f,{...e})}):f(e)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[49406],{61132:(e,t,n)=>{n.d(t,{Z:()=>s});var r=n(24246),o=(n(27378),n(40624));const c={tabItem:"tabItem_pnkT"};function s({children:e,hidden:t,className:n}){return(0,r.jsx)("div",{role:"tabpanel",className:(0,o.Z)(c.tabItem,n),hidden:t,children:e})}},97555:(e,t,n)=>{n.d(t,{Z:()=>E});var r=n(24246),o=n(27378),c=n(40624),s=n(75527),i=n(3620),l=n(44479),a=n(62821),u=n(52196),d=n(53589);function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function f(e){var t,n;return null!==(n=null===(t=o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})))||void 0===t?void 0:t.filter(Boolean))&&void 0!==n?n:[]}function g(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=null!=t?t:function(e){return f(e).map((({props:{value:e,label:t,attributes:n,default:r}})=>({value:e,label:t,attributes:n,default:r})))}(n);return function(e){const t=(0,u.lx)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function h({value:e,tabValues:t}){return t.some((t=>t.value===e))}function y({queryString:e=!1,groupId:t}){const n=(0,i.k6)(),r=function({queryString:e=!1,groupId:t}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!t)throw new Error('Docusaurus error: The 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 null!=t?t:null}({queryString:e,groupId:t}),c=(0,a._X)(r),s=(0,o.useCallback)((e=>{if(!r)return;const t=new URLSearchParams(n.location.search);t.set(r,e),n.replace(b(function(e){for(var t=1;tfunction({defaultValue:e,tabValues:t}){if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(e){if(!h({value:e,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}var n;const r=null!==(n=t.find((e=>e.default)))&&void 0!==n?n:t[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:c}))),[a,u]=y({queryString:n,groupId:r}),[p,b]=function({groupId:e}){const t=function(e){return e?`docusaurus.tab.${e}`:null}(e),[n,r]=(0,d.Nk)(t);return[n,(0,o.useCallback)((e=>{t&&r.set(e)}),[t,r])]}({groupId:r}),f=(()=>{const e=null!=a?a:p;return h({value:e,tabValues:c})?e:null})();(0,l.Z)((()=>{f&&i(f)}),[f]);return{selectedValue:s,selectValue:(0,o.useCallback)((e=>{if(!h({value:e,tabValues:c}))throw new Error(`Can't select invalid tab value=${e}`);i(e),u(e),b(e)}),[u,b,c]),tabValues:c}}var m=n(29088);const O={tabList:"tabList_Qoir",tabItem:"tabItem_AQgk"};function v(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function w(e){for(var t=1;t{const t=e.currentTarget,r=l.indexOf(t),c=i[r].value;c!==n&&(a(t),o(c))},d=e=>{let t=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{const r=l.indexOf(e.currentTarget)+1;var n;t=null!==(n=l[r])&&void 0!==n?n:l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;var r;t=null!==(r=l[n])&&void 0!==r?r:l[l.length-1];break}}null==t||t.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,c.Z)("tabs",{"tabs--block":t},e),children:i.map((({value:e,label:t,attributes:o})=>(0,r.jsx)("li",x(w({role:"tab",tabIndex:n===e?0:-1,"aria-selected":n===e,ref:e=>l.push(e),onKeyDown:d,onClick:u},o),{className:(0,c.Z)("tabs__item",O.tabItem,null==o?void 0:o.className,{"tabs__item--active":n===e}),children:null!=t?t:e}),e)))})}function k({lazy:e,children:t,selectedValue:n}){const s=(Array.isArray(t)?t:[t]).filter(Boolean);if(e){const e=s.find((e=>e.props.value===n));return e?(0,o.cloneElement)(e,{className:(0,c.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==n})))})}function S(e){const t=j(e);return(0,r.jsxs)("div",{className:(0,c.Z)("tabs-container",O.tabList),children:[(0,r.jsx)(P,w({},t,e)),(0,r.jsx)(k,w({},t,e))]})}function E(e){const t=(0,m.Z)();return(0,r.jsx)(S,x(w({},e),{children:f(e.children)}),String(t))}},94544:(e,t,n)=>{n.d(t,{Z:()=>c});var r=n(24246),o=(n(27378),n(29088));function c({children:e,fallback:t}){return(0,o.Z)()?(0,r.jsx)(r.Fragment,{children:null==e?void 0:e()}):null!=t?t:null}},52605:(e,t,n)=>{n.d(t,{Z:()=>u});var r=n(24246),o=n(27378),c=n(80474),s=n(3620);const i={apiTable:"apiTable_e8hp"};function l({name:e,children:t},n){const i=function(e){let t=e;for(;(0,o.isValidElement)(t);)[t]=o.Children.toArray(t.props.children);if("string"!=typeof t)throw new Error(`Could not extract APITable row name from JSX tree:\n${JSON.stringify(e,null,2)}`);return t}(t),l=e?`${e}-${i}`:i,a=`#${l}`,u=(0,s.k6)();return(0,c.Z)().collectAnchor(l),(0,r.jsx)("tr",{id:l,tabIndex:0,ref:u.location.hash===a?n:void 0,onClick:e=>{"A"===e.target.tagName.toUpperCase()||u.push(a)},onKeyDown:e=>{"Enter"===e.key&&u.push(a)},children:t.props.children})}const a=o.forwardRef(l);function u({children:e,name:t}){if("table"!==e.type)throw new Error("Bad usage of APITable component.\nIt is probably that your Markdown table is malformed.\nMake sure to double-check you have the appropriate number of columns for each table row.");const[n,c]=o.Children.toArray(e.props.children),s=(0,o.useRef)(null);(0,o.useEffect)((()=>{var e;null===(e=s.current)||void 0===e||e.focus()}),[s]);const l=o.Children.map(c.props.children,(e=>(0,r.jsx)(a,{name:t,ref:s,children:e})));return(0,r.jsxs)("table",{className:i.apiTable,children:[n,(0,r.jsx)("tbody",{children:l})]})}},82064:(e,t,n)=>{n.d(t,{Z:()=>d});var r=n(24246),o=(n(27378),n(41428)),c=n(92053),s=n(36712),i=n(97555),l=n(61132),a=n(38112);const u=void 0;function d({code:e,pluginName:t,presetOptionName:n}){const d=(0,c.zu)(u).path;return(0,r.jsxs)(i.Z,{groupId:"api-config-ex",children:[(0,r.jsxs)(l.Z,{value:"preset",label:(0,s.I)({message:"Preset options"}),children:[(0,r.jsx)("p",{children:(0,r.jsx)(s.Z,{id:"apiDocs.configTabs.presetOptions.description",values:{presetLink:(0,r.jsx)(o.Z,{to:`${d}/using-plugins#docusauruspreset-classic`,children:(0,r.jsx)(s.Z,{children:"preset options"})})},children:"If you use a preset, configure this plugin through the {presetLink}:"})}),(0,r.jsx)(a.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = {\n presets: [\n [\n '@docusaurus/preset-classic',\n {\n // highlight-start\n ${n}: ${e.replace(/\n/g,"\n ")},\n // highlight-end\n },\n ],\n ],\n};`})]}),(0,r.jsxs)(l.Z,{value:"plugin",label:(0,s.I)({message:"Plugin options"}),children:[(0,r.jsx)("p",{children:(0,r.jsx)(s.Z,{children:"If you are using a standalone plugin, provide options directly to the plugin:"})}),(0,r.jsx)(a.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = {\n plugins: [\n [\n '${t}',\n // highlight-start\n ${e.replace(/\n/g,"\n ")},\n // highlight-end\n ],\n ],\n};`})]})]})}},38112:(e,t,n)=>{n.d(t,{Z:()=>Ae});var r={};n.r(r),n.d(r,{ButtonExample:()=>Z});var o=n(24246),c=n(27378),s=n(40624),i=n(29088),l=n(32711),a=n(36712),u=n(4423),d=n(94544),p=n(30691),b=n(78844),f=n(73919);function g(){const{prism:e}=(0,f.L)(),{colorMode:t}=(0,b.I)(),n=e.theme,r=e.darkTheme||n;return"dark"===t?r:n}var h=n(88941);const y={playgroundContainer:"playgroundContainer_6Ior",playgroundHeader:"playgroundHeader_Tvsk",playgroundEditor:"playgroundEditor_TySg",playgroundPreview:"playgroundPreview_mApW"};function j(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function w({children:e}){return(0,o.jsx)("div",{className:(0,s.Z)(y.playgroundHeader),children:e})}function x(){return(0,o.jsx)("div",{children:"Loading..."})}function P(){return(0,o.jsx)(d.Z,{fallback:(0,o.jsx)(x,{}),children:()=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(h.Z,{fallback:e=>(0,o.jsx)(p.Ac,m({},e)),children:(0,o.jsx)(l.i5,{})}),(0,o.jsx)(l.IF,{})]})})}function k(){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(w,{children:(0,o.jsx)(a.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,o.jsx)("div",{className:y.playgroundPreview,children:(0,o.jsx)(P,{})})]})}function S(){const e=(0,i.Z)();return(0,o.jsx)(l.uz,{className:y.playgroundEditor},String(e))}function E(){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(w,{children:(0,o.jsx)(a.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,o.jsx)(S,{})]})}const D=e=>`${e};`;function N(e){var t,{children:n,transformCode:r}=e,c=v(e,["children","transformCode"]);const{siteConfig:{themeConfig:s}}=(0,u.Z)(),{liveCodeBlock:{playgroundPosition:i}}=s,a=g();var d;const p=null!==(d=null===(t=c.metastring)||void 0===t?void 0:t.includes("noInline"))&&void 0!==d&&d;return(0,o.jsx)("div",{className:y.playgroundContainer,children:(0,o.jsx)(l.nu,O(m({code:null==n?void 0:n.replace(/\n$/,""),noInline:p,transformCode:null!=r?r:D,theme:a},c),{children:"top"===i?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(k,{}),(0,o.jsx)(E,{})]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(E,{}),(0,o.jsx)(k,{})]})}))})}function I(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C(e){for(var t=1;t[\"'])(?.*?)\\1"),W=RegExp("\\{(?[\\d,-]+)\\}"),H={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},z=(F=function(e){for(var t=1;t",end:""}})?G:{},Object.getOwnPropertyDescriptors?Object.defineProperties(F,Object.getOwnPropertyDescriptors(G)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}(Object(G)).forEach((function(e){Object.defineProperty(F,e,Object.getOwnPropertyDescriptor(G,e))})),F);var F,G;const U=Object.keys(H);function J(e,t){const n=e.map((e=>{const{start:n,end:r}=z[e];return`(?:${n}\\s*(${t.flatMap((e=>{var t,n;return[e.line,null===(t=e.block)||void 0===t?void 0:t.start,null===(n=e.block)||void 0===n?void 0:n.end].filter(Boolean)})).join("|")})\\s*${r})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function Q(e,t){let n=e.replace(/\n$/,"");const{language:r,magicComments:o,metastring:c}=t;if(c&&W.test(c)){const e=c.match(W).groups.range;if(0===o.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${c}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=o[0].className,r=q()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(r),code:n}}if(void 0===r)return{lineClassNames:{},code:n};const s=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return J(["js","jsBlock"],t);case"jsx":case"tsx":return J(["js","jsBlock","jsx"],t);case"html":return J(["js","jsBlock","html"],t);case"python":case"py":case"bash":return J(["bash"],t);case"markdown":case"md":return J(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return J(["tex"],t);case"lua":case"haskell":case"sql":return J(["lua"],t);case"wasm":return J(["wasm"],t);case"vb":case"vba":case"visual-basic":return J(["vb","rem"],t);case"vbnet":return J(["vbnet","rem"],t);case"batch":return J(["rem"],t);case"basic":return J(["rem","f90"],t);case"fsharp":return J(["js","ml"],t);case"ocaml":case"sml":return J(["ml"],t);case"fortran":return J(["f90"],t);case"cobol":return J(["cobol"],t);default:return J(U,t)}}(r,o),i=n.split("\n"),l=Object.fromEntries(o.map((e=>[e.className,{start:0,range:""}]))),a=Object.fromEntries(o.filter((e=>e.line)).map((({className:e,line:t})=>[t,e]))),u=Object.fromEntries(o.filter((e=>e.block)).map((({className:e,block:t})=>[t.start,e]))),d=Object.fromEntries(o.filter((e=>e.block)).map((({className:e,block:t})=>[t.end,e])));for(let b=0;bvoid 0!==e));a[t]?l[a[t]].range+=`${b},`:u[t]?l[u[t]].start=b:d[t]&&(l[d[t]].range+=`${l[d[t]].start}-${b-1},`),i.splice(b,1)}n=i.join("\n");const p={};return Object.entries(l).forEach((([e,{range:t}])=>{q()(t).forEach((t=>{var n;null!==(n=(A=p)[_=t])&&void 0!==n||(A[_]=[]),p[t].push(e)}))})),{lineClassNames:p,code:n}}const X={codeBlockContainer:"codeBlockContainer_jDV4"};function Y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function K(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function ee(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function te(e){var{as:t}=e,n=ee(e,["as"]);const r=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((([e,r])=>{const o=t[e];o&&"string"==typeof r&&(n[o]=r)})),n}(g());return(0,o.jsx)(t,K(function(e){for(var t=1;t{var t;r(null===(t=e.current)||void 0===t?void 0:t.closest("[role=tabpanel][hidden]"))}),[e,r]);(0,c.useEffect)((()=>{o()}),[o]),function(e,t,n=ce){const r=(0,oe.zX)(t),o=(0,oe.Ql)(n);(0,c.useEffect)((()=>{const t=new MutationObserver(r);return e&&t.observe(e,o),()=>t.disconnect()}),[e,r,o])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),o())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var ie=n(26101);const le={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function ae(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ue(e){for(var t=1;t(0,o.jsx)("span",ue({},c({token:e})),t)));return(0,o.jsxs)("span",de(ue({},i),{children:[n?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("span",{className:le.codeLineNumber}),(0,o.jsx)("span",{className:le.codeLineContent,children:l})]}):l,(0,o.jsx)("br",{})]}))}var be=n(34370);function fe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ge(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function he(e){return(0,o.jsx)("svg",ge(function(e){for(var t=1;t{(0,be.Z)(e),r(!0),i.current=window.setTimeout((()=>{r(!1)}),1e3)}),[e]);return(0,c.useEffect)((()=>()=>window.clearTimeout(i.current)),[]),(0,o.jsx)("button",{type:"button","aria-label":n?(0,a.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,a.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,a.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,s.Z)("clean-btn",t,Oe.copyButton,n&&Oe.copyButtonCopied),onClick:l,children:(0,o.jsxs)("span",{className:Oe.copyButtonIcons,"aria-hidden":"true",children:[(0,o.jsx)(he,{className:Oe.copyButtonIcon}),(0,o.jsx)(me,{className:Oe.copyButtonSuccessIcon})]})})}function we(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xe(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function Pe(e){return(0,o.jsx)("svg",xe(function(e){for(var t=1;te.startsWith("language-")));return null==t?void 0:t.replace(/language-/,"")}(t))&&void 0!==d?d:a),b=g(),h=function(){const[e,t]=(0,c.useState)(!1),[n,r]=(0,c.useState)(!1),o=(0,c.useRef)(null),s=(0,c.useCallback)((()=>{const n=o.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[o,e]),i=(0,c.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=o.current,n=e>t||o.current.querySelector("code").hasAttribute("style");r(n)}),[o]);return se(o,i),(0,c.useEffect)((()=>{i()}),[e,i]),(0,c.useEffect)((()=>(window.addEventListener("resize",i,{passive:!0}),()=>{window.removeEventListener("resize",i)})),[i]),{codeBlockRef:o,isEnabled:e,isCodeScrollable:n,toggle:s}}(),y=function(e){var t,n;return null!==(n=null===(t=null==e?void 0:e.match(M))||void 0===t?void 0:t.groups.title)&&void 0!==n?n:""}(n)||r,{lineClassNames:j,code:m}=Q(e,{metastring:n,language:p,magicComments:u}),O=null!=i?i:function(e){return Boolean(null==e?void 0:e.includes("showLineNumbers"))}(n);return(0,o.jsxs)(te,{as:"div",className:(0,s.Z)(t,p&&!t.includes(`language-${p}`)&&`language-${p}`),children:[y&&(0,o.jsx)("div",{className:ne.codeBlockTitle,children:y}),(0,o.jsxs)("div",{className:ne.codeBlockContent,children:[(0,o.jsx)(ie.y$,{theme:b,code:m,language:null!=p?p:"text",children:({className:e,style:t,tokens:n,getLineProps:r,getTokenProps:c})=>(0,o.jsx)("pre",{tabIndex:0,ref:h.codeBlockRef,className:(0,s.Z)(e,ne.codeBlock,"thin-scrollbar"),style:t,children:(0,o.jsx)("code",{className:(0,s.Z)(ne.codeBlockLines,O&&ne.codeBlockLinesWithNumbering),children:n.map(((e,t)=>(0,o.jsx)(pe,{line:e,getLineProps:r,getTokenProps:c,classNames:j[t],showLineNumbers:O},t)))})})}),(0,o.jsxs)("div",{className:ne.buttonGroup,children:[(h.isEnabled||h.isCodeScrollable)&&(0,o.jsx)(Se,{className:ne.codeButton,onClick:()=>h.toggle(),isEnabled:h.isEnabled}),(0,o.jsx)(ve,{className:ne.codeButton,code:m})]})]})]})}function De(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ne(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function Ie(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ce(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Be(e){for(var t=1;t(0,c.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),l="string"==typeof s?Ee:re;return(0,o.jsx)(l,Ne(function(e){for(var t=1;t{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>u,default:()=>g,frontMatter:()=>a,metadata:()=>d,toc:()=>b});var r=n(24246),o=n(71670),c=n(97555),s=n(61132),i=n(52605),l=n(82064);const a={sidebar_position:6,slug:"/api/plugins/@docusaurus/plugin-google-analytics"},u="\ud83d\udce6 plugin-google-analytics",d={id:"api/plugins/plugin-google-analytics",title:"\ud83d\udce6 plugin-google-analytics",description:"The default Google Analytics plugin. It is a JavaScript library for measuring how users interact with your website in the production build. If you are using Google Analytics 4 you might need to consider using plugin-google-gtag instead.",source:"@site/docs/api/plugins/plugin-google-analytics.mdx",sourceDirName:"api/plugins",slug:"/api/plugins/@docusaurus/plugin-google-analytics",permalink:"/docs/api/plugins/@docusaurus/plugin-google-analytics",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-google-analytics.mdx",tags:[],version:"current",lastUpdatedBy:"ozaki",lastUpdatedAt:1722526249e3,sidebarPosition:6,frontMatter:{sidebar_position:6,slug:"/api/plugins/@docusaurus/plugin-google-analytics"},sidebar:"api",previous:{title:"\ud83d\udce6 plugin-debug",permalink:"/docs/api/plugins/@docusaurus/plugin-debug"},next:{title:"\ud83d\udce6 plugin-google-gtag",permalink:"/docs/api/plugins/@docusaurus/plugin-google-gtag"}},p={},b=[{value:"Installation",id:"installation",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Example configuration",id:"ex-config",level:3}];function f(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,o.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"-plugin-google-analytics",children:"\ud83d\udce6 plugin-google-analytics"})}),"\n","\n",(0,r.jsxs)(t.p,{children:["The default ",(0,r.jsx)(t.a,{href:"https://developers.google.com/analytics/devguides/collection/analyticsjs/",children:"Google Analytics"})," plugin. It is a JavaScript library for measuring how users interact with your website ",(0,r.jsx)(t.strong,{children:"in the production build"}),". If you are using Google Analytics 4 you might need to consider using ",(0,r.jsx)(t.a,{href:"/docs/api/plugins/@docusaurus/plugin-google-gtag",children:"plugin-google-gtag"})," instead."]}),"\n",(0,r.jsxs)(t.admonition,{title:"Deprecated",type:"danger",children:[(0,r.jsxs)(t.p,{children:["This plugin is ",(0,r.jsx)(t.strong,{children:"deprecated"}),", and will become useless on July 1, 2023."]}),(0,r.jsxs)(t.p,{children:["Google is ",(0,r.jsx)(t.a,{href:"https://blog.google/products/marketingplatform/analytics/prepare-for-future-with-google-analytics-4/",children:"moving away from Universal Analytics"}),"."]}),(0,r.jsxs)(t.p,{children:["If you are still using this plugin with a ",(0,r.jsx)(t.code,{children:"UA-*"})," tracking id, you should create a Google Analytics 4 account as soon as possible, and use ",(0,r.jsx)(t.a,{href:"/docs/api/plugins/@docusaurus/plugin-google-gtag",children:(0,r.jsx)(t.code,{children:"@docusaurus/plugin-google-gtag"})})," instead of this plugin. More details ",(0,r.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/7221",children:"here"}),"."]})]}),"\n",(0,r.jsx)(t.admonition,{title:"production only",type:"warning",children:(0,r.jsxs)(t.p,{children:["This plugin is always inactive in development and ",(0,r.jsx)(t.strong,{children:"only active in production"})," to avoid polluting the analytics statistics."]})}),"\n",(0,r.jsx)(t.h2,{id:"installation",children:"Installation"}),"\n",(0,r.jsxs)(c.Z,{groupId:"npm2yarn",children:[(0,r.jsx)(s.Z,{value:"npm",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"npm install --save @docusaurus/plugin-google-analytics\n"})})}),(0,r.jsx)(s.Z,{value:"yarn",label:"Yarn",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"yarn add @docusaurus/plugin-google-analytics\n"})})}),(0,r.jsx)(s.Z,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"pnpm add @docusaurus/plugin-google-analytics\n"})})})]}),"\n",(0,r.jsxs)(t.admonition,{type:"tip",children:[(0,r.jsxs)(t.p,{children:["If you use the preset ",(0,r.jsx)(t.code,{children:"@docusaurus/preset-classic"}),", you don't need to install this plugin as a dependency."]}),(0,r.jsxs)(t.p,{children:["You can configure this plugin through the ",(0,r.jsx)(t.a,{href:"/docs/using-plugins#docusauruspreset-classic",children:"preset options"}),"."]})]}),"\n",(0,r.jsx)(t.h2,{id:"configuration",children:"Configuration"}),"\n",(0,r.jsx)(t.p,{children:"Accepted fields:"}),"\n",(0,r.jsx)(i.Z,{children:(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Type"}),(0,r.jsx)(t.th,{children:"Default"}),(0,r.jsx)(t.th,{children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"trackingID"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"string"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.strong,{children:"Required"})}),(0,r.jsx)(t.td,{children:"The tracking ID of your analytics service."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"anonymizeIP"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"boolean"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"false"})}),(0,r.jsx)(t.td,{children:"Whether the IP should be anonymized when sending requests."})]})]})]})}),"\n",(0,r.jsx)(t.h3,{id:"ex-config",children:"Example configuration"}),"\n",(0,r.jsx)(t.p,{children:"You can configure this plugin through preset options or plugin options."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"Most Docusaurus users configure this plugin through the preset options."})}),"\n","\n",(0,r.jsx)(l.Z,{pluginName:"@docusaurus/plugin-google-analytics",presetOptionName:"googleAnalytics",code:"{\n trackingID: 'UA-141789564-1',\n anonymizeIP: true,\n}"})]})}function g(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(f,{...e})}):f(e)}}}]);
\ No newline at end of file
diff --git a/assets/js/03f86864.14382b5d.js b/assets/js/03f86864.14382b5d.js
new file mode 100644
index 0000000000..a0245f3410
--- /dev/null
+++ b/assets/js/03f86864.14382b5d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[22054],{52605:(e,n,i)=>{i.d(n,{Z:()=>o});var d=i(24246),s=i(27378),t=i(80474),r=i(3620);const l={apiTable:"apiTable_e8hp"};function c({name:e,children:n},i){const l=function(e){let n=e;for(;(0,s.isValidElement)(n);)[n]=s.Children.toArray(n.props.children);if("string"!=typeof n)throw new Error(`Could not extract APITable row name from JSX tree:\n${JSON.stringify(e,null,2)}`);return n}(n),c=e?`${e}-${l}`:l,h=`#${c}`,o=(0,r.k6)();return(0,t.Z)().collectAnchor(c),(0,d.jsx)("tr",{id:c,tabIndex:0,ref:o.location.hash===h?i:void 0,onClick:e=>{"A"===e.target.tagName.toUpperCase()||o.push(h)},onKeyDown:e=>{"Enter"===e.key&&o.push(h)},children:n.props.children})}const h=s.forwardRef(c);function o({children:e,name:n}){if("table"!==e.type)throw new Error("Bad usage of APITable component.\nIt is probably that your Markdown table is malformed.\nMake sure to double-check you have the appropriate number of columns for each table row.");const[i,t]=s.Children.toArray(e.props.children),r=(0,s.useRef)(null);(0,s.useEffect)((()=>{var e;null===(e=r.current)||void 0===e||e.focus()}),[r]);const c=s.Children.map(t.props.children,(e=>(0,d.jsx)(h,{name:n,ref:r,children:e})));return(0,d.jsxs)("table",{className:l.apiTable,children:[i,(0,d.jsx)("tbody",{children:c})]})}},88313:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>h,contentTitle:()=>l,default:()=>x,frontMatter:()=>r,metadata:()=>c,toc:()=>o});var d=i(24246),s=i(71670),t=i(52605);const r={sidebar_position:1,sidebar_label:"Configuration",slug:"/api/themes/configuration",toc_max_heading_level:4},l="Theme configuration",c={id:"api/themes/theme-configuration",title:"Theme configuration",description:"This configuration applies to all main themes.",source:"@site/docs/api/themes/theme-configuration.mdx",sourceDirName:"api/themes",slug:"/api/themes/configuration",permalink:"/docs/api/themes/configuration",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/edit/main/website/docs/api/themes/theme-configuration.mdx",tags:[],version:"current",lastUpdatedBy:"ozaki",lastUpdatedAt:1722526249e3,sidebarPosition:1,frontMatter:{sidebar_position:1,sidebar_label:"Configuration",slug:"/api/themes/configuration",toc_max_heading_level:4},sidebar:"api",previous:{title:"Themes overview",permalink:"/docs/api/themes"},next:{title:"\ud83d\udce6 theme-classic",permalink:"/docs/api/themes/@docusaurus/theme-classic"}},h={},o=[{value:"Common",id:"common",level:2},{value:"Color mode",id:"color-mode---dark-mode",level:3},{value:"Meta image",id:"meta-image",level:3},{value:"Metadata",id:"metadata",level:3},{value:"Announcement bar",id:"announcement-bar",level:3},{value:"Plugins",id:"plugins",level:2},{value:"Docs",id:"docs",level:3},{value:"Blog",id:"blog",level:3},{value:"Navbar",id:"navbar",level:2},{value:"Navbar logo",id:"navbar-logo",level:3},{value:"Navbar items",id:"navbar-items",level:3},{value:"Navbar link",id:"navbar-link",level:4},{value:"Navbar dropdown",id:"navbar-dropdown",level:4},{value:"Navbar doc link",id:"navbar-doc-link",level:4},{value:"Navbar linked to a sidebar",id:"navbar-doc-sidebar",level:4},{value:"Navbar docs version dropdown",id:"navbar-docs-version-dropdown",level:4},{value:"Navbar docs version",id:"navbar-docs-version",level:4},{value:"Navbar locale dropdown",id:"navbar-locale-dropdown",level:4},{value:"Navbar search",id:"navbar-search",level:4},{value:"Navbar with custom HTML",id:"navbar-with-custom-html",level:4},{value:"Auto-hide sticky navbar",id:"auto-hide-sticky-navbar",level:3},{value:"Navbar style",id:"navbar-style",level:3},{value:"CodeBlock",id:"codeblock",level:2},{value:"Theme",id:"theme",level:3},{value:"Default language",id:"default-language",level:3},{value:"Footer",id:"footer-1",level:2},{value:"Footer Links",id:"footer-links",level:3},{value:"Table of Contents",id:"table-of-contents",level:2},{value:"Hooks",id:"hooks",level:2},{value:"useColorMode",id:"use-color-mode",level:3},{value:"i18n",id:"i18n",level:2},{value:"Translation files location",id:"translation-files-location",level:3},{value:"Example file-system structure",id:"example-file-system-structure",level:3}];function a(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.header,{children:(0,d.jsx)(n.h1,{id:"theme-configuration",children:"Theme configuration"})}),"\n","\n",(0,d.jsxs)(n.p,{children:["This configuration applies to all ",(0,d.jsx)(n.a,{href:"/docs/api/themes",children:"main themes"}),"."]}),"\n",(0,d.jsx)(n.h2,{id:"common",children:"Common"}),"\n",(0,d.jsx)(n.h3,{id:"color-mode---dark-mode",children:"Color mode"}),"\n",(0,d.jsx)(n.p,{children:"The classic theme provides by default light and dark mode support, with a navbar switch for the user."}),"\n",(0,d.jsxs)(n.p,{children:["It is possible to customize the color mode support within the ",(0,d.jsx)(n.code,{children:"colorMode"})," object."]}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"defaultMode"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'light' | 'dark'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'light'"})}),(0,d.jsx)(n.td,{children:"The color mode when user first visits the site."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"disableSwitch"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"boolean"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"false"})}),(0,d.jsx)(n.td,{children:"Hides the switch in the navbar. Useful if you want to support a single color mode."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"respectPrefersColorScheme"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"boolean"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"false"})}),(0,d.jsxs)(n.td,{children:["Whether to use the ",(0,d.jsx)(n.code,{children:"prefers-color-scheme"})," media-query, using user system preferences, instead of the hardcoded ",(0,d.jsx)(n.code,{children:"defaultMode"}),"."]})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // highlight-start\n colorMode: {\n defaultMode: 'light',\n disableSwitch: false,\n respectPrefersColorScheme: false,\n },\n // highlight-end\n },\n};\n"})}),"\n",(0,d.jsxs)(n.admonition,{type:"warning",children:[(0,d.jsxs)(n.p,{children:["With ",(0,d.jsx)(n.code,{children:"respectPrefersColorScheme: true"}),", the ",(0,d.jsx)(n.code,{children:"defaultMode"})," is overridden by user system preferences."]}),(0,d.jsx)(n.p,{children:"If you only want to support one color mode, you likely want to ignore user system preferences."})]}),"\n",(0,d.jsx)(n.h3,{id:"meta-image",children:"Meta image"}),"\n",(0,d.jsxs)(n.p,{children:["You can configure a default image that will be used for your meta tag, in particular ",(0,d.jsx)(n.code,{children:"og:image"})," and ",(0,d.jsx)(n.code,{children:"twitter:image"}),"."]}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"image"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:'The meta image URL for the site. Relative to your site\'s "static" directory. Cannot be SVGs. Can be external URLs too.'})]})})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // highlight-next-line\n image: 'img/docusaurus.png',\n },\n};\n"})}),"\n",(0,d.jsx)(n.h3,{id:"metadata",children:"Metadata"}),"\n",(0,d.jsx)(n.p,{children:"You can configure additional HTML metadata (and override existing ones)."}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"metadata"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"Metadata[]"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"[]"})}),(0,d.jsxs)(n.td,{children:["Any field will be directly passed to the ",(0,d.jsx)(n.code,{children:""})," tag. Possible fields include ",(0,d.jsx)(n.code,{children:"id"}),", ",(0,d.jsx)(n.code,{children:"name"}),", ",(0,d.jsx)(n.code,{children:"property"}),", ",(0,d.jsx)(n.code,{children:"content"}),", ",(0,d.jsx)(n.code,{children:"itemprop"}),", etc."]})]})})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // highlight-next-line\n metadata: [{name: 'twitter:card', content: 'summary'}],\n },\n};\n"})}),"\n",(0,d.jsx)(n.h3,{id:"announcement-bar",children:"Announcement bar"}),"\n",(0,d.jsxs)(n.p,{children:["Sometimes you want to announce something in your website. Just for such a case, you can add an announcement bar. This is a non-fixed and optionally dismissible panel above the navbar. All configuration are in the ",(0,d.jsx)(n.code,{children:"announcementBar"})," object."]}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"announcement-bar",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"id"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'announcement-bar'"})}),(0,d.jsx)(n.td,{children:"Any value that will identify this message."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"content"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"''"})}),(0,d.jsx)(n.td,{children:"The text content of the announcement. HTML will be interpolated."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"backgroundColor"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'#fff'"})}),(0,d.jsx)(n.td,{children:"Background color of the entire bar."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"textColor"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'#000'"})}),(0,d.jsx)(n.td,{children:"Announcement text color."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"isCloseable"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"boolean"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"true"})}),(0,d.jsx)(n.td,{children:"Whether this announcement can be dismissed with a '\xd7' button."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // highlight-start\n announcementBar: {\n id: 'support_us',\n content:\n 'We are looking to revamp our docs, please fill this survey',\n backgroundColor: '#fafbfc',\n textColor: '#091E42',\n isCloseable: false,\n },\n // highlight-end\n },\n};\n"})}),"\n",(0,d.jsx)(n.h2,{id:"plugins",children:"Plugins"}),"\n",(0,d.jsxs)(n.p,{children:["Our ",(0,d.jsx)(n.a,{href:"/docs/api/themes",children:"main themes"})," offer additional theme configuration options for Docusaurus core content plugins."]}),"\n",(0,d.jsx)(n.h3,{id:"docs",children:"Docs"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-overview",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"versionPersistence"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'localStorage' | 'none'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"Defines the browser persistence of the preferred docs version."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"sidebar.hideable"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"boolean"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"false"})}),(0,d.jsx)(n.td,{children:"Show a hide button at the bottom of the sidebar."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"sidebar.autoCollapseCategories"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"boolean"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"false"})}),(0,d.jsx)(n.td,{children:"Automatically collapse all sibling categories of the one you navigate to."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n docs: {\n // highlight-start\n versionPersistence: 'localStorage',\n sidebar: {\n hideable: false,\n autoCollapseCategories: false,\n },\n // highlight-end\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h3,{id:"blog",children:"Blog"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-overview",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"sidebar.groupByYear"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"boolean"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"true"})}),(0,d.jsx)(n.td,{children:"Group sidebar blog posts by years."})]})})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n blog: {\n // highlight-start\n sidebar: {\n groupByYear: true,\n },\n // highlight-end\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h2,{id:"navbar",children:"Navbar"}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-overview",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"title"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"Title for the navbar."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"logo"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.em,{children:"See below"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"Customization of the logo object."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"items"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"NavbarItem[]"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"[]"})}),(0,d.jsx)(n.td,{children:"A list of navbar items. See specification below."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"hideOnScroll"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"boolean"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"false"})}),(0,d.jsx)(n.td,{children:"Whether the navbar is hidden when the user scrolls down."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"style"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'primary' | 'dark'"})}),(0,d.jsx)(n.td,{children:"Same as theme"}),(0,d.jsx)(n.td,{children:"Sets the navbar style, ignoring the dark/light theme."})]})]})]})}),"\n",(0,d.jsx)(n.h3,{id:"navbar-logo",children:"Navbar logo"}),"\n",(0,d.jsxs)(n.p,{children:["The logo can be placed in ",(0,d.jsx)(n.a,{href:"/docs/static-assets",children:"static folder"}),". Logo URL is set to base URL of your site by default. Although you can specify your own URL for the logo, if it is an external link, it will open in a new tab. In addition, you can override a value for the target attribute of logo link, it can come in handy if you are hosting docs website in a subdirectory of your main website, and in which case you probably do not need a link in the logo to the main website will open in a new tab."]}),"\n",(0,d.jsx)(n.p,{children:"To improve dark mode support, you can also set a different logo for this mode."}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-logo",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"alt"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"Alt tag for the logo image."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"src"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"URL to the logo image. Base URL is appended by default."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"srcDark"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"logo.src"})}),(0,d.jsx)(n.td,{children:"An alternative image URL to use in dark mode."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"href"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"siteConfig.baseUrl"})}),(0,d.jsx)(n.td,{children:"Link to navigate to when the logo is clicked."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"width"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"string | number"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsxs)(n.td,{children:["Specifies the ",(0,d.jsx)(n.code,{children:"width"})," attribute."]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"height"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"string | number"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsxs)(n.td,{children:["Specifies the ",(0,d.jsx)(n.code,{children:"height"})," attribute."]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"target"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsxs)(n.td,{children:["Calculated based on ",(0,d.jsx)(n.code,{children:"href"})," (external links will open in a new tab, all others in the current one)."]}),(0,d.jsxs)(n.td,{children:["The ",(0,d.jsx)(n.code,{children:"target"})," attribute of the link; controls whether the link is opened in a new tab, the current one, or otherwise."]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"className"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"CSS class applied to the image."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"style"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"object"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"CSS inline style object. React/JSX flavor, using camelCase properties."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n title: 'Site Title',\n // highlight-start\n logo: {\n alt: 'Site Logo',\n src: 'img/logo.svg',\n srcDark: 'img/logo_dark.svg',\n href: 'https://docusaurus.io/',\n target: '_self',\n width: 32,\n height: 32,\n className: 'custom-navbar-logo-class',\n style: {border: 'solid red'},\n },\n // highlight-end\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h3,{id:"navbar-items",children:"Navbar items"}),"\n",(0,d.jsxs)(n.p,{children:["You can add items to the navbar via ",(0,d.jsx)(n.code,{children:"themeConfig.navbar.items"}),"."]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n // highlight-start\n items: [\n {\n type: 'doc',\n position: 'left',\n docId: 'introduction',\n label: 'Docs',\n },\n {to: 'blog', label: 'Blog', position: 'left'},\n {\n type: 'docsVersionDropdown',\n position: 'right',\n },\n {\n type: 'localeDropdown',\n position: 'right',\n },\n {\n href: 'https://github.com/facebook/docusaurus',\n position: 'right',\n className: 'header-github-link',\n 'aria-label': 'GitHub repository',\n },\n ],\n // highlight-end\n },\n },\n};\n"})}),"\n",(0,d.jsxs)(n.p,{children:["The items can have different behaviors based on the ",(0,d.jsx)(n.code,{children:"type"})," field. The sections below will introduce you to all the types of navbar items available."]}),"\n",(0,d.jsx)(n.h4,{id:"navbar-link",children:"Navbar link"}),"\n",(0,d.jsx)(n.p,{children:"By default, Navbar items are regular links (internal or external)."}),"\n",(0,d.jsxs)(n.p,{children:["React Router should automatically apply active link styling to links, but you can use ",(0,d.jsx)(n.code,{children:"activeBasePath"})," in edge cases. For cases in which a link should be active on several different paths (such as when you have multiple doc folders under the same sidebar), you can use ",(0,d.jsx)(n.code,{children:"activeBaseRegex"}),". ",(0,d.jsx)(n.code,{children:"activeBaseRegex"})," is a more flexible alternative to ",(0,d.jsx)(n.code,{children:"activeBasePath"})," and takes precedence over it -- Docusaurus parses it into a regular expression that is tested against the current URL."]}),"\n",(0,d.jsxs)(n.p,{children:["Outbound (external) links automatically get ",(0,d.jsx)(n.code,{children:'target="_blank" rel="noopener noreferrer"'})," attributes."]}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-link",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'default'"})}),(0,d.jsx)(n.td,{children:"Optional"}),(0,d.jsx)(n.td,{children:"Sets the type of this item to a link."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"label"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"The name to be shown for this item."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"html"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:"Optional"}),(0,d.jsxs)(n.td,{children:["Same as ",(0,d.jsx)(n.code,{children:"label"}),", but renders pure HTML instead of text content."]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"to"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Client-side routing, used for navigating within the website. The baseUrl will be automatically prepended to this value."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"href"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsxs)(n.td,{children:["A full-page navigation, used for navigating outside of the website. ",(0,d.jsxs)(n.strong,{children:["Only one of ",(0,d.jsx)(n.code,{children:"to"})," or ",(0,d.jsx)(n.code,{children:"href"})," should be used."]})]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"prependBaseUrlToHref"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"boolean"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"false"})}),(0,d.jsxs)(n.td,{children:["Prepends the baseUrl to ",(0,d.jsx)(n.code,{children:"href"})," values."]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"position"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'left' | 'right'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'left'"})}),(0,d.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"activeBasePath"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsxs)(n.td,{children:[(0,d.jsx)(n.code,{children:"to"})," / ",(0,d.jsx)(n.code,{children:"href"})]}),(0,d.jsx)(n.td,{children:"To apply the active class styling on all routes starting with this path. This usually isn't necessary."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"activeBaseRegex"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsxs)(n.td,{children:["Alternative to ",(0,d.jsx)(n.code,{children:"activeBasePath"})," if required."]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"className"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"''"})}),(0,d.jsx)(n.td,{children:"Custom CSS class (for styling any item)."})]})]})]})}),"\n",(0,d.jsx)(n.admonition,{type:"note",children:(0,d.jsx)(n.p,{children:"In addition to the fields above, you can specify other arbitrary attributes that can be applied to a HTML link."})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n to: 'docs/introduction',\n // Only one of \"to\" or \"href\" should be used\n // href: 'https://www.facebook.com',\n label: 'Introduction',\n // Only one of \"label\" or \"html\" should be used\n // html: 'Introduction'\n position: 'left',\n activeBaseRegex: 'docs/(next|v8)',\n target: '_blank',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h4,{id:"navbar-dropdown",children:"Navbar dropdown"}),"\n",(0,d.jsxs)(n.p,{children:["Navbar items of the type ",(0,d.jsx)(n.code,{children:"dropdown"})," has the additional ",(0,d.jsx)(n.code,{children:"items"})," field, an inner array of navbar items."]}),"\n",(0,d.jsxs)(n.p,{children:["Navbar dropdown items only accept the following ",(0,d.jsx)(n.strong,{children:'"link-like" item types'}),":"]}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"#navbar-link",children:"Navbar link"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"#navbar-doc-link",children:"Navbar doc link"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"#navbar-docs-version",children:"Navbar docs version"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"#navbar-doc-sidebar",children:"Navbar doc sidebar"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"#navbar-with-custom-html",children:"Navbar with custom HTML"})}),"\n"]}),"\n",(0,d.jsxs)(n.p,{children:["Note that the dropdown base item is a clickable link as well, so this item can receive any of the props of a ",(0,d.jsx)(n.a,{href:"#navbar-link",children:"plain navbar link"}),"."]}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-dropdown",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'dropdown'"})}),(0,d.jsx)(n.td,{children:"Optional"}),(0,d.jsx)(n.td,{children:"Sets the type of this item to a dropdown."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"label"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"The name to be shown for this item."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"items"})}),(0,d.jsx)(n.td,{children:(0,d.jsxs)("code",{children:[(0,d.jsx)(n.a,{href:"#navbar-dropdown",children:"LinkLikeItem"}),"[]"]})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"The items to be contained in the dropdown."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"position"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'left' | 'right'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'left'"})}),(0,d.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'dropdown',\n label: 'Community',\n position: 'left',\n items: [\n {\n label: 'Facebook',\n href: 'https://www.facebook.com',\n },\n {\n type: 'doc',\n label: 'Social',\n docId: 'social',\n },\n // ... more items\n ],\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h4,{id:"navbar-doc-link",children:"Navbar doc link"}),"\n",(0,d.jsxs)(n.p,{children:["If you want to link to a specific doc, this special navbar item type will render the link to the doc of the provided ",(0,d.jsx)(n.code,{children:"docId"}),". It will get the class ",(0,d.jsx)(n.code,{children:"navbar__link--active"})," as long as you browse a doc of the same sidebar."]}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-doc-link",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'doc'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Sets the type of this item to a doc link."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"docId"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"The ID of the doc that this item links to."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"label"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"docId"})}),(0,d.jsx)(n.td,{children:"The name to be shown for this item."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"position"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'left' | 'right'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'left'"})}),(0,d.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"docsPluginId"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'default'"})}),(0,d.jsx)(n.td,{children:"The ID of the docs plugin that the doc belongs to."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'doc',\n position: 'left',\n docId: 'introduction',\n label: 'Docs',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h4,{id:"navbar-doc-sidebar",children:"Navbar linked to a sidebar"}),"\n",(0,d.jsx)(n.p,{children:"You can link a navbar item to the first document link (which can be a doc link or a generated category index) of a given sidebar without having to hardcode a doc ID."}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-doc-sidebar",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'docSidebar'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Sets the type of this navbar item to a sidebar's first document."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"sidebarId"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"The ID of the sidebar that this item is linked to."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"label"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:"First document link's sidebar label"}),(0,d.jsx)(n.td,{children:"The name to be shown for this item."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"position"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'left' | 'right'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'left'"})}),(0,d.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"docsPluginId"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'default'"})}),(0,d.jsx)(n.td,{children:"The ID of the docs plugin that the sidebar belongs to."})]})]})]})}),"\n",(0,d.jsx)(n.admonition,{type:"tip",children:(0,d.jsx)(n.p,{children:"Use this navbar item type if your sidebar is updated often and the order is not stable."})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'docSidebar',\n position: 'left',\n sidebarId: 'api',\n label: 'API',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n tutorial: [\n {\n type: 'autogenerated',\n dirName: 'guides',\n },\n ],\n api: [\n // highlight-next-line\n 'cli', // The navbar item will be linking to this doc\n 'docusaurus-core',\n {\n type: 'autogenerated',\n dirName: 'api',\n },\n ],\n};\n"})}),"\n",(0,d.jsx)(n.h4,{id:"navbar-docs-version-dropdown",children:"Navbar docs version dropdown"}),"\n",(0,d.jsx)(n.p,{children:"If you use docs with versioning, this special navbar item type that will render a dropdown with all your site's available versions."}),"\n",(0,d.jsx)(n.p,{children:"The user will be able to switch from one version to another, while staying on the same doc (as long as the doc ID is constant across versions)."}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-docs-version-dropdown",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'docsVersionDropdown'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Sets the type of this item to a docs version dropdown."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"position"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'left' | 'right'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'left'"})}),(0,d.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"dropdownItemsBefore"})}),(0,d.jsx)(n.td,{children:(0,d.jsxs)("code",{children:[(0,d.jsx)(n.a,{href:"#navbar-dropdown",children:"LinkLikeItem"}),"[]"]})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"[]"})}),(0,d.jsx)(n.td,{children:"Add additional dropdown items at the beginning of the dropdown."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"dropdownItemsAfter"})}),(0,d.jsx)(n.td,{children:(0,d.jsxs)("code",{children:[(0,d.jsx)(n.a,{href:"#navbar-dropdown",children:"LinkLikeItem"}),"[]"]})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"[]"})}),(0,d.jsx)(n.td,{children:"Add additional dropdown items at the end of the dropdown."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"docsPluginId"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'default'"})}),(0,d.jsx)(n.td,{children:"The ID of the docs plugin that the doc versioning belongs to."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"dropdownActiveClassDisabled"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"boolean"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"false"})}),(0,d.jsx)(n.td,{children:"Do not add the link active class when browsing docs."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'docsVersionDropdown',\n position: 'left',\n dropdownItemsAfter: [{to: '/versions', label: 'All versions'}],\n dropdownActiveClassDisabled: true,\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h4,{id:"navbar-docs-version",children:"Navbar docs version"}),"\n",(0,d.jsx)(n.p,{children:"If you use docs with versioning, this special navbar item type will link to the active/browsed version of your doc (depends on the current URL), and fallback to the latest version."}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-docs-version",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'docsVersion'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Sets the type of this item to a doc version link."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"label"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:"The active/latest version label."}),(0,d.jsx)(n.td,{children:"The name to be shown for this item."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"to"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:"The active/latest version."}),(0,d.jsx)(n.td,{children:"The internal link that this item points to."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"position"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'left' | 'right'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'left'"})}),(0,d.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"docsPluginId"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'default'"})}),(0,d.jsx)(n.td,{children:"The ID of the docs plugin that the doc versioning belongs to."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'docsVersion',\n position: 'left',\n to: '/path',\n label: 'label',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h4,{id:"navbar-locale-dropdown",children:"Navbar locale dropdown"}),"\n",(0,d.jsxs)(n.p,{children:["If you use the ",(0,d.jsx)(n.a,{href:"/docs/i18n/introduction",children:"i18n feature"}),", this special navbar item type will render a dropdown with all your site's available locales."]}),"\n",(0,d.jsx)(n.p,{children:"The user will be able to switch from one locale to another, while staying on the same page."}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-locale-dropdown",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'localeDropdown'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Sets the type of this item to a locale dropdown."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"position"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'left' | 'right'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'left'"})}),(0,d.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"dropdownItemsBefore"})}),(0,d.jsx)(n.td,{children:(0,d.jsxs)("code",{children:[(0,d.jsx)(n.a,{href:"#navbar-dropdown",children:"LinkLikeItem"}),"[]"]})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"[]"})}),(0,d.jsx)(n.td,{children:"Add additional dropdown items at the beginning of the dropdown."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"dropdownItemsAfter"})}),(0,d.jsx)(n.td,{children:(0,d.jsxs)("code",{children:[(0,d.jsx)(n.a,{href:"#navbar-dropdown",children:"LinkLikeItem"}),"[]"]})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"[]"})}),(0,d.jsx)(n.td,{children:"Add additional dropdown items at the end of the dropdown."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"queryString"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"The query string to be appended to the URL."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'localeDropdown',\n position: 'left',\n dropdownItemsAfter: [\n {\n to: 'https://my-site.com/help-us-translate',\n label: 'Help us translate',\n },\n ],\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h4,{id:"navbar-search",children:"Navbar search"}),"\n",(0,d.jsxs)(n.p,{children:["If you use the ",(0,d.jsx)(n.a,{href:"/docs/search",children:"search"}),", the search bar will be the rightmost element in the navbar."]}),"\n",(0,d.jsx)(n.p,{children:"However, with this special navbar item type, you can change the default location."}),"\n",(0,d.jsx)(t.Z,{name:"navbar-search",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'search'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Sets the type of this item to a search bar."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"position"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'left' | 'right'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'left'"})}),(0,d.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"className"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:"/"}),(0,d.jsx)(n.td,{children:"Custom CSS class for this navbar item."})]})]})]})}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'search',\n position: 'right',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h4,{id:"navbar-with-custom-html",children:"Navbar with custom HTML"}),"\n",(0,d.jsx)(n.p,{children:"You can also render your own HTML markup inside a navbar item using this navbar item type."}),"\n",(0,d.jsx)(t.Z,{name:"navbar-html",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'html'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Sets the type of this item to a HTML element."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"position"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'left' | 'right'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'left'"})}),(0,d.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"className"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"''"})}),(0,d.jsx)(n.td,{children:"Custom CSS class for this navbar item."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"value"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"''"})}),(0,d.jsx)(n.td,{children:"Custom HTML to be rendered inside this navbar item."})]})]})]})}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'html',\n position: 'right',\n value: '',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h3,{id:"auto-hide-sticky-navbar",children:"Auto-hide sticky navbar"}),"\n",(0,d.jsx)(n.p,{children:"You can enable this cool UI feature that automatically hides the navbar when a user starts scrolling down the page, and show it again when the user scrolls up."}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n // highlight-next-line\n hideOnScroll: true,\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h3,{id:"navbar-style",children:"Navbar style"}),"\n",(0,d.jsx)(n.p,{children:"You can set the static Navbar style without disabling the theme switching ability. The selected style will always apply no matter which theme user have selected."}),"\n",(0,d.jsxs)(n.p,{children:["Currently, there are two possible style options: ",(0,d.jsx)(n.code,{children:"dark"})," and ",(0,d.jsx)(n.code,{children:"primary"})," (based on the ",(0,d.jsx)(n.code,{children:"--ifm-color-primary"})," color). You can see the styles preview in the ",(0,d.jsx)(n.a,{href:"https://infima.dev/docs/components/navbar/",children:"Infima documentation"}),"."]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n // highlight-next-line\n style: 'primary',\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h2,{id:"codeblock",children:"CodeBlock"}),"\n",(0,d.jsxs)(n.p,{children:["Docusaurus uses ",(0,d.jsx)(n.a,{href:"https://github.com/FormidableLabs/prism-react-renderer",children:"Prism React Renderer"})," to highlight code blocks. All configuration are in the ",(0,d.jsx)(n.code,{children:"prism"})," object."]}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"codeblock",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"theme"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"PrismTheme"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"palenight"})}),(0,d.jsx)(n.td,{children:"The Prism theme to use for light-theme code blocks."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"darkTheme"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"PrismTheme"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"palenight"})}),(0,d.jsx)(n.td,{children:"The Prism theme to use for dark-theme code blocks."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"defaultLanguage"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"The default language to use for code blocks not declaring any explicit language."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"magicComments"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"MagicCommentConfig[]"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.em,{children:"see below"})}),(0,d.jsxs)(n.td,{children:["The list of ",(0,d.jsx)(n.a,{href:"/docs/markdown-features/code-blocks#custom-magic-comments",children:"magic comments"}),"."]})]})]})]})}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-ts",children:"type MagicCommentConfig = {\n className: string;\n line?: string;\n block?: {start: string; end: string};\n};\n"})}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",children:"const defaultMagicComments = [\n {\n className: 'theme-code-block-highlighted-line',\n line: 'highlight-next-line',\n block: {start: 'highlight-start', end: 'highlight-end'},\n },\n];\n"})}),"\n",(0,d.jsx)(n.h3,{id:"theme",children:"Theme"}),"\n",(0,d.jsxs)(n.p,{children:["By default, we use ",(0,d.jsx)(n.a,{href:"https://github.com/FormidableLabs/prism-react-renderer/blob/master/packages/prism-react-renderer/src/themes/palenight.ts",children:"Palenight"})," as syntax highlighting theme. You can specify a custom theme from the ",(0,d.jsx)(n.a,{href:"https://github.com/FormidableLabs/prism-react-renderer/tree/master/packages/prism-react-renderer/src/themes",children:"list of available themes"}),". You may also use a different syntax highlighting theme when the site is in dark mode."]}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"import {themes as prismThemes} from 'prism-react-renderer';\n\nexport default {\n themeConfig: {\n prism: {\n // highlight-start\n theme: prismThemes.github,\n darkTheme: prismThemes.dracula,\n // highlight-end\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.admonition,{type:"note",children:(0,d.jsxs)(n.p,{children:["If you use the line highlighting Markdown syntax, you might need to specify a different highlight background color for the dark mode syntax highlighting theme. Refer to the ",(0,d.jsx)(n.a,{href:"/docs/markdown-features/code-blocks#line-highlighting",children:"docs for guidance"}),"."]})}),"\n",(0,d.jsx)(n.h3,{id:"default-language",children:"Default language"}),"\n",(0,d.jsxs)(n.p,{children:["You can set a default language for code blocks if no language is added after the opening triple backticks (i.e. ```). Note that a valid ",(0,d.jsx)(n.a,{href:"https://prismjs.com/#supported-languages",children:"language name"})," must be passed."]}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n prism: {\n // highlight-next-line\n defaultLanguage: 'javascript',\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h2,{id:"footer-1",children:"Footer"}),"\n",(0,d.jsxs)(n.p,{children:["You can add logo and a copyright to the footer via ",(0,d.jsx)(n.code,{children:"themeConfig.footer"}),". Logo can be placed in ",(0,d.jsx)(n.a,{href:"/docs/static-assets",children:"static folder"}),". Logo URL works in the same way of the navbar logo."]}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"footer",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"logo"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"Logo"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsxs)(n.td,{children:["Customization of the logo object. See ",(0,d.jsx)(n.a,{href:"#navbar-logo",children:"Navbar logo"})," for details."]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"copyright"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"The copyright message to be displayed at the bottom, also supports custom HTML."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"style"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'dark' | 'light'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'light'"})}),(0,d.jsx)(n.td,{children:"The color theme of the footer component."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"links"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"(Column | FooterLink)[]"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"[]"})}),(0,d.jsx)(n.td,{children:"The link groups to be present."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // highlight-start\n footer: {\n logo: {\n alt: 'Meta Open Source Logo',\n src: 'img/meta_oss_logo.png',\n href: 'https://opensource.fb.com',\n width: 160,\n height: 51,\n },\n copyright: `Copyright \xa9 ${new Date().getFullYear()} My Project, Inc. Built with Docusaurus.`,\n },\n // highlight-end\n },\n};\n"})}),"\n",(0,d.jsx)(n.h3,{id:"footer-links",children:"Footer Links"}),"\n",(0,d.jsxs)(n.p,{children:["You can add links to the footer via ",(0,d.jsx)(n.code,{children:"themeConfig.footer.links"}),". There are two types of footer configurations: ",(0,d.jsx)(n.strong,{children:"multi-column footers"})," and ",(0,d.jsx)(n.strong,{children:"simple footers"}),"."]}),"\n",(0,d.jsxs)(n.p,{children:["Multi-column footer links have a ",(0,d.jsx)(n.code,{children:"title"})," and a list of ",(0,d.jsx)(n.code,{children:"FooterItem"}),"s for each column."]}),"\n",(0,d.jsx)(t.Z,{name:"footer-links",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"title"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"Label of the section of these links."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"items"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"FooterItem[]"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"[]"})}),(0,d.jsx)(n.td,{children:"Links in this section."})]})]})]})}),"\n",(0,d.jsxs)(n.p,{children:["Accepted fields of each ",(0,d.jsx)(n.code,{children:"FooterItem"}),":"]}),"\n",(0,d.jsx)(t.Z,{name:"footer-items",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"label"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Text to be displayed for this link."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"to"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Client-side routing, used for navigating within the website. The baseUrl will be automatically prepended to this value."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"href"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsxs)(n.td,{children:["A full-page navigation, used for navigating outside of the website. ",(0,d.jsxs)(n.strong,{children:["Only one of ",(0,d.jsx)(n.code,{children:"to"})," or ",(0,d.jsx)(n.code,{children:"href"})," should be used."]})]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"html"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsxs)(n.td,{children:["Renders the HTML pass-through instead of a simple link. In case ",(0,d.jsx)(n.code,{children:"html"})," is used, no other options should be provided."]})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example multi-column configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n footer: {\n // highlight-start\n links: [\n {\n title: 'Docs',\n items: [\n {\n label: 'Style Guide',\n to: 'docs/',\n },\n {\n label: 'Second Doc',\n to: 'docs/doc2/',\n },\n ],\n },\n {\n title: 'Community',\n items: [\n {\n label: 'Stack Overflow',\n href: 'https://stackoverflow.com/questions/tagged/docusaurus',\n },\n {\n label: 'Discord',\n href: 'https://discordapp.com/invite/docusaurus',\n },\n {\n label: 'Twitter',\n href: 'https://twitter.com/docusaurus',\n },\n {\n html: `\n \n \n \n `,\n },\n ],\n },\n ],\n // highlight-end\n },\n};\n"})}),"\n",(0,d.jsxs)(n.p,{children:["A simple footer just has a list of ",(0,d.jsx)(n.code,{children:"FooterItem"}),"s displayed in a row."]}),"\n",(0,d.jsx)(n.p,{children:"Example simple configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:'export default {\n footer: {\n // highlight-start\n links: [\n {\n label: \'Stack Overflow\',\n href: \'https://stackoverflow.com/questions/tagged/docusaurus\',\n },\n {\n label: \'Discord\',\n href: \'https://discordapp.com/invite/docusaurus\',\n },\n {\n label: \'Twitter\',\n href: \'https://twitter.com/docusaurus\',\n },\n {\n html: `\n \n \n \n `,\n },\n ],\n // highlight-end\n },\n};\n'})}),"\n",(0,d.jsx)(n.h2,{id:"table-of-contents",children:"Table of Contents"}),"\n",(0,d.jsxs)(n.p,{children:["You can adjust the default table of contents via ",(0,d.jsx)(n.code,{children:"themeConfig.tableOfContents"}),"."]}),"\n",(0,d.jsx)(t.Z,{children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"minHeadingLevel"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"number"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"2"})}),(0,d.jsx)(n.td,{children:"The minimum heading level shown in the table of contents. Must be between 2 and 6 and lower or equal to the max value."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"maxHeadingLevel"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"number"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"3"})}),(0,d.jsx)(n.td,{children:"Max heading level displayed in the TOC. Should be an integer between 2 and 6."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // highlight-start\n tableOfContents: {\n minHeadingLevel: 2,\n maxHeadingLevel: 5,\n },\n // highlight-end\n },\n};\n"})}),"\n",(0,d.jsx)(n.h2,{id:"hooks",children:"Hooks"}),"\n",(0,d.jsx)(n.h3,{id:"use-color-mode",children:(0,d.jsx)(n.code,{children:"useColorMode"})}),"\n",(0,d.jsx)(n.p,{children:"A React hook to access the color context. This context contains functions for setting light and dark mode and exposes boolean variable, indicating which mode is currently in use."}),"\n",(0,d.jsx)(n.p,{children:"Usage example:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-jsx",children:"import React from 'react';\n// highlight-next-line\nimport {useColorMode} from '@docusaurus/theme-common';\n\nconst Example = () => {\n // highlight-next-line\n const {colorMode, setColorMode} = useColorMode();\n\n return
Dark mode is now {colorMode === 'dark' ? 'on' : 'off'}
;\n};\n"})}),"\n",(0,d.jsxs)(n.admonition,{type:"note",children:[(0,d.jsxs)(n.p,{children:["The component calling ",(0,d.jsx)(n.code,{children:"useColorMode"})," must be a child of the ",(0,d.jsx)(n.code,{children:"Layout"})," component."]}),(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-jsx",children:"function ExamplePage() {\n return (\n \n \n \n );\n}\n"})})]}),"\n",(0,d.jsx)(n.h2,{id:"i18n",children:"i18n"}),"\n",(0,d.jsxs)(n.p,{children:["Read the ",(0,d.jsx)(n.a,{href:"/docs/i18n/introduction",children:"i18n introduction"})," first."]}),"\n",(0,d.jsx)(n.h3,{id:"translation-files-location",children:"Translation files location"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsxs)(n.li,{children:[(0,d.jsx)(n.strong,{children:"Base path"}),": ",(0,d.jsx)(n.code,{children:"website/i18n/[locale]/docusaurus-theme-[themeName]"})]}),"\n",(0,d.jsxs)(n.li,{children:[(0,d.jsx)(n.strong,{children:"Multi-instance path"}),": N/A"]}),"\n",(0,d.jsxs)(n.li,{children:[(0,d.jsx)(n.strong,{children:"JSON files"}),": extracted with ",(0,d.jsx)(n.a,{href:"/docs/cli#docusaurus-write-translations-sitedir",children:(0,d.jsx)(n.code,{children:"docusaurus write-translations"})})]}),"\n",(0,d.jsxs)(n.li,{children:[(0,d.jsx)(n.strong,{children:"Markdown files"}),": N/A"]}),"\n"]}),"\n",(0,d.jsx)(n.h3,{id:"example-file-system-structure",children:"Example file-system structure"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"website/i18n/[locale]/docusaurus-theme-classic\n\u2502\n\u2502 # translations for the theme\n\u251c\u2500\u2500 navbar.json\n\u2514\u2500\u2500 footer.json\n"})})]})}function x(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(a,{...e})}):a(e)}},71670:(e,n,i)=>{i.d(n,{Z:()=>l,a:()=>r});var d=i(27378);const s={},t=d.createContext(s);function r(e){const n=d.useContext(t);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),d.createElement(t.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/03f86864.e30e7347.js b/assets/js/03f86864.e30e7347.js
deleted file mode 100644
index c30ce2e261..0000000000
--- a/assets/js/03f86864.e30e7347.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[22054],{52605:(e,n,i)=>{i.d(n,{Z:()=>o});var d=i(24246),s=i(27378),t=i(80474),r=i(3620);const l={apiTable:"apiTable_e8hp"};function c({name:e,children:n},i){const l=function(e){let n=e;for(;(0,s.isValidElement)(n);)[n]=s.Children.toArray(n.props.children);if("string"!=typeof n)throw new Error(`Could not extract APITable row name from JSX tree:\n${JSON.stringify(e,null,2)}`);return n}(n),c=e?`${e}-${l}`:l,h=`#${c}`,o=(0,r.k6)();return(0,t.Z)().collectAnchor(c),(0,d.jsx)("tr",{id:c,tabIndex:0,ref:o.location.hash===h?i:void 0,onClick:e=>{"A"===e.target.tagName.toUpperCase()||o.push(h)},onKeyDown:e=>{"Enter"===e.key&&o.push(h)},children:n.props.children})}const h=s.forwardRef(c);function o({children:e,name:n}){if("table"!==e.type)throw new Error("Bad usage of APITable component.\nIt is probably that your Markdown table is malformed.\nMake sure to double-check you have the appropriate number of columns for each table row.");const[i,t]=s.Children.toArray(e.props.children),r=(0,s.useRef)(null);(0,s.useEffect)((()=>{var e;null===(e=r.current)||void 0===e||e.focus()}),[r]);const c=s.Children.map(t.props.children,(e=>(0,d.jsx)(h,{name:n,ref:r,children:e})));return(0,d.jsxs)("table",{className:l.apiTable,children:[i,(0,d.jsx)("tbody",{children:c})]})}},88313:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>h,contentTitle:()=>l,default:()=>x,frontMatter:()=>r,metadata:()=>c,toc:()=>o});var d=i(24246),s=i(71670),t=i(52605);const r={sidebar_position:1,sidebar_label:"Configuration",slug:"/api/themes/configuration",toc_max_heading_level:4},l="Theme configuration",c={id:"api/themes/theme-configuration",title:"Theme configuration",description:"This configuration applies to all main themes.",source:"@site/docs/api/themes/theme-configuration.mdx",sourceDirName:"api/themes",slug:"/api/themes/configuration",permalink:"/docs/api/themes/configuration",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/edit/main/website/docs/api/themes/theme-configuration.mdx",tags:[],version:"current",lastUpdatedBy:"yujonglee",lastUpdatedAt:1722518584e3,sidebarPosition:1,frontMatter:{sidebar_position:1,sidebar_label:"Configuration",slug:"/api/themes/configuration",toc_max_heading_level:4},sidebar:"api",previous:{title:"Themes overview",permalink:"/docs/api/themes"},next:{title:"\ud83d\udce6 theme-classic",permalink:"/docs/api/themes/@docusaurus/theme-classic"}},h={},o=[{value:"Common",id:"common",level:2},{value:"Color mode",id:"color-mode---dark-mode",level:3},{value:"Meta image",id:"meta-image",level:3},{value:"Metadata",id:"metadata",level:3},{value:"Announcement bar",id:"announcement-bar",level:3},{value:"Plugins",id:"plugins",level:2},{value:"Docs",id:"docs",level:3},{value:"Blog",id:"blog",level:3},{value:"Navbar",id:"navbar",level:2},{value:"Navbar logo",id:"navbar-logo",level:3},{value:"Navbar items",id:"navbar-items",level:3},{value:"Navbar link",id:"navbar-link",level:4},{value:"Navbar dropdown",id:"navbar-dropdown",level:4},{value:"Navbar doc link",id:"navbar-doc-link",level:4},{value:"Navbar linked to a sidebar",id:"navbar-doc-sidebar",level:4},{value:"Navbar docs version dropdown",id:"navbar-docs-version-dropdown",level:4},{value:"Navbar docs version",id:"navbar-docs-version",level:4},{value:"Navbar locale dropdown",id:"navbar-locale-dropdown",level:4},{value:"Navbar search",id:"navbar-search",level:4},{value:"Navbar with custom HTML",id:"navbar-with-custom-html",level:4},{value:"Auto-hide sticky navbar",id:"auto-hide-sticky-navbar",level:3},{value:"Navbar style",id:"navbar-style",level:3},{value:"CodeBlock",id:"codeblock",level:2},{value:"Theme",id:"theme",level:3},{value:"Default language",id:"default-language",level:3},{value:"Footer",id:"footer-1",level:2},{value:"Footer Links",id:"footer-links",level:3},{value:"Table of Contents",id:"table-of-contents",level:2},{value:"Hooks",id:"hooks",level:2},{value:"useColorMode",id:"use-color-mode",level:3},{value:"i18n",id:"i18n",level:2},{value:"Translation files location",id:"translation-files-location",level:3},{value:"Example file-system structure",id:"example-file-system-structure",level:3}];function a(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.header,{children:(0,d.jsx)(n.h1,{id:"theme-configuration",children:"Theme configuration"})}),"\n","\n",(0,d.jsxs)(n.p,{children:["This configuration applies to all ",(0,d.jsx)(n.a,{href:"/docs/api/themes",children:"main themes"}),"."]}),"\n",(0,d.jsx)(n.h2,{id:"common",children:"Common"}),"\n",(0,d.jsx)(n.h3,{id:"color-mode---dark-mode",children:"Color mode"}),"\n",(0,d.jsx)(n.p,{children:"The classic theme provides by default light and dark mode support, with a navbar switch for the user."}),"\n",(0,d.jsxs)(n.p,{children:["It is possible to customize the color mode support within the ",(0,d.jsx)(n.code,{children:"colorMode"})," object."]}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"defaultMode"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'light' | 'dark'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'light'"})}),(0,d.jsx)(n.td,{children:"The color mode when user first visits the site."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"disableSwitch"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"boolean"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"false"})}),(0,d.jsx)(n.td,{children:"Hides the switch in the navbar. Useful if you want to support a single color mode."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"respectPrefersColorScheme"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"boolean"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"false"})}),(0,d.jsxs)(n.td,{children:["Whether to use the ",(0,d.jsx)(n.code,{children:"prefers-color-scheme"})," media-query, using user system preferences, instead of the hardcoded ",(0,d.jsx)(n.code,{children:"defaultMode"}),"."]})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // highlight-start\n colorMode: {\n defaultMode: 'light',\n disableSwitch: false,\n respectPrefersColorScheme: false,\n },\n // highlight-end\n },\n};\n"})}),"\n",(0,d.jsxs)(n.admonition,{type:"warning",children:[(0,d.jsxs)(n.p,{children:["With ",(0,d.jsx)(n.code,{children:"respectPrefersColorScheme: true"}),", the ",(0,d.jsx)(n.code,{children:"defaultMode"})," is overridden by user system preferences."]}),(0,d.jsx)(n.p,{children:"If you only want to support one color mode, you likely want to ignore user system preferences."})]}),"\n",(0,d.jsx)(n.h3,{id:"meta-image",children:"Meta image"}),"\n",(0,d.jsxs)(n.p,{children:["You can configure a default image that will be used for your meta tag, in particular ",(0,d.jsx)(n.code,{children:"og:image"})," and ",(0,d.jsx)(n.code,{children:"twitter:image"}),"."]}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"image"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:'The meta image URL for the site. Relative to your site\'s "static" directory. Cannot be SVGs. Can be external URLs too.'})]})})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // highlight-next-line\n image: 'img/docusaurus.png',\n },\n};\n"})}),"\n",(0,d.jsx)(n.h3,{id:"metadata",children:"Metadata"}),"\n",(0,d.jsx)(n.p,{children:"You can configure additional HTML metadata (and override existing ones)."}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"metadata"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"Metadata[]"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"[]"})}),(0,d.jsxs)(n.td,{children:["Any field will be directly passed to the ",(0,d.jsx)(n.code,{children:""})," tag. Possible fields include ",(0,d.jsx)(n.code,{children:"id"}),", ",(0,d.jsx)(n.code,{children:"name"}),", ",(0,d.jsx)(n.code,{children:"property"}),", ",(0,d.jsx)(n.code,{children:"content"}),", ",(0,d.jsx)(n.code,{children:"itemprop"}),", etc."]})]})})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // highlight-next-line\n metadata: [{name: 'twitter:card', content: 'summary'}],\n },\n};\n"})}),"\n",(0,d.jsx)(n.h3,{id:"announcement-bar",children:"Announcement bar"}),"\n",(0,d.jsxs)(n.p,{children:["Sometimes you want to announce something in your website. Just for such a case, you can add an announcement bar. This is a non-fixed and optionally dismissible panel above the navbar. All configuration are in the ",(0,d.jsx)(n.code,{children:"announcementBar"})," object."]}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"announcement-bar",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"id"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'announcement-bar'"})}),(0,d.jsx)(n.td,{children:"Any value that will identify this message."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"content"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"''"})}),(0,d.jsx)(n.td,{children:"The text content of the announcement. HTML will be interpolated."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"backgroundColor"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'#fff'"})}),(0,d.jsx)(n.td,{children:"Background color of the entire bar."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"textColor"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'#000'"})}),(0,d.jsx)(n.td,{children:"Announcement text color."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"isCloseable"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"boolean"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"true"})}),(0,d.jsx)(n.td,{children:"Whether this announcement can be dismissed with a '\xd7' button."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // highlight-start\n announcementBar: {\n id: 'support_us',\n content:\n 'We are looking to revamp our docs, please fill this survey',\n backgroundColor: '#fafbfc',\n textColor: '#091E42',\n isCloseable: false,\n },\n // highlight-end\n },\n};\n"})}),"\n",(0,d.jsx)(n.h2,{id:"plugins",children:"Plugins"}),"\n",(0,d.jsxs)(n.p,{children:["Our ",(0,d.jsx)(n.a,{href:"/docs/api/themes",children:"main themes"})," offer additional theme configuration options for Docusaurus core content plugins."]}),"\n",(0,d.jsx)(n.h3,{id:"docs",children:"Docs"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-overview",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"versionPersistence"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'localStorage' | 'none'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"Defines the browser persistence of the preferred docs version."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"sidebar.hideable"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"boolean"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"false"})}),(0,d.jsx)(n.td,{children:"Show a hide button at the bottom of the sidebar."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"sidebar.autoCollapseCategories"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"boolean"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"false"})}),(0,d.jsx)(n.td,{children:"Automatically collapse all sibling categories of the one you navigate to."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n docs: {\n // highlight-start\n versionPersistence: 'localStorage',\n sidebar: {\n hideable: false,\n autoCollapseCategories: false,\n },\n // highlight-end\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h3,{id:"blog",children:"Blog"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-overview",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"sidebar.groupByYear"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"boolean"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"true"})}),(0,d.jsx)(n.td,{children:"Group sidebar blog posts by years."})]})})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n blog: {\n // highlight-start\n sidebar: {\n groupByYear: true,\n },\n // highlight-end\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h2,{id:"navbar",children:"Navbar"}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-overview",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"title"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"Title for the navbar."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"logo"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.em,{children:"See below"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"Customization of the logo object."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"items"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"NavbarItem[]"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"[]"})}),(0,d.jsx)(n.td,{children:"A list of navbar items. See specification below."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"hideOnScroll"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"boolean"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"false"})}),(0,d.jsx)(n.td,{children:"Whether the navbar is hidden when the user scrolls down."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"style"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'primary' | 'dark'"})}),(0,d.jsx)(n.td,{children:"Same as theme"}),(0,d.jsx)(n.td,{children:"Sets the navbar style, ignoring the dark/light theme."})]})]})]})}),"\n",(0,d.jsx)(n.h3,{id:"navbar-logo",children:"Navbar logo"}),"\n",(0,d.jsxs)(n.p,{children:["The logo can be placed in ",(0,d.jsx)(n.a,{href:"/docs/static-assets",children:"static folder"}),". Logo URL is set to base URL of your site by default. Although you can specify your own URL for the logo, if it is an external link, it will open in a new tab. In addition, you can override a value for the target attribute of logo link, it can come in handy if you are hosting docs website in a subdirectory of your main website, and in which case you probably do not need a link in the logo to the main website will open in a new tab."]}),"\n",(0,d.jsx)(n.p,{children:"To improve dark mode support, you can also set a different logo for this mode."}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-logo",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"alt"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"Alt tag for the logo image."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"src"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"URL to the logo image. Base URL is appended by default."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"srcDark"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"logo.src"})}),(0,d.jsx)(n.td,{children:"An alternative image URL to use in dark mode."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"href"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"siteConfig.baseUrl"})}),(0,d.jsx)(n.td,{children:"Link to navigate to when the logo is clicked."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"width"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"string | number"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsxs)(n.td,{children:["Specifies the ",(0,d.jsx)(n.code,{children:"width"})," attribute."]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"height"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"string | number"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsxs)(n.td,{children:["Specifies the ",(0,d.jsx)(n.code,{children:"height"})," attribute."]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"target"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsxs)(n.td,{children:["Calculated based on ",(0,d.jsx)(n.code,{children:"href"})," (external links will open in a new tab, all others in the current one)."]}),(0,d.jsxs)(n.td,{children:["The ",(0,d.jsx)(n.code,{children:"target"})," attribute of the link; controls whether the link is opened in a new tab, the current one, or otherwise."]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"className"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"CSS class applied to the image."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"style"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"object"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"CSS inline style object. React/JSX flavor, using camelCase properties."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n title: 'Site Title',\n // highlight-start\n logo: {\n alt: 'Site Logo',\n src: 'img/logo.svg',\n srcDark: 'img/logo_dark.svg',\n href: 'https://docusaurus.io/',\n target: '_self',\n width: 32,\n height: 32,\n className: 'custom-navbar-logo-class',\n style: {border: 'solid red'},\n },\n // highlight-end\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h3,{id:"navbar-items",children:"Navbar items"}),"\n",(0,d.jsxs)(n.p,{children:["You can add items to the navbar via ",(0,d.jsx)(n.code,{children:"themeConfig.navbar.items"}),"."]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n // highlight-start\n items: [\n {\n type: 'doc',\n position: 'left',\n docId: 'introduction',\n label: 'Docs',\n },\n {to: 'blog', label: 'Blog', position: 'left'},\n {\n type: 'docsVersionDropdown',\n position: 'right',\n },\n {\n type: 'localeDropdown',\n position: 'right',\n },\n {\n href: 'https://github.com/facebook/docusaurus',\n position: 'right',\n className: 'header-github-link',\n 'aria-label': 'GitHub repository',\n },\n ],\n // highlight-end\n },\n },\n};\n"})}),"\n",(0,d.jsxs)(n.p,{children:["The items can have different behaviors based on the ",(0,d.jsx)(n.code,{children:"type"})," field. The sections below will introduce you to all the types of navbar items available."]}),"\n",(0,d.jsx)(n.h4,{id:"navbar-link",children:"Navbar link"}),"\n",(0,d.jsx)(n.p,{children:"By default, Navbar items are regular links (internal or external)."}),"\n",(0,d.jsxs)(n.p,{children:["React Router should automatically apply active link styling to links, but you can use ",(0,d.jsx)(n.code,{children:"activeBasePath"})," in edge cases. For cases in which a link should be active on several different paths (such as when you have multiple doc folders under the same sidebar), you can use ",(0,d.jsx)(n.code,{children:"activeBaseRegex"}),". ",(0,d.jsx)(n.code,{children:"activeBaseRegex"})," is a more flexible alternative to ",(0,d.jsx)(n.code,{children:"activeBasePath"})," and takes precedence over it -- Docusaurus parses it into a regular expression that is tested against the current URL."]}),"\n",(0,d.jsxs)(n.p,{children:["Outbound (external) links automatically get ",(0,d.jsx)(n.code,{children:'target="_blank" rel="noopener noreferrer"'})," attributes."]}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-link",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'default'"})}),(0,d.jsx)(n.td,{children:"Optional"}),(0,d.jsx)(n.td,{children:"Sets the type of this item to a link."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"label"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"The name to be shown for this item."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"html"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:"Optional"}),(0,d.jsxs)(n.td,{children:["Same as ",(0,d.jsx)(n.code,{children:"label"}),", but renders pure HTML instead of text content."]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"to"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Client-side routing, used for navigating within the website. The baseUrl will be automatically prepended to this value."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"href"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsxs)(n.td,{children:["A full-page navigation, used for navigating outside of the website. ",(0,d.jsxs)(n.strong,{children:["Only one of ",(0,d.jsx)(n.code,{children:"to"})," or ",(0,d.jsx)(n.code,{children:"href"})," should be used."]})]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"prependBaseUrlToHref"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"boolean"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"false"})}),(0,d.jsxs)(n.td,{children:["Prepends the baseUrl to ",(0,d.jsx)(n.code,{children:"href"})," values."]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"position"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'left' | 'right'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'left'"})}),(0,d.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"activeBasePath"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsxs)(n.td,{children:[(0,d.jsx)(n.code,{children:"to"})," / ",(0,d.jsx)(n.code,{children:"href"})]}),(0,d.jsx)(n.td,{children:"To apply the active class styling on all routes starting with this path. This usually isn't necessary."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"activeBaseRegex"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsxs)(n.td,{children:["Alternative to ",(0,d.jsx)(n.code,{children:"activeBasePath"})," if required."]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"className"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"''"})}),(0,d.jsx)(n.td,{children:"Custom CSS class (for styling any item)."})]})]})]})}),"\n",(0,d.jsx)(n.admonition,{type:"note",children:(0,d.jsx)(n.p,{children:"In addition to the fields above, you can specify other arbitrary attributes that can be applied to a HTML link."})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n to: 'docs/introduction',\n // Only one of \"to\" or \"href\" should be used\n // href: 'https://www.facebook.com',\n label: 'Introduction',\n // Only one of \"label\" or \"html\" should be used\n // html: 'Introduction'\n position: 'left',\n activeBaseRegex: 'docs/(next|v8)',\n target: '_blank',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h4,{id:"navbar-dropdown",children:"Navbar dropdown"}),"\n",(0,d.jsxs)(n.p,{children:["Navbar items of the type ",(0,d.jsx)(n.code,{children:"dropdown"})," has the additional ",(0,d.jsx)(n.code,{children:"items"})," field, an inner array of navbar items."]}),"\n",(0,d.jsxs)(n.p,{children:["Navbar dropdown items only accept the following ",(0,d.jsx)(n.strong,{children:'"link-like" item types'}),":"]}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"#navbar-link",children:"Navbar link"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"#navbar-doc-link",children:"Navbar doc link"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"#navbar-docs-version",children:"Navbar docs version"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"#navbar-doc-sidebar",children:"Navbar doc sidebar"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"#navbar-with-custom-html",children:"Navbar with custom HTML"})}),"\n"]}),"\n",(0,d.jsxs)(n.p,{children:["Note that the dropdown base item is a clickable link as well, so this item can receive any of the props of a ",(0,d.jsx)(n.a,{href:"#navbar-link",children:"plain navbar link"}),"."]}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-dropdown",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'dropdown'"})}),(0,d.jsx)(n.td,{children:"Optional"}),(0,d.jsx)(n.td,{children:"Sets the type of this item to a dropdown."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"label"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"The name to be shown for this item."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"items"})}),(0,d.jsx)(n.td,{children:(0,d.jsxs)("code",{children:[(0,d.jsx)(n.a,{href:"#navbar-dropdown",children:"LinkLikeItem"}),"[]"]})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"The items to be contained in the dropdown."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"position"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'left' | 'right'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'left'"})}),(0,d.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'dropdown',\n label: 'Community',\n position: 'left',\n items: [\n {\n label: 'Facebook',\n href: 'https://www.facebook.com',\n },\n {\n type: 'doc',\n label: 'Social',\n docId: 'social',\n },\n // ... more items\n ],\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h4,{id:"navbar-doc-link",children:"Navbar doc link"}),"\n",(0,d.jsxs)(n.p,{children:["If you want to link to a specific doc, this special navbar item type will render the link to the doc of the provided ",(0,d.jsx)(n.code,{children:"docId"}),". It will get the class ",(0,d.jsx)(n.code,{children:"navbar__link--active"})," as long as you browse a doc of the same sidebar."]}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-doc-link",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'doc'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Sets the type of this item to a doc link."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"docId"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"The ID of the doc that this item links to."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"label"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"docId"})}),(0,d.jsx)(n.td,{children:"The name to be shown for this item."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"position"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'left' | 'right'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'left'"})}),(0,d.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"docsPluginId"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'default'"})}),(0,d.jsx)(n.td,{children:"The ID of the docs plugin that the doc belongs to."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'doc',\n position: 'left',\n docId: 'introduction',\n label: 'Docs',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h4,{id:"navbar-doc-sidebar",children:"Navbar linked to a sidebar"}),"\n",(0,d.jsx)(n.p,{children:"You can link a navbar item to the first document link (which can be a doc link or a generated category index) of a given sidebar without having to hardcode a doc ID."}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-doc-sidebar",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'docSidebar'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Sets the type of this navbar item to a sidebar's first document."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"sidebarId"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"The ID of the sidebar that this item is linked to."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"label"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:"First document link's sidebar label"}),(0,d.jsx)(n.td,{children:"The name to be shown for this item."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"position"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'left' | 'right'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'left'"})}),(0,d.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"docsPluginId"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'default'"})}),(0,d.jsx)(n.td,{children:"The ID of the docs plugin that the sidebar belongs to."})]})]})]})}),"\n",(0,d.jsx)(n.admonition,{type:"tip",children:(0,d.jsx)(n.p,{children:"Use this navbar item type if your sidebar is updated often and the order is not stable."})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'docSidebar',\n position: 'left',\n sidebarId: 'api',\n label: 'API',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n tutorial: [\n {\n type: 'autogenerated',\n dirName: 'guides',\n },\n ],\n api: [\n // highlight-next-line\n 'cli', // The navbar item will be linking to this doc\n 'docusaurus-core',\n {\n type: 'autogenerated',\n dirName: 'api',\n },\n ],\n};\n"})}),"\n",(0,d.jsx)(n.h4,{id:"navbar-docs-version-dropdown",children:"Navbar docs version dropdown"}),"\n",(0,d.jsx)(n.p,{children:"If you use docs with versioning, this special navbar item type that will render a dropdown with all your site's available versions."}),"\n",(0,d.jsx)(n.p,{children:"The user will be able to switch from one version to another, while staying on the same doc (as long as the doc ID is constant across versions)."}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-docs-version-dropdown",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'docsVersionDropdown'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Sets the type of this item to a docs version dropdown."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"position"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'left' | 'right'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'left'"})}),(0,d.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"dropdownItemsBefore"})}),(0,d.jsx)(n.td,{children:(0,d.jsxs)("code",{children:[(0,d.jsx)(n.a,{href:"#navbar-dropdown",children:"LinkLikeItem"}),"[]"]})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"[]"})}),(0,d.jsx)(n.td,{children:"Add additional dropdown items at the beginning of the dropdown."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"dropdownItemsAfter"})}),(0,d.jsx)(n.td,{children:(0,d.jsxs)("code",{children:[(0,d.jsx)(n.a,{href:"#navbar-dropdown",children:"LinkLikeItem"}),"[]"]})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"[]"})}),(0,d.jsx)(n.td,{children:"Add additional dropdown items at the end of the dropdown."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"docsPluginId"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'default'"})}),(0,d.jsx)(n.td,{children:"The ID of the docs plugin that the doc versioning belongs to."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"dropdownActiveClassDisabled"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"boolean"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"false"})}),(0,d.jsx)(n.td,{children:"Do not add the link active class when browsing docs."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'docsVersionDropdown',\n position: 'left',\n dropdownItemsAfter: [{to: '/versions', label: 'All versions'}],\n dropdownActiveClassDisabled: true,\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h4,{id:"navbar-docs-version",children:"Navbar docs version"}),"\n",(0,d.jsx)(n.p,{children:"If you use docs with versioning, this special navbar item type will link to the active/browsed version of your doc (depends on the current URL), and fallback to the latest version."}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-docs-version",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'docsVersion'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Sets the type of this item to a doc version link."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"label"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:"The active/latest version label."}),(0,d.jsx)(n.td,{children:"The name to be shown for this item."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"to"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:"The active/latest version."}),(0,d.jsx)(n.td,{children:"The internal link that this item points to."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"position"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'left' | 'right'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'left'"})}),(0,d.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"docsPluginId"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'default'"})}),(0,d.jsx)(n.td,{children:"The ID of the docs plugin that the doc versioning belongs to."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'docsVersion',\n position: 'left',\n to: '/path',\n label: 'label',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h4,{id:"navbar-locale-dropdown",children:"Navbar locale dropdown"}),"\n",(0,d.jsxs)(n.p,{children:["If you use the ",(0,d.jsx)(n.a,{href:"/docs/i18n/introduction",children:"i18n feature"}),", this special navbar item type will render a dropdown with all your site's available locales."]}),"\n",(0,d.jsx)(n.p,{children:"The user will be able to switch from one locale to another, while staying on the same page."}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"navbar-locale-dropdown",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'localeDropdown'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Sets the type of this item to a locale dropdown."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"position"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'left' | 'right'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'left'"})}),(0,d.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"dropdownItemsBefore"})}),(0,d.jsx)(n.td,{children:(0,d.jsxs)("code",{children:[(0,d.jsx)(n.a,{href:"#navbar-dropdown",children:"LinkLikeItem"}),"[]"]})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"[]"})}),(0,d.jsx)(n.td,{children:"Add additional dropdown items at the beginning of the dropdown."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"dropdownItemsAfter"})}),(0,d.jsx)(n.td,{children:(0,d.jsxs)("code",{children:[(0,d.jsx)(n.a,{href:"#navbar-dropdown",children:"LinkLikeItem"}),"[]"]})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"[]"})}),(0,d.jsx)(n.td,{children:"Add additional dropdown items at the end of the dropdown."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"queryString"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"The query string to be appended to the URL."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'localeDropdown',\n position: 'left',\n dropdownItemsAfter: [\n {\n to: 'https://my-site.com/help-us-translate',\n label: 'Help us translate',\n },\n ],\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h4,{id:"navbar-search",children:"Navbar search"}),"\n",(0,d.jsxs)(n.p,{children:["If you use the ",(0,d.jsx)(n.a,{href:"/docs/search",children:"search"}),", the search bar will be the rightmost element in the navbar."]}),"\n",(0,d.jsx)(n.p,{children:"However, with this special navbar item type, you can change the default location."}),"\n",(0,d.jsx)(t.Z,{name:"navbar-search",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'search'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Sets the type of this item to a search bar."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"position"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'left' | 'right'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'left'"})}),(0,d.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"className"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:"/"}),(0,d.jsx)(n.td,{children:"Custom CSS class for this navbar item."})]})]})]})}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'search',\n position: 'right',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h4,{id:"navbar-with-custom-html",children:"Navbar with custom HTML"}),"\n",(0,d.jsx)(n.p,{children:"You can also render your own HTML markup inside a navbar item using this navbar item type."}),"\n",(0,d.jsx)(t.Z,{name:"navbar-html",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'html'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Sets the type of this item to a HTML element."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"position"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'left' | 'right'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'left'"})}),(0,d.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"className"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"''"})}),(0,d.jsx)(n.td,{children:"Custom CSS class for this navbar item."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"value"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"''"})}),(0,d.jsx)(n.td,{children:"Custom HTML to be rendered inside this navbar item."})]})]})]})}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'html',\n position: 'right',\n value: '',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h3,{id:"auto-hide-sticky-navbar",children:"Auto-hide sticky navbar"}),"\n",(0,d.jsx)(n.p,{children:"You can enable this cool UI feature that automatically hides the navbar when a user starts scrolling down the page, and show it again when the user scrolls up."}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n // highlight-next-line\n hideOnScroll: true,\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h3,{id:"navbar-style",children:"Navbar style"}),"\n",(0,d.jsx)(n.p,{children:"You can set the static Navbar style without disabling the theme switching ability. The selected style will always apply no matter which theme user have selected."}),"\n",(0,d.jsxs)(n.p,{children:["Currently, there are two possible style options: ",(0,d.jsx)(n.code,{children:"dark"})," and ",(0,d.jsx)(n.code,{children:"primary"})," (based on the ",(0,d.jsx)(n.code,{children:"--ifm-color-primary"})," color). You can see the styles preview in the ",(0,d.jsx)(n.a,{href:"https://infima.dev/docs/components/navbar/",children:"Infima documentation"}),"."]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n // highlight-next-line\n style: 'primary',\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h2,{id:"codeblock",children:"CodeBlock"}),"\n",(0,d.jsxs)(n.p,{children:["Docusaurus uses ",(0,d.jsx)(n.a,{href:"https://github.com/FormidableLabs/prism-react-renderer",children:"Prism React Renderer"})," to highlight code blocks. All configuration are in the ",(0,d.jsx)(n.code,{children:"prism"})," object."]}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"codeblock",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"theme"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"PrismTheme"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"palenight"})}),(0,d.jsx)(n.td,{children:"The Prism theme to use for light-theme code blocks."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"darkTheme"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"PrismTheme"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"palenight"})}),(0,d.jsx)(n.td,{children:"The Prism theme to use for dark-theme code blocks."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"defaultLanguage"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"The default language to use for code blocks not declaring any explicit language."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"magicComments"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"MagicCommentConfig[]"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.em,{children:"see below"})}),(0,d.jsxs)(n.td,{children:["The list of ",(0,d.jsx)(n.a,{href:"/docs/markdown-features/code-blocks#custom-magic-comments",children:"magic comments"}),"."]})]})]})]})}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-ts",children:"type MagicCommentConfig = {\n className: string;\n line?: string;\n block?: {start: string; end: string};\n};\n"})}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",children:"const defaultMagicComments = [\n {\n className: 'theme-code-block-highlighted-line',\n line: 'highlight-next-line',\n block: {start: 'highlight-start', end: 'highlight-end'},\n },\n];\n"})}),"\n",(0,d.jsx)(n.h3,{id:"theme",children:"Theme"}),"\n",(0,d.jsxs)(n.p,{children:["By default, we use ",(0,d.jsx)(n.a,{href:"https://github.com/FormidableLabs/prism-react-renderer/blob/master/packages/prism-react-renderer/src/themes/palenight.ts",children:"Palenight"})," as syntax highlighting theme. You can specify a custom theme from the ",(0,d.jsx)(n.a,{href:"https://github.com/FormidableLabs/prism-react-renderer/tree/master/packages/prism-react-renderer/src/themes",children:"list of available themes"}),". You may also use a different syntax highlighting theme when the site is in dark mode."]}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"import {themes as prismThemes} from 'prism-react-renderer';\n\nexport default {\n themeConfig: {\n prism: {\n // highlight-start\n theme: prismThemes.github,\n darkTheme: prismThemes.dracula,\n // highlight-end\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.admonition,{type:"note",children:(0,d.jsxs)(n.p,{children:["If you use the line highlighting Markdown syntax, you might need to specify a different highlight background color for the dark mode syntax highlighting theme. Refer to the ",(0,d.jsx)(n.a,{href:"/docs/markdown-features/code-blocks#line-highlighting",children:"docs for guidance"}),"."]})}),"\n",(0,d.jsx)(n.h3,{id:"default-language",children:"Default language"}),"\n",(0,d.jsxs)(n.p,{children:["You can set a default language for code blocks if no language is added after the opening triple backticks (i.e. ```). Note that a valid ",(0,d.jsx)(n.a,{href:"https://prismjs.com/#supported-languages",children:"language name"})," must be passed."]}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n prism: {\n // highlight-next-line\n defaultLanguage: 'javascript',\n },\n },\n};\n"})}),"\n",(0,d.jsx)(n.h2,{id:"footer-1",children:"Footer"}),"\n",(0,d.jsxs)(n.p,{children:["You can add logo and a copyright to the footer via ",(0,d.jsx)(n.code,{children:"themeConfig.footer"}),". Logo can be placed in ",(0,d.jsx)(n.a,{href:"/docs/static-assets",children:"static folder"}),". Logo URL works in the same way of the navbar logo."]}),"\n",(0,d.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,d.jsx)(t.Z,{name:"footer",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"logo"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"Logo"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsxs)(n.td,{children:["Customization of the logo object. See ",(0,d.jsx)(n.a,{href:"#navbar-logo",children:"Navbar logo"})," for details."]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"copyright"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"The copyright message to be displayed at the bottom, also supports custom HTML."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"style"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"'dark' | 'light'"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"'light'"})}),(0,d.jsx)(n.td,{children:"The color theme of the footer component."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"links"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)("code",{children:"(Column | FooterLink)[]"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"[]"})}),(0,d.jsx)(n.td,{children:"The link groups to be present."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // highlight-start\n footer: {\n logo: {\n alt: 'Meta Open Source Logo',\n src: 'img/meta_oss_logo.png',\n href: 'https://opensource.fb.com',\n width: 160,\n height: 51,\n },\n copyright: `Copyright \xa9 ${new Date().getFullYear()} My Project, Inc. Built with Docusaurus.`,\n },\n // highlight-end\n },\n};\n"})}),"\n",(0,d.jsx)(n.h3,{id:"footer-links",children:"Footer Links"}),"\n",(0,d.jsxs)(n.p,{children:["You can add links to the footer via ",(0,d.jsx)(n.code,{children:"themeConfig.footer.links"}),". There are two types of footer configurations: ",(0,d.jsx)(n.strong,{children:"multi-column footers"})," and ",(0,d.jsx)(n.strong,{children:"simple footers"}),"."]}),"\n",(0,d.jsxs)(n.p,{children:["Multi-column footer links have a ",(0,d.jsx)(n.code,{children:"title"})," and a list of ",(0,d.jsx)(n.code,{children:"FooterItem"}),"s for each column."]}),"\n",(0,d.jsx)(t.Z,{name:"footer-links",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"title"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsx)(n.td,{children:"Label of the section of these links."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"items"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"FooterItem[]"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"[]"})}),(0,d.jsx)(n.td,{children:"Links in this section."})]})]})]})}),"\n",(0,d.jsxs)(n.p,{children:["Accepted fields of each ",(0,d.jsx)(n.code,{children:"FooterItem"}),":"]}),"\n",(0,d.jsx)(t.Z,{name:"footer-items",children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"label"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Text to be displayed for this link."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"to"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsx)(n.td,{children:"Client-side routing, used for navigating within the website. The baseUrl will be automatically prepended to this value."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"href"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Required"})}),(0,d.jsxs)(n.td,{children:["A full-page navigation, used for navigating outside of the website. ",(0,d.jsxs)(n.strong,{children:["Only one of ",(0,d.jsx)(n.code,{children:"to"})," or ",(0,d.jsx)(n.code,{children:"href"})," should be used."]})]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"html"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"undefined"})}),(0,d.jsxs)(n.td,{children:["Renders the HTML pass-through instead of a simple link. In case ",(0,d.jsx)(n.code,{children:"html"})," is used, no other options should be provided."]})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example multi-column configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n footer: {\n // highlight-start\n links: [\n {\n title: 'Docs',\n items: [\n {\n label: 'Style Guide',\n to: 'docs/',\n },\n {\n label: 'Second Doc',\n to: 'docs/doc2/',\n },\n ],\n },\n {\n title: 'Community',\n items: [\n {\n label: 'Stack Overflow',\n href: 'https://stackoverflow.com/questions/tagged/docusaurus',\n },\n {\n label: 'Discord',\n href: 'https://discordapp.com/invite/docusaurus',\n },\n {\n label: 'Twitter',\n href: 'https://twitter.com/docusaurus',\n },\n {\n html: `\n \n \n \n `,\n },\n ],\n },\n ],\n // highlight-end\n },\n};\n"})}),"\n",(0,d.jsxs)(n.p,{children:["A simple footer just has a list of ",(0,d.jsx)(n.code,{children:"FooterItem"}),"s displayed in a row."]}),"\n",(0,d.jsx)(n.p,{children:"Example simple configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:'export default {\n footer: {\n // highlight-start\n links: [\n {\n label: \'Stack Overflow\',\n href: \'https://stackoverflow.com/questions/tagged/docusaurus\',\n },\n {\n label: \'Discord\',\n href: \'https://discordapp.com/invite/docusaurus\',\n },\n {\n label: \'Twitter\',\n href: \'https://twitter.com/docusaurus\',\n },\n {\n html: `\n \n \n \n `,\n },\n ],\n // highlight-end\n },\n};\n'})}),"\n",(0,d.jsx)(n.h2,{id:"table-of-contents",children:"Table of Contents"}),"\n",(0,d.jsxs)(n.p,{children:["You can adjust the default table of contents via ",(0,d.jsx)(n.code,{children:"themeConfig.tableOfContents"}),"."]}),"\n",(0,d.jsx)(t.Z,{children:(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"Name"}),(0,d.jsx)(n.th,{children:"Type"}),(0,d.jsx)(n.th,{children:"Default"}),(0,d.jsx)(n.th,{children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"minHeadingLevel"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"number"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"2"})}),(0,d.jsx)(n.td,{children:"The minimum heading level shown in the table of contents. Must be between 2 and 6 and lower or equal to the max value."})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"maxHeadingLevel"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"number"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"3"})}),(0,d.jsx)(n.td,{children:"Max heading level displayed in the TOC. Should be an integer between 2 and 6."})]})]})]})}),"\n",(0,d.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // highlight-start\n tableOfContents: {\n minHeadingLevel: 2,\n maxHeadingLevel: 5,\n },\n // highlight-end\n },\n};\n"})}),"\n",(0,d.jsx)(n.h2,{id:"hooks",children:"Hooks"}),"\n",(0,d.jsx)(n.h3,{id:"use-color-mode",children:(0,d.jsx)(n.code,{children:"useColorMode"})}),"\n",(0,d.jsx)(n.p,{children:"A React hook to access the color context. This context contains functions for setting light and dark mode and exposes boolean variable, indicating which mode is currently in use."}),"\n",(0,d.jsx)(n.p,{children:"Usage example:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-jsx",children:"import React from 'react';\n// highlight-next-line\nimport {useColorMode} from '@docusaurus/theme-common';\n\nconst Example = () => {\n // highlight-next-line\n const {colorMode, setColorMode} = useColorMode();\n\n return
Dark mode is now {colorMode === 'dark' ? 'on' : 'off'}
;\n};\n"})}),"\n",(0,d.jsxs)(n.admonition,{type:"note",children:[(0,d.jsxs)(n.p,{children:["The component calling ",(0,d.jsx)(n.code,{children:"useColorMode"})," must be a child of the ",(0,d.jsx)(n.code,{children:"Layout"})," component."]}),(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-jsx",children:"function ExamplePage() {\n return (\n \n \n \n );\n}\n"})})]}),"\n",(0,d.jsx)(n.h2,{id:"i18n",children:"i18n"}),"\n",(0,d.jsxs)(n.p,{children:["Read the ",(0,d.jsx)(n.a,{href:"/docs/i18n/introduction",children:"i18n introduction"})," first."]}),"\n",(0,d.jsx)(n.h3,{id:"translation-files-location",children:"Translation files location"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsxs)(n.li,{children:[(0,d.jsx)(n.strong,{children:"Base path"}),": ",(0,d.jsx)(n.code,{children:"website/i18n/[locale]/docusaurus-theme-[themeName]"})]}),"\n",(0,d.jsxs)(n.li,{children:[(0,d.jsx)(n.strong,{children:"Multi-instance path"}),": N/A"]}),"\n",(0,d.jsxs)(n.li,{children:[(0,d.jsx)(n.strong,{children:"JSON files"}),": extracted with ",(0,d.jsx)(n.a,{href:"/docs/cli#docusaurus-write-translations-sitedir",children:(0,d.jsx)(n.code,{children:"docusaurus write-translations"})})]}),"\n",(0,d.jsxs)(n.li,{children:[(0,d.jsx)(n.strong,{children:"Markdown files"}),": N/A"]}),"\n"]}),"\n",(0,d.jsx)(n.h3,{id:"example-file-system-structure",children:"Example file-system structure"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"website/i18n/[locale]/docusaurus-theme-classic\n\u2502\n\u2502 # translations for the theme\n\u251c\u2500\u2500 navbar.json\n\u2514\u2500\u2500 footer.json\n"})})]})}function x(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(a,{...e})}):a(e)}},71670:(e,n,i)=>{i.d(n,{Z:()=>l,a:()=>r});var d=i(27378);const s={},t=d.createContext(s);function r(e){const n=d.useContext(t);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),d.createElement(t.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/048b0d50.4664a49f.js b/assets/js/048b0d50.4664a49f.js
deleted file mode 100644
index 1fa791031c..0000000000
--- a/assets/js/048b0d50.4664a49f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[45173],{61132:(e,n,t)=>{t.d(n,{Z:()=>o});var a=t(24246),r=(t(27378),t(40624));const i={tabItem:"tabItem_pnkT"};function o({children:e,hidden:n,className:t}){return(0,a.jsx)("div",{role:"tabpanel",className:(0,r.Z)(i.tabItem,t),hidden:n,children:e})}},97555:(e,n,t)=>{t.d(n,{Z:()=>C});var a=t(24246),r=t(27378),i=t(40624),o=t(75527),s=t(3620),l=t(44479),c=t(62821),u=t(52196),d=t(53589);function m(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function h(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):function(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})),e}function p(e){var n,t;return null!==(t=null===(n=r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.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 child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})))||void 0===n?void 0:n.filter(Boolean))&&void 0!==t?t:[]}function g(e){const{values:n,children:t}=e;return(0,r.useMemo)((()=>{const e=null!=n?n:function(e){return p(e).map((({props:{value:e,label:n,attributes:t,default:a}})=>({value:e,label:n,attributes:t,default:a})))}(t);return function(e){const n=(0,u.lx)(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 . Every value needs to be unique.`)}(e),e}),[n,t])}function f({value:e,tabValues:n}){return n.some((n=>n.value===e))}function v({queryString:e=!1,groupId:n}){const t=(0,s.k6)(),a=function({queryString:e=!1,groupId:n}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!n)throw new Error('Docusaurus error: The 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 null!=n?n:null}({queryString:e,groupId:n}),i=(0,c._X)(a),o=(0,r.useCallback)((e=>{if(!a)return;const n=new URLSearchParams(t.location.search);n.set(a,e),t.replace(h(function(e){for(var n=1;nfunction({defaultValue:e,tabValues:n}){if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(e){if(!f({value:e,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}var t;const a=null!==(t=n.find((e=>e.default)))&&void 0!==t?t:n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:n,tabValues:i}))),[c,u]=v({queryString:t,groupId:a}),[m,h]=function({groupId:e}){const n=function(e){return e?`docusaurus.tab.${e}`:null}(e),[t,a]=(0,d.Nk)(n);return[t,(0,r.useCallback)((e=>{n&&a.set(e)}),[n,a])]}({groupId:a}),p=(()=>{const e=null!=c?c:m;return f({value:e,tabValues:i})?e:null})();(0,l.Z)((()=>{p&&s(p)}),[p]);return{selectedValue:o,selectValue:(0,r.useCallback)((e=>{if(!f({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);s(e),u(e),h(e)}),[u,h,i]),tabValues:i}}var x=t(29088);const y={tabList:"tabList_Qoir",tabItem:"tabItem_AQgk"};function k(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function j(e){for(var n=1;n{const n=e.currentTarget,a=l.indexOf(n),i=s[a].value;i!==t&&(c(n),r(i))},d=e=>{let n=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{const a=l.indexOf(e.currentTarget)+1;var t;n=null!==(t=l[a])&&void 0!==t?t:l[0];break}case"ArrowLeft":{const t=l.indexOf(e.currentTarget)-1;var a;n=null!==(a=l[t])&&void 0!==a?a:l[l.length-1];break}}null==n||n.focus()};return(0,a.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":n},e),children:s.map((({value:e,label:n,attributes:r})=>(0,a.jsx)("li",w(j({role:"tab",tabIndex:t===e?0:-1,"aria-selected":t===e,ref:e=>l.push(e),onKeyDown:d,onClick:u},r),{className:(0,i.Z)("tabs__item",y.tabItem,null==r?void 0:r.className,{"tabs__item--active":t===e}),children:null!=n?n:e}),e)))})}function q({lazy:e,children:n,selectedValue:t}){const o=(Array.isArray(n)?n:[n]).filter(Boolean);if(e){const e=o.find((e=>e.props.value===t));return e?(0,r.cloneElement)(e,{className:(0,i.Z)("margin-top--md",e.props.className)}):null}return(0,a.jsx)("div",{className:"margin-top--md",children:o.map(((e,n)=>(0,r.cloneElement)(e,{key:n,hidden:e.props.value!==t})))})}function D(e){const n=b(e);return(0,a.jsxs)("div",{className:(0,i.Z)("tabs-container",y.tabList),children:[(0,a.jsx)(O,j({},n,e)),(0,a.jsx)(q,j({},n,e))]})}function C(e){const n=(0,x.Z)();return(0,a.jsx)(D,w(j({},e),{children:p(e.children)}),String(n))}},57904:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>u,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>c,toc:()=>d});var a=t(24246),r=t(71670),i=t(97555),o=t(61132);const s={},l="Diagram Examples",c={type:"mdx",permalink:"/tests/pages/diagrams",source:"@site/_dogfooding/_pages tests/diagrams.mdx",title:"Diagram Examples",description:"Invalid Diagrams",frontMatter:{},lastUpdatedBy:"yujonglee",lastUpdatedAt:1722518584e3,editUrl:"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/diagrams.mdx",unlisted:!1},u={},d=[{value:"Invalid Diagrams",id:"invalid-diagrams",level:2},{value:"Invalid type",id:"invalid-type",level:3},{value:"Invalid content",id:"invalid-content",level:3},{value:"Sequence Diagram",id:"sequence-diagram",level:2},{value:"Sequence Diagram (forest theme directive)",id:"sequence-diagram-forest-theme-directive",level:2},{value:"Gantt Chart",id:"gantt-chart",level:2},{value:"Flow Chart",id:"flow-chart",level:2},{value:"With Markdown:",id:"with-markdown",level:3},{value:"Class Diagram",id:"class-diagram",level:2},{value:"State Diagram",id:"state-diagram",level:2},{value:"Entity Relationship Diagram",id:"entity-relationship-diagram",level:2},{value:"User Journey",id:"user-journey",level:2},{value:"Pie Chart",id:"pie-chart",level:2},{value:"Requirement Diagram",id:"requirement-diagram",level:2},{value:"Gitgraph (Git) Diagram",id:"gitgraph-git-diagram",level:2},{value:"Mermaid in tabs",id:"mermaid-in-tabs",level:2},{value:"Mindmap",id:"mindmap",level:2},{value:"Quadrant Chart",id:"quadrant-chart",level:2}];function m(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",mermaid:"mermaid",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"diagram-examples",children:"Diagram Examples"})}),"\n",(0,a.jsx)(n.h2,{id:"invalid-diagrams",children:"Invalid Diagrams"}),"\n",(0,a.jsx)(n.p,{children:"Those errors should not crash the whole page"}),"\n",(0,a.jsx)(n.h3,{id:"invalid-type",children:"Invalid type"}),"\n",(0,a.jsx)(n.mermaid,{value:"badType\n participant Alice\n participant Bob"}),"\n",(0,a.jsx)(n.h3,{id:"invalid-content",children:"Invalid content"}),"\n",(0,a.jsx)(n.mermaid,{value:"sequenceDiagram\n badInstruction Alice\n participant Bob"}),"\n",(0,a.jsx)(n.h2,{id:"sequence-diagram",children:"Sequence Diagram"}),"\n",(0,a.jsx)(n.mermaid,{value:"sequenceDiagram\n participant Alice\n participant Bob\n Alice->>John: Hello John, how are you?\n loop Health check\n John->>John: Fight against hypochondria\n end\n Note right of John: Rational thoughts prevail!\n John--\x3e>Alice: Great!\n John->>Bob: How about you?\n Bob--\x3e>John: Jolly good!"}),"\n",(0,a.jsx)(n.h2,{id:"sequence-diagram-forest-theme-directive",children:"Sequence Diagram (forest theme directive)"}),"\n",(0,a.jsx)(n.p,{children:"It is possible to override default config locally with Mermaid text directives such as:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{children:'%%{init: { "theme": "forest" } }%%\n'})}),"\n",(0,a.jsx)(n.mermaid,{value:'%%{init: { "theme": "forest" } }%%\n\nsequenceDiagram\n participant Alice\n participant Bob\n Alice->>John: Hello John, how are you?\n loop Health check\n John->>John: Fight against hypochondria\n end\n Note right of John: Rational thoughts prevail!\n John--\x3e>Alice: Great!\n John->>Bob: How about you?\n Bob--\x3e>John: Jolly good!'}),"\n",(0,a.jsx)(n.h2,{id:"gantt-chart",children:"Gantt Chart"}),"\n",(0,a.jsx)(n.mermaid,{value:"gantt\ndateFormat YYYY-MM-DD\ntitle Adding GANTT diagram to mermaid\nexcludes weekdays 2014-01-10\n\nsection A section\nCompleted task :done, des1, 2014-01-06,2014-01-08\nActive task :active, des2, 2014-01-09, 3d\nFuture task : des3, after des2, 5d\nFuture task2 : des4, after des3, 5d"}),"\n",(0,a.jsx)(n.h2,{id:"flow-chart",children:"Flow Chart"}),"\n",(0,a.jsx)(n.mermaid,{value:"flowchart TD\n A[Start] --\x3e B{Is it?}\n B --\x3e|Yes| C[OK]\n C --\x3e D[Rethink]\n D --\x3e B\n B ----\x3e|No| E[End]"}),"\n",(0,a.jsx)(n.h3,{id:"with-markdown",children:"With Markdown:"}),"\n",(0,a.jsx)(n.mermaid,{value:'flowchart LR\n markdown["`This **is** _Markdown_`"]\n newLines["`Line1\n Line 2\n Line 3`"]\n markdown --\x3e newLines'}),"\n",(0,a.jsx)(n.h2,{id:"class-diagram",children:"Class Diagram"}),"\n",(0,a.jsx)(n.mermaid,{value:" classDiagram\n Animal <|-- Duck\n Animal <|-- Fish\n Animal <|-- Zebra\n Animal : +int age\n Animal : +String gender\n Animal: +isMammal()\n Animal: +mate()\n class Duck{\n +String beakColor\n +swim()\n +quack()\n }\n class Fish{\n -int sizeInFeet\n -canEat()\n }\n class Zebra{\n +bool is_wild\n +run()\n }"}),"\n",(0,a.jsx)(n.h2,{id:"state-diagram",children:"State Diagram"}),"\n",(0,a.jsx)(n.mermaid,{value:"stateDiagram-v2\n [*] --\x3e Active\n\n state Active {\n [*] --\x3e NumLockOff\n NumLockOff --\x3e NumLockOn : EvNumLockPressed\n NumLockOn --\x3e NumLockOff : EvNumLockPressed\n --\n [*] --\x3e CapsLockOff\n CapsLockOff --\x3e CapsLockOn : EvCapsLockPressed\n CapsLockOn --\x3e CapsLockOff : EvCapsLockPressed\n --\n [*] --\x3e ScrollLockOff\n ScrollLockOff --\x3e ScrollLockOn : EvScrollLockPressed\n ScrollLockOn --\x3e ScrollLockOff : EvScrollLockPressed\n }"}),"\n",(0,a.jsx)(n.h2,{id:"entity-relationship-diagram",children:"Entity Relationship Diagram"}),"\n",(0,a.jsx)(n.mermaid,{value:"erDiagram\n CAR ||--o{ NAMED-DRIVER : allows\n CAR {\n string registrationNumber\n string make\n string model\n }\n PERSON ||--o{ NAMED-DRIVER : is\n PERSON {\n string firstName\n string lastName\n int age\n }"}),"\n",(0,a.jsx)(n.h2,{id:"user-journey",children:"User Journey"}),"\n",(0,a.jsx)(n.mermaid,{value:"journey\n title My working day\n section Go to work\n Make tea: 5: Me\n Go upstairs: 3: Me\n Do work: 1: Me, Cat\n section Go home\n Go downstairs: 5: Me\n Sit down: 5: Me"}),"\n",(0,a.jsx)(n.admonition,{type:"note",children:(0,a.jsxs)(n.p,{children:["If there's too much space above it's due to a ",(0,a.jsx)(n.a,{href:"https://github.com/mermaid-js/mermaid/issues/3501",children:"Mermaid bug"})]})}),"\n",(0,a.jsx)(n.h2,{id:"pie-chart",children:"Pie Chart"}),"\n",(0,a.jsx)(n.mermaid,{value:'pie showData\n title Key elements in Product X\n "Calcium" : 42.96\n "Potassium" : 50.05\n "Magnesium" : 10.01\n "Iron" : 5'}),"\n",(0,a.jsx)(n.h2,{id:"requirement-diagram",children:"Requirement Diagram"}),"\n",(0,a.jsx)(n.mermaid,{value:' requirementDiagram\n\n requirement test_req {\n id: 1\n text: the test text.\n risk: high\n verifymethod: test\n }\n\n functionalRequirement test_req2 {\n id: 1.1\n text: the second test text.\n risk: low\n verifymethod: inspection\n }\n\n performanceRequirement test_req3 {\n id: 1.2\n text: the third test text.\n risk: medium\n verifymethod: demonstration\n }\n\n interfaceRequirement test_req4 {\n id: 1.2.1\n text: the fourth test text.\n risk: medium\n verifymethod: analysis\n }\n\n physicalRequirement test_req5 {\n id: 1.2.2\n text: the fifth test text.\n risk: medium\n verifymethod: analysis\n }\n\n designConstraint test_req6 {\n id: 1.2.3\n text: the sixth test text.\n risk: medium\n verifymethod: analysis\n }\n\n element test_entity {\n type: simulation\n }\n\n element test_entity2 {\n type: word doc\n docRef: reqs/test_entity\n }\n\n element test_entity3 {\n type: "test suite"\n docRef: github.com/all_the_tests\n }\n\n\n test_entity - satisfies -> test_req2\n test_req - traces -> test_req2\n test_req - contains -> test_req3\n test_req3 - contains -> test_req4\n test_req4 - derives -> test_req5\n test_req5 - refines -> test_req6\n test_entity3 - verifies -> test_req5\n test_req <- copies - test_entity2'}),"\n",(0,a.jsx)(n.h2,{id:"gitgraph-git-diagram",children:"Gitgraph (Git) Diagram"}),"\n",(0,a.jsx)(n.mermaid,{value:"%%{init: { 'logLevel': 'debug', 'theme': 'base' } }%%\n gitGraph\n commit\n branch hotfix\n checkout hotfix\n commit\n branch develop\n checkout develop\n commit id:\"ash\" tag:\"abc\"\n branch featureB\n checkout featureB\n commit type:HIGHLIGHT\n checkout main\n checkout hotfix\n commit type:NORMAL\n checkout develop\n commit type:REVERSE\n checkout featureB\n commit\n checkout main\n merge hotfix\n checkout featureB\n commit\n checkout develop\n branch featureA\n commit\n checkout develop\n merge hotfix\n checkout featureA\n commit\n checkout featureB\n commit\n checkout develop\n merge featureA\n branch release\n checkout release\n commit\n checkout main\n commit\n checkout release\n merge main\n checkout develop\n merge release"}),"\n",(0,a.jsx)(n.h2,{id:"mermaid-in-tabs",children:"Mermaid in tabs"}),"\n","\n",(0,a.jsxs)(i.Z,{children:[(0,a.jsxs)(o.Z,{value:"tab-a",children:[(0,a.jsx)(n.p,{children:"The following mermaid diagram is shown:"}),(0,a.jsx)(n.mermaid,{value:"graph LR\n a ---\x3e c(10)\n b ---\x3e c(10)"})]}),(0,a.jsxs)(o.Z,{value:"tab-b",children:[(0,a.jsx)(n.p,{children:"This mermaid diagram is not displayed:"}),(0,a.jsx)(n.mermaid,{value:"graph LR\n d ---\x3e z(42)\n e ---\x3e z(42)"})]})]}),"\n",(0,a.jsx)(n.h2,{id:"mindmap",children:"Mindmap"}),"\n",(0,a.jsx)(n.mermaid,{value:"mindmap\n root((conda-forge))\n (Repos)\n (Package building)\n [*-feedstock]\n [staged-recipes]\n [cdt-builds]\n [msys2-recipes]\n (Maintenance)\n [admin-requests]\n [repodata-patches]\n (Configuration)\n [.github]\n [.cirun]\n [conda-forge-pinning]\n [conda-forge-ci-setup]\n [docker-images]\n [conda-smithy]\n (Automations)\n [admin-migrations]\n [artifact-validation]\n [regro/cf-scripts]\n [conda-forge-webservices]\n [regro/cf-graph-countyfair]\n [regro/libcfgraph + regro/libcflib]\n [feedstock-outputs]\n (Communications)\n [conda-forge.github.io]\n [blog]\n [status]\n [by-the-numbers]\n [conda-forge-status-monitor]\n [feedstocks]\n (Bots & apps)\n [conda-forge-admin]\n [conda-forge-bot]\n [conda-forge-coordinator]\n [conda-forge-daemon]\n [conda-forge-linter]\n [conda-forge-manager]\n [conda-forge-status]\n [regro-cf-autotick-bot]\n [conda-forge-curator]\n [conda-forge-webservices]\n (Delivery)\n [anaconda.org]\n [ghcr.io]\n [quay.io]\n (Installers)\n Miniforge\n Mambaforge\n (CI for builds)\n Azure Pipelines\n Travis CI\n cirun.io\n (Infra)\n Heroku\n Github Actions\n Circle CI"}),"\n",(0,a.jsx)(n.h2,{id:"quadrant-chart",children:"Quadrant Chart"}),"\n",(0,a.jsx)(n.mermaid,{value:"quadrantChart\n title Reach and engagement of campaigns\n x-axis Low Reach --\x3e High Reach\n y-axis Low Engagement --\x3e High Engagement\n quadrant-1 We should expand\n quadrant-2 Need to promote\n quadrant-3 Re-evaluate\n quadrant-4 May be improved\n Campaign A: [0.3, 0.6]\n Campaign B: [0.45, 0.23]\n Campaign C: [0.57, 0.69]\n Campaign D: [0.78, 0.34]\n Campaign E: [0.40, 0.34]\n Campaign F: [0.35, 0.78]"})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(m,{...e})}):m(e)}},71670:(e,n,t)=>{t.d(n,{Z:()=>s,a:()=>o});var a=t(27378);const r={},i=a.createContext(r);function o(e){const n=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),a.createElement(i.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/048b0d50.f8dfe4c5.js b/assets/js/048b0d50.f8dfe4c5.js
new file mode 100644
index 0000000000..3740194a07
--- /dev/null
+++ b/assets/js/048b0d50.f8dfe4c5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[45173],{61132:(e,n,t)=>{t.d(n,{Z:()=>o});var a=t(24246),r=(t(27378),t(40624));const i={tabItem:"tabItem_pnkT"};function o({children:e,hidden:n,className:t}){return(0,a.jsx)("div",{role:"tabpanel",className:(0,r.Z)(i.tabItem,t),hidden:n,children:e})}},97555:(e,n,t)=>{t.d(n,{Z:()=>C});var a=t(24246),r=t(27378),i=t(40624),o=t(75527),s=t(3620),l=t(44479),c=t(62821),u=t(52196),d=t(53589);function m(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function h(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):function(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})),e}function p(e){var n,t;return null!==(t=null===(n=r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.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 child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})))||void 0===n?void 0:n.filter(Boolean))&&void 0!==t?t:[]}function g(e){const{values:n,children:t}=e;return(0,r.useMemo)((()=>{const e=null!=n?n:function(e){return p(e).map((({props:{value:e,label:n,attributes:t,default:a}})=>({value:e,label:n,attributes:t,default:a})))}(t);return function(e){const n=(0,u.lx)(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 . Every value needs to be unique.`)}(e),e}),[n,t])}function f({value:e,tabValues:n}){return n.some((n=>n.value===e))}function v({queryString:e=!1,groupId:n}){const t=(0,s.k6)(),a=function({queryString:e=!1,groupId:n}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!n)throw new Error('Docusaurus error: The 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 null!=n?n:null}({queryString:e,groupId:n}),i=(0,c._X)(a),o=(0,r.useCallback)((e=>{if(!a)return;const n=new URLSearchParams(t.location.search);n.set(a,e),t.replace(h(function(e){for(var n=1;nfunction({defaultValue:e,tabValues:n}){if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(e){if(!f({value:e,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}var t;const a=null!==(t=n.find((e=>e.default)))&&void 0!==t?t:n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:n,tabValues:i}))),[c,u]=v({queryString:t,groupId:a}),[m,h]=function({groupId:e}){const n=function(e){return e?`docusaurus.tab.${e}`:null}(e),[t,a]=(0,d.Nk)(n);return[t,(0,r.useCallback)((e=>{n&&a.set(e)}),[n,a])]}({groupId:a}),p=(()=>{const e=null!=c?c:m;return f({value:e,tabValues:i})?e:null})();(0,l.Z)((()=>{p&&s(p)}),[p]);return{selectedValue:o,selectValue:(0,r.useCallback)((e=>{if(!f({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);s(e),u(e),h(e)}),[u,h,i]),tabValues:i}}var x=t(29088);const y={tabList:"tabList_Qoir",tabItem:"tabItem_AQgk"};function k(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function j(e){for(var n=1;n{const n=e.currentTarget,a=l.indexOf(n),i=s[a].value;i!==t&&(c(n),r(i))},d=e=>{let n=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{const a=l.indexOf(e.currentTarget)+1;var t;n=null!==(t=l[a])&&void 0!==t?t:l[0];break}case"ArrowLeft":{const t=l.indexOf(e.currentTarget)-1;var a;n=null!==(a=l[t])&&void 0!==a?a:l[l.length-1];break}}null==n||n.focus()};return(0,a.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":n},e),children:s.map((({value:e,label:n,attributes:r})=>(0,a.jsx)("li",w(j({role:"tab",tabIndex:t===e?0:-1,"aria-selected":t===e,ref:e=>l.push(e),onKeyDown:d,onClick:u},r),{className:(0,i.Z)("tabs__item",y.tabItem,null==r?void 0:r.className,{"tabs__item--active":t===e}),children:null!=n?n:e}),e)))})}function q({lazy:e,children:n,selectedValue:t}){const o=(Array.isArray(n)?n:[n]).filter(Boolean);if(e){const e=o.find((e=>e.props.value===t));return e?(0,r.cloneElement)(e,{className:(0,i.Z)("margin-top--md",e.props.className)}):null}return(0,a.jsx)("div",{className:"margin-top--md",children:o.map(((e,n)=>(0,r.cloneElement)(e,{key:n,hidden:e.props.value!==t})))})}function D(e){const n=b(e);return(0,a.jsxs)("div",{className:(0,i.Z)("tabs-container",y.tabList),children:[(0,a.jsx)(O,j({},n,e)),(0,a.jsx)(q,j({},n,e))]})}function C(e){const n=(0,x.Z)();return(0,a.jsx)(D,w(j({},e),{children:p(e.children)}),String(n))}},57904:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>u,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>c,toc:()=>d});var a=t(24246),r=t(71670),i=t(97555),o=t(61132);const s={},l="Diagram Examples",c={type:"mdx",permalink:"/tests/pages/diagrams",source:"@site/_dogfooding/_pages tests/diagrams.mdx",title:"Diagram Examples",description:"Invalid Diagrams",frontMatter:{},lastUpdatedBy:"ozaki",lastUpdatedAt:1722526249e3,editUrl:"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/diagrams.mdx",unlisted:!1},u={},d=[{value:"Invalid Diagrams",id:"invalid-diagrams",level:2},{value:"Invalid type",id:"invalid-type",level:3},{value:"Invalid content",id:"invalid-content",level:3},{value:"Sequence Diagram",id:"sequence-diagram",level:2},{value:"Sequence Diagram (forest theme directive)",id:"sequence-diagram-forest-theme-directive",level:2},{value:"Gantt Chart",id:"gantt-chart",level:2},{value:"Flow Chart",id:"flow-chart",level:2},{value:"With Markdown:",id:"with-markdown",level:3},{value:"Class Diagram",id:"class-diagram",level:2},{value:"State Diagram",id:"state-diagram",level:2},{value:"Entity Relationship Diagram",id:"entity-relationship-diagram",level:2},{value:"User Journey",id:"user-journey",level:2},{value:"Pie Chart",id:"pie-chart",level:2},{value:"Requirement Diagram",id:"requirement-diagram",level:2},{value:"Gitgraph (Git) Diagram",id:"gitgraph-git-diagram",level:2},{value:"Mermaid in tabs",id:"mermaid-in-tabs",level:2},{value:"Mindmap",id:"mindmap",level:2},{value:"Quadrant Chart",id:"quadrant-chart",level:2}];function m(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",mermaid:"mermaid",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"diagram-examples",children:"Diagram Examples"})}),"\n",(0,a.jsx)(n.h2,{id:"invalid-diagrams",children:"Invalid Diagrams"}),"\n",(0,a.jsx)(n.p,{children:"Those errors should not crash the whole page"}),"\n",(0,a.jsx)(n.h3,{id:"invalid-type",children:"Invalid type"}),"\n",(0,a.jsx)(n.mermaid,{value:"badType\n participant Alice\n participant Bob"}),"\n",(0,a.jsx)(n.h3,{id:"invalid-content",children:"Invalid content"}),"\n",(0,a.jsx)(n.mermaid,{value:"sequenceDiagram\n badInstruction Alice\n participant Bob"}),"\n",(0,a.jsx)(n.h2,{id:"sequence-diagram",children:"Sequence Diagram"}),"\n",(0,a.jsx)(n.mermaid,{value:"sequenceDiagram\n participant Alice\n participant Bob\n Alice->>John: Hello John, how are you?\n loop Health check\n John->>John: Fight against hypochondria\n end\n Note right of John: Rational thoughts prevail!\n John--\x3e>Alice: Great!\n John->>Bob: How about you?\n Bob--\x3e>John: Jolly good!"}),"\n",(0,a.jsx)(n.h2,{id:"sequence-diagram-forest-theme-directive",children:"Sequence Diagram (forest theme directive)"}),"\n",(0,a.jsx)(n.p,{children:"It is possible to override default config locally with Mermaid text directives such as:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{children:'%%{init: { "theme": "forest" } }%%\n'})}),"\n",(0,a.jsx)(n.mermaid,{value:'%%{init: { "theme": "forest" } }%%\n\nsequenceDiagram\n participant Alice\n participant Bob\n Alice->>John: Hello John, how are you?\n loop Health check\n John->>John: Fight against hypochondria\n end\n Note right of John: Rational thoughts prevail!\n John--\x3e>Alice: Great!\n John->>Bob: How about you?\n Bob--\x3e>John: Jolly good!'}),"\n",(0,a.jsx)(n.h2,{id:"gantt-chart",children:"Gantt Chart"}),"\n",(0,a.jsx)(n.mermaid,{value:"gantt\ndateFormat YYYY-MM-DD\ntitle Adding GANTT diagram to mermaid\nexcludes weekdays 2014-01-10\n\nsection A section\nCompleted task :done, des1, 2014-01-06,2014-01-08\nActive task :active, des2, 2014-01-09, 3d\nFuture task : des3, after des2, 5d\nFuture task2 : des4, after des3, 5d"}),"\n",(0,a.jsx)(n.h2,{id:"flow-chart",children:"Flow Chart"}),"\n",(0,a.jsx)(n.mermaid,{value:"flowchart TD\n A[Start] --\x3e B{Is it?}\n B --\x3e|Yes| C[OK]\n C --\x3e D[Rethink]\n D --\x3e B\n B ----\x3e|No| E[End]"}),"\n",(0,a.jsx)(n.h3,{id:"with-markdown",children:"With Markdown:"}),"\n",(0,a.jsx)(n.mermaid,{value:'flowchart LR\n markdown["`This **is** _Markdown_`"]\n newLines["`Line1\n Line 2\n Line 3`"]\n markdown --\x3e newLines'}),"\n",(0,a.jsx)(n.h2,{id:"class-diagram",children:"Class Diagram"}),"\n",(0,a.jsx)(n.mermaid,{value:" classDiagram\n Animal <|-- Duck\n Animal <|-- Fish\n Animal <|-- Zebra\n Animal : +int age\n Animal : +String gender\n Animal: +isMammal()\n Animal: +mate()\n class Duck{\n +String beakColor\n +swim()\n +quack()\n }\n class Fish{\n -int sizeInFeet\n -canEat()\n }\n class Zebra{\n +bool is_wild\n +run()\n }"}),"\n",(0,a.jsx)(n.h2,{id:"state-diagram",children:"State Diagram"}),"\n",(0,a.jsx)(n.mermaid,{value:"stateDiagram-v2\n [*] --\x3e Active\n\n state Active {\n [*] --\x3e NumLockOff\n NumLockOff --\x3e NumLockOn : EvNumLockPressed\n NumLockOn --\x3e NumLockOff : EvNumLockPressed\n --\n [*] --\x3e CapsLockOff\n CapsLockOff --\x3e CapsLockOn : EvCapsLockPressed\n CapsLockOn --\x3e CapsLockOff : EvCapsLockPressed\n --\n [*] --\x3e ScrollLockOff\n ScrollLockOff --\x3e ScrollLockOn : EvScrollLockPressed\n ScrollLockOn --\x3e ScrollLockOff : EvScrollLockPressed\n }"}),"\n",(0,a.jsx)(n.h2,{id:"entity-relationship-diagram",children:"Entity Relationship Diagram"}),"\n",(0,a.jsx)(n.mermaid,{value:"erDiagram\n CAR ||--o{ NAMED-DRIVER : allows\n CAR {\n string registrationNumber\n string make\n string model\n }\n PERSON ||--o{ NAMED-DRIVER : is\n PERSON {\n string firstName\n string lastName\n int age\n }"}),"\n",(0,a.jsx)(n.h2,{id:"user-journey",children:"User Journey"}),"\n",(0,a.jsx)(n.mermaid,{value:"journey\n title My working day\n section Go to work\n Make tea: 5: Me\n Go upstairs: 3: Me\n Do work: 1: Me, Cat\n section Go home\n Go downstairs: 5: Me\n Sit down: 5: Me"}),"\n",(0,a.jsx)(n.admonition,{type:"note",children:(0,a.jsxs)(n.p,{children:["If there's too much space above it's due to a ",(0,a.jsx)(n.a,{href:"https://github.com/mermaid-js/mermaid/issues/3501",children:"Mermaid bug"})]})}),"\n",(0,a.jsx)(n.h2,{id:"pie-chart",children:"Pie Chart"}),"\n",(0,a.jsx)(n.mermaid,{value:'pie showData\n title Key elements in Product X\n "Calcium" : 42.96\n "Potassium" : 50.05\n "Magnesium" : 10.01\n "Iron" : 5'}),"\n",(0,a.jsx)(n.h2,{id:"requirement-diagram",children:"Requirement Diagram"}),"\n",(0,a.jsx)(n.mermaid,{value:' requirementDiagram\n\n requirement test_req {\n id: 1\n text: the test text.\n risk: high\n verifymethod: test\n }\n\n functionalRequirement test_req2 {\n id: 1.1\n text: the second test text.\n risk: low\n verifymethod: inspection\n }\n\n performanceRequirement test_req3 {\n id: 1.2\n text: the third test text.\n risk: medium\n verifymethod: demonstration\n }\n\n interfaceRequirement test_req4 {\n id: 1.2.1\n text: the fourth test text.\n risk: medium\n verifymethod: analysis\n }\n\n physicalRequirement test_req5 {\n id: 1.2.2\n text: the fifth test text.\n risk: medium\n verifymethod: analysis\n }\n\n designConstraint test_req6 {\n id: 1.2.3\n text: the sixth test text.\n risk: medium\n verifymethod: analysis\n }\n\n element test_entity {\n type: simulation\n }\n\n element test_entity2 {\n type: word doc\n docRef: reqs/test_entity\n }\n\n element test_entity3 {\n type: "test suite"\n docRef: github.com/all_the_tests\n }\n\n\n test_entity - satisfies -> test_req2\n test_req - traces -> test_req2\n test_req - contains -> test_req3\n test_req3 - contains -> test_req4\n test_req4 - derives -> test_req5\n test_req5 - refines -> test_req6\n test_entity3 - verifies -> test_req5\n test_req <- copies - test_entity2'}),"\n",(0,a.jsx)(n.h2,{id:"gitgraph-git-diagram",children:"Gitgraph (Git) Diagram"}),"\n",(0,a.jsx)(n.mermaid,{value:"%%{init: { 'logLevel': 'debug', 'theme': 'base' } }%%\n gitGraph\n commit\n branch hotfix\n checkout hotfix\n commit\n branch develop\n checkout develop\n commit id:\"ash\" tag:\"abc\"\n branch featureB\n checkout featureB\n commit type:HIGHLIGHT\n checkout main\n checkout hotfix\n commit type:NORMAL\n checkout develop\n commit type:REVERSE\n checkout featureB\n commit\n checkout main\n merge hotfix\n checkout featureB\n commit\n checkout develop\n branch featureA\n commit\n checkout develop\n merge hotfix\n checkout featureA\n commit\n checkout featureB\n commit\n checkout develop\n merge featureA\n branch release\n checkout release\n commit\n checkout main\n commit\n checkout release\n merge main\n checkout develop\n merge release"}),"\n",(0,a.jsx)(n.h2,{id:"mermaid-in-tabs",children:"Mermaid in tabs"}),"\n","\n",(0,a.jsxs)(i.Z,{children:[(0,a.jsxs)(o.Z,{value:"tab-a",children:[(0,a.jsx)(n.p,{children:"The following mermaid diagram is shown:"}),(0,a.jsx)(n.mermaid,{value:"graph LR\n a ---\x3e c(10)\n b ---\x3e c(10)"})]}),(0,a.jsxs)(o.Z,{value:"tab-b",children:[(0,a.jsx)(n.p,{children:"This mermaid diagram is not displayed:"}),(0,a.jsx)(n.mermaid,{value:"graph LR\n d ---\x3e z(42)\n e ---\x3e z(42)"})]})]}),"\n",(0,a.jsx)(n.h2,{id:"mindmap",children:"Mindmap"}),"\n",(0,a.jsx)(n.mermaid,{value:"mindmap\n root((conda-forge))\n (Repos)\n (Package building)\n [*-feedstock]\n [staged-recipes]\n [cdt-builds]\n [msys2-recipes]\n (Maintenance)\n [admin-requests]\n [repodata-patches]\n (Configuration)\n [.github]\n [.cirun]\n [conda-forge-pinning]\n [conda-forge-ci-setup]\n [docker-images]\n [conda-smithy]\n (Automations)\n [admin-migrations]\n [artifact-validation]\n [regro/cf-scripts]\n [conda-forge-webservices]\n [regro/cf-graph-countyfair]\n [regro/libcfgraph + regro/libcflib]\n [feedstock-outputs]\n (Communications)\n [conda-forge.github.io]\n [blog]\n [status]\n [by-the-numbers]\n [conda-forge-status-monitor]\n [feedstocks]\n (Bots & apps)\n [conda-forge-admin]\n [conda-forge-bot]\n [conda-forge-coordinator]\n [conda-forge-daemon]\n [conda-forge-linter]\n [conda-forge-manager]\n [conda-forge-status]\n [regro-cf-autotick-bot]\n [conda-forge-curator]\n [conda-forge-webservices]\n (Delivery)\n [anaconda.org]\n [ghcr.io]\n [quay.io]\n (Installers)\n Miniforge\n Mambaforge\n (CI for builds)\n Azure Pipelines\n Travis CI\n cirun.io\n (Infra)\n Heroku\n Github Actions\n Circle CI"}),"\n",(0,a.jsx)(n.h2,{id:"quadrant-chart",children:"Quadrant Chart"}),"\n",(0,a.jsx)(n.mermaid,{value:"quadrantChart\n title Reach and engagement of campaigns\n x-axis Low Reach --\x3e High Reach\n y-axis Low Engagement --\x3e High Engagement\n quadrant-1 We should expand\n quadrant-2 Need to promote\n quadrant-3 Re-evaluate\n quadrant-4 May be improved\n Campaign A: [0.3, 0.6]\n Campaign B: [0.45, 0.23]\n Campaign C: [0.57, 0.69]\n Campaign D: [0.78, 0.34]\n Campaign E: [0.40, 0.34]\n Campaign F: [0.35, 0.78]"})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(m,{...e})}):m(e)}},71670:(e,n,t)=>{t.d(n,{Z:()=>s,a:()=>o});var a=t(27378);const r={},i=a.createContext(r);function o(e){const n=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),a.createElement(i.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/060daea9.1b0e6399.js b/assets/js/060daea9.1b0e6399.js
new file mode 100644
index 0000000000..50f089bf72
--- /dev/null
+++ b/assets/js/060daea9.1b0e6399.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[52991],{75490:(e,s,t)=>{t.d(s,{Z:()=>a});const a=t.p+"assets/images/social-card-8ca15c1adaeb77ca302178575136a0b6.png"},50510:(e,s,t)=>{t.d(s,{Z:()=>a});const a=t.p+"assets/images/social-card-8ca15c1adaeb77ca302178575136a0b6.png"},47835:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>n,metadata:()=>i,toc:()=>l});var a=t(24246),r=t(71670);const n={title:"Docusaurus 3.2",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2024-03-29T00:00:00.000Z")},o=void 0,i={permalink:"/blog/releases/3.2",editUrl:"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.2/index.mdx",source:"@site/blog/releases/3.2/index.mdx",title:"Docusaurus 3.2",description:"We are happy to announce Docusaurus 3.2.",date:"2024-03-29T00:00:00.000Z",tags:[{inline:!1,label:"Release",permalink:"/blog/tags/release",description:"Blog posts about Docusaurus' new releases"}],readingTime:3.475,hasTruncateMarker:!0,authors:[{name:"S\xe9bastien Lorber",title:"Docusaurus maintainer, This Week In React editor",url:"https://thisweekinreact.com",page:{permalink:"/blog/authors/slorber"},description:"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.\n",socials:{x:"https://x.com/sebastienlorber",linkedin:"https://www.linkedin.com/in/sebastienlorber/",github:"https://github.com/slorber",newsletter:"https://thisweekinreact.com"},imageURL:"https://github.com/slorber.png",key:"slorber"}],frontMatter:{title:"Docusaurus 3.2",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:"2024-03-29T00:00:00.000Z"},unlisted:!1,lastUpdatedAt:1722526249e3,lastUpdatedBy:"ozaki",prevItem:{title:"Docusaurus 3.3",permalink:"/blog/releases/3.3"},nextItem:{title:"Docusaurus 3.1",permalink:"/blog/releases/3.1"}},c={image:t(75490).Z,authorsImageUrls:[void 0]},l=[];function u(e){const s={a:"a",img:"img",p:"p",strong:"strong",...(0,r.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(s.p,{children:["We are happy to announce ",(0,a.jsx)(s.strong,{children:"Docusaurus 3.2"}),"."]}),"\n",(0,a.jsxs)(s.p,{children:["The upgrade should be easy: as explained in our ",(0,a.jsx)(s.a,{href:"/community/release-process",children:"release process documentation"}),", minor versions respect ",(0,a.jsx)(s.a,{href:"https://semver.org/",children:"Semantic Versioning"}),"."]}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.img,{alt:"Docusaurus blog post social card",src:t(50510).Z+"",width:"1200",height:"600"})})]})}function d(e={}){const{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(u,{...e})}):u(e)}},71670:(e,s,t)=>{t.d(s,{Z:()=>i,a:()=>o});var a=t(27378);const r={},n=a.createContext(r);function o(e){const s=a.useContext(n);return a.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),a.createElement(n.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/060daea9.bc1003f6.js b/assets/js/060daea9.bc1003f6.js
deleted file mode 100644
index 20f870d669..0000000000
--- a/assets/js/060daea9.bc1003f6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[52991],{75490:(e,s,t)=>{t.d(s,{Z:()=>a});const a=t.p+"assets/images/social-card-8ca15c1adaeb77ca302178575136a0b6.png"},50510:(e,s,t)=>{t.d(s,{Z:()=>a});const a=t.p+"assets/images/social-card-8ca15c1adaeb77ca302178575136a0b6.png"},47835:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>n,metadata:()=>i,toc:()=>l});var a=t(24246),r=t(71670);const n={title:"Docusaurus 3.2",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2024-03-29T00:00:00.000Z")},o=void 0,i={permalink:"/blog/releases/3.2",editUrl:"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.2/index.mdx",source:"@site/blog/releases/3.2/index.mdx",title:"Docusaurus 3.2",description:"We are happy to announce Docusaurus 3.2.",date:"2024-03-29T00:00:00.000Z",tags:[{inline:!1,label:"Release",permalink:"/blog/tags/release",description:"Blog posts about Docusaurus' new releases"}],readingTime:3.475,hasTruncateMarker:!0,authors:[{name:"S\xe9bastien Lorber",title:"Docusaurus maintainer, This Week In React editor",url:"https://thisweekinreact.com",socials:{x:"https://x.com/sebastienlorber",linkedin:"https://www.linkedin.com/in/sebastienlorber/",github:"https://github.com/slorber",newsletter:"https://thisweekinreact.com"},imageURL:"https://github.com/slorber.png",key:"slorber"}],frontMatter:{title:"Docusaurus 3.2",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:"2024-03-29T00:00:00.000Z"},unlisted:!1,lastUpdatedAt:1722518584e3,lastUpdatedBy:"yujonglee",prevItem:{title:"Docusaurus 3.3",permalink:"/blog/releases/3.3"},nextItem:{title:"Docusaurus 3.1",permalink:"/blog/releases/3.1"}},c={image:t(75490).Z,authorsImageUrls:[void 0]},l=[];function u(e){const s={a:"a",img:"img",p:"p",strong:"strong",...(0,r.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(s.p,{children:["We are happy to announce ",(0,a.jsx)(s.strong,{children:"Docusaurus 3.2"}),"."]}),"\n",(0,a.jsxs)(s.p,{children:["The upgrade should be easy: as explained in our ",(0,a.jsx)(s.a,{href:"/community/release-process",children:"release process documentation"}),", minor versions respect ",(0,a.jsx)(s.a,{href:"https://semver.org/",children:"Semantic Versioning"}),"."]}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.img,{alt:"Docusaurus blog post social card",src:t(50510).Z+"",width:"1200",height:"600"})})]})}function p(e={}){const{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(u,{...e})}):u(e)}},71670:(e,s,t)=>{t.d(s,{Z:()=>i,a:()=>o});var a=t(27378);const r={},n=a.createContext(r);function o(e){const s=a.useContext(n);return a.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),a.createElement(n.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/06c6ffc3.95a7109c.js b/assets/js/06c6ffc3.95a7109c.js
deleted file mode 100644
index 8b61148e20..0000000000
--- a/assets/js/06c6ffc3.95a7109c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[11007],{61132:(e,n,s)=>{s.d(n,{Z:()=>r});var t=s(24246),i=(s(27378),s(40624));const o={tabItem:"tabItem_pnkT"};function r({children:e,hidden:n,className:s}){return(0,t.jsx)("div",{role:"tabpanel",className:(0,i.Z)(o.tabItem,s),hidden:n,children:e})}},97555:(e,n,s)=>{s.d(n,{Z:()=>N});var t=s(24246),i=s(27378),o=s(40624),r=s(75527),l=s(3620),a=s(44479),c=s(62821),d=s(52196),h=s(53589);function u(e,n,s){return n in e?Object.defineProperty(e,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[n]=s,e}function p(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):function(e,n){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),s.push.apply(s,t)}return s}(Object(n)).forEach((function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(n,s))})),e}function g(e){var n,s;return null!==(s=null===(n=i.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,i.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 child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})))||void 0===n?void 0:n.filter(Boolean))&&void 0!==s?s:[]}function y(e){const{values:n,children:s}=e;return(0,i.useMemo)((()=>{const e=null!=n?n:function(e){return g(e).map((({props:{value:e,label:n,attributes:s,default:t}})=>({value:e,label:n,attributes:s,default:t})))}(s);return function(e){const n=(0,d.lx)(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 . Every value needs to be unique.`)}(e),e}),[n,s])}function m({value:e,tabValues:n}){return n.some((n=>n.value===e))}function j({queryString:e=!1,groupId:n}){const s=(0,l.k6)(),t=function({queryString:e=!1,groupId:n}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!n)throw new Error('Docusaurus error: The 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 null!=n?n:null}({queryString:e,groupId:n}),o=(0,c._X)(t),r=(0,i.useCallback)((e=>{if(!t)return;const n=new URLSearchParams(s.location.search);n.set(t,e),s.replace(p(function(e){for(var n=1;nfunction({defaultValue:e,tabValues:n}){if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(e){if(!m({value:e,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}var s;const t=null!==(s=n.find((e=>e.default)))&&void 0!==s?s:n[0];if(!t)throw new Error("Unexpected error: 0 tabValues");return t.value}({defaultValue:n,tabValues:o}))),[c,d]=j({queryString:s,groupId:t}),[u,p]=function({groupId:e}){const n=function(e){return e?`docusaurus.tab.${e}`:null}(e),[s,t]=(0,h.Nk)(n);return[s,(0,i.useCallback)((e=>{n&&t.set(e)}),[n,t])]}({groupId:t}),g=(()=>{const e=null!=c?c:u;return m({value:e,tabValues:o})?e:null})();(0,a.Z)((()=>{g&&l(g)}),[g]);return{selectedValue:r,selectValue:(0,i.useCallback)((e=>{if(!m({value:e,tabValues:o}))throw new Error(`Can't select invalid tab value=${e}`);l(e),d(e),p(e)}),[d,p,o]),tabValues:o}}var f=s(29088);const b={tabList:"tabList_Qoir",tabItem:"tabItem_AQgk"};function w(e,n,s){return n in e?Object.defineProperty(e,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[n]=s,e}function v(e){for(var n=1;n{const n=e.currentTarget,t=a.indexOf(n),o=l[t].value;o!==s&&(c(n),i(o))},h=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=a.indexOf(e.currentTarget)+1;var s;n=null!==(s=a[t])&&void 0!==s?s:a[0];break}case"ArrowLeft":{const s=a.indexOf(e.currentTarget)-1;var t;n=null!==(t=a[s])&&void 0!==t?t:a[a.length-1];break}}null==n||n.focus()};return(0,t.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":n},e),children:l.map((({value:e,label:n,attributes:i})=>(0,t.jsx)("li",k(v({role:"tab",tabIndex:s===e?0:-1,"aria-selected":s===e,ref:e=>a.push(e),onKeyDown:h,onClick:d},i),{className:(0,o.Z)("tabs__item",b.tabItem,null==i?void 0:i.className,{"tabs__item--active":s===e}),children:null!=n?n:e}),e)))})}function D({lazy:e,children:n,selectedValue:s}){const r=(Array.isArray(n)?n:[n]).filter(Boolean);if(e){const e=r.find((e=>e.props.value===s));return e?(0,i.cloneElement)(e,{className:(0,o.Z)("margin-top--md",e.props.className)}):null}return(0,t.jsx)("div",{className:"margin-top--md",children:r.map(((e,n)=>(0,i.cloneElement)(e,{key:n,hidden:e.props.value!==s})))})}function H(e){const n=x(e);return(0,t.jsxs)("div",{className:(0,o.Z)("tabs-container",b.tabList),children:[(0,t.jsx)(S,v({},n,e)),(0,t.jsx)(D,v({},n,e))]})}function N(e){const n=(0,f.Z)();return(0,t.jsx)(H,k(v({},e),{children:g(e.children)}),String(n))}},53351:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>p,frontMatter:()=>l,metadata:()=>c,toc:()=>h});var t=s(24246),i=s(71670),o=s(97555),r=s(61132);const l={description:"Deploy your Docusaurus app for production on a range of static site hosting services."},a="Deployment",c={id:"deployment",title:"Deployment",description:"Deploy your Docusaurus app for production on a range of static site hosting services.",source:"@site/docs/deployment.mdx",sourceDirName:".",slug:"/deployment",permalink:"/docs/deployment",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/edit/main/website/docs/deployment.mdx",tags:[],version:"current",lastUpdatedBy:"yujonglee",lastUpdatedAt:1722518584e3,frontMatter:{description:"Deploy your Docusaurus app for production on a range of static site hosting services."},sidebar:"docs",previous:{title:"Using Plugins",permalink:"/docs/using-plugins"},next:{title:"i18n - Introduction",permalink:"/docs/i18n/introduction"}},d={},h=[{value:"Configuration",id:"configuration",level:2},{value:"Testing your Build Locally",id:"testing-build-locally",level:2},{value:"Trailing slash configuration",id:"trailing-slashes",level:2},{value:"Using environment variables",id:"using-environment-variables",level:2},{value:"Choosing a hosting provider",id:"choosing-a-hosting-provider",level:2},{value:"Self-Hosting",id:"self-hosting",level:2},{value:"Deploying to Netlify",id:"deploying-to-netlify",level:2},{value:"Deploying to Vercel",id:"deploying-to-vercel",level:2},{value:"Deploying to GitHub Pages",id:"deploying-to-github-pages",level:2},{value:"Overview",id:"github-pages-overview",level:3},{value:"docusaurus.config.js settings",id:"docusaurusconfigjs-settings",level:3},{value:"Environment settings",id:"environment-settings",level:3},{value:"Deploy",id:"deploy",level:3},{value:"Triggering deployment with GitHub Actions",id:"triggering-deployment-with-github-actions",level:3},{value:"Triggering deployment with Travis CI",id:"triggering-deployment-with-travis-ci",level:3},{value:"Triggering deployment with Buddy",id:"triggering-deployment-with-buddy",level:3},{value:"Using Azure Pipelines",id:"using-azure-pipelines",level:3},{value:"Using Drone",id:"using-drone",level:3},{value:"Deploying to Flightcontrol",id:"deploying-to-flightcontrol",level:2},{value:"Deploying to Koyeb",id:"deploying-to-koyeb",level:2},{value:"Deploying to Render",id:"deploying-to-render",level:2},{value:"Deploying to Qovery",id:"deploying-to-qovery",level:2},{value:"Deploying to Hostman",id:"deploying-to-hostman",level:2},{value:"Deploying to Surge",id:"deploying-to-surge",level:2},{value:"Using your domain",id:"using-your-domain",level:3},{value:"Setting up CNAME file",id:"setting-up-cname-file",level:3},{value:"Deploying to Stormkit",id:"deploying-to-stormkit",level:2},{value:"Deploying to QuantCDN",id:"deploying-to-quantcdn",level:2},{value:"Deploying to Layer0",id:"deploying-to-layer0",level:2},{value:"Deploying to Cloudflare Pages",id:"deploying-to-cloudflare-pages",level:2},{value:"Deploying to Azure Static Web Apps",id:"deploying-to-azure-static-web-apps",level:2},{value:"Deploying to Kinsta",id:"deploying-to-kinsta",level:2}];function u(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components},{Details:s}=n;return s||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"deployment",children:"Deployment"})}),"\n",(0,t.jsx)(n.p,{children:"To build the static files of your website for production, run:"}),"\n",(0,t.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(r.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm run build\n"})})}),(0,t.jsx)(r.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn build\n"})})}),(0,t.jsx)(r.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm run build\n"})})})]}),"\n",(0,t.jsxs)(n.p,{children:["Once it finishes, the static files will be generated within the ",(0,t.jsx)(n.code,{children:"build"})," directory."]}),"\n",(0,t.jsxs)(n.admonition,{type:"note",children:[(0,t.jsxs)(n.p,{children:["The only responsibility of Docusaurus is to build your site and emit static files in ",(0,t.jsx)(n.code,{children:"build"}),"."]}),(0,t.jsx)(n.p,{children:"It is now up to you to choose how to host those static files."})]}),"\n",(0,t.jsxs)(n.p,{children:["You can deploy your site to static site hosting services such as ",(0,t.jsx)(n.a,{href:"https://vercel.com/",children:"Vercel"}),", ",(0,t.jsx)(n.a,{href:"https://pages.github.com/",children:"GitHub Pages"}),", ",(0,t.jsx)(n.a,{href:"https://www.netlify.com/",children:"Netlify"}),", ",(0,t.jsx)(n.a,{href:"https://render.com/docs/static-sites",children:"Render"}),", and ",(0,t.jsx)(n.a,{href:"https://surge.sh/help/getting-started-with-surge",children:"Surge"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"A Docusaurus site is statically rendered, and it can generally work without JavaScript!"}),"\n",(0,t.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,t.jsxs)(n.p,{children:["The following parameters are required in ",(0,t.jsx)(n.code,{children:"docusaurus.config.js"})," to optimize routing and serve files from the correct location:"]}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Name"}),(0,t.jsx)(n.th,{children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"url"})}),(0,t.jsxs)(n.td,{children:["URL for your site. For a site deployed at ",(0,t.jsx)(n.code,{children:"https://my-org.com/my-project/"}),", ",(0,t.jsx)(n.code,{children:"url"})," is ",(0,t.jsx)(n.code,{children:"https://my-org.com/"}),"."]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"baseUrl"})}),(0,t.jsxs)(n.td,{children:["Base URL for your project, with a trailing slash. For a site deployed at ",(0,t.jsx)(n.code,{children:"https://my-org.com/my-project/"}),", ",(0,t.jsx)(n.code,{children:"baseUrl"})," is ",(0,t.jsx)(n.code,{children:"/my-project/"}),"."]})]})]})]}),"\n",(0,t.jsx)(n.h2,{id:"testing-build-locally",children:"Testing your Build Locally"}),"\n",(0,t.jsxs)(n.p,{children:["It is important to test your build locally before deploying it for production. Docusaurus provides a ",(0,t.jsx)(n.a,{href:"/docs/cli#docusaurus-serve-sitedir",children:(0,t.jsx)(n.code,{children:"docusaurus serve"})})," command for that:"]}),"\n",(0,t.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(r.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm run serve\n"})})}),(0,t.jsx)(r.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn serve\n"})})}),(0,t.jsx)(r.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm run serve\n"})})})]}),"\n",(0,t.jsxs)(n.p,{children:["By default, this will load your site at ",(0,t.jsx)(n.a,{href:"http://localhost:3000/",children:(0,t.jsx)(n.code,{children:"http://localhost:3000/"})}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"trailing-slashes",children:"Trailing slash configuration"}),"\n",(0,t.jsxs)(n.p,{children:["Docusaurus has a ",(0,t.jsxs)(n.a,{href:"/docs/api/docusaurus-config#trailingSlash",children:[(0,t.jsx)(n.code,{children:"trailingSlash"})," config"]})," to allow customizing URLs/links and emitted filename patterns."]}),"\n",(0,t.jsxs)(n.p,{children:["The default value generally works fine. Unfortunately, each static hosting provider has a ",(0,t.jsx)(n.strong,{children:"different behavior"}),", and deploying the exact same site to various hosts can lead to distinct results. Depending on your host, it can be useful to change this config."]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["Use ",(0,t.jsx)(n.a,{href:"https://github.com/slorber/trailing-slash-guide",children:"slorber/trailing-slash-guide"})," to understand better the behavior of your host and configure ",(0,t.jsx)(n.code,{children:"trailingSlash"})," appropriately."]})}),"\n",(0,t.jsx)(n.h2,{id:"using-environment-variables",children:"Using environment variables"}),"\n",(0,t.jsxs)(n.p,{children:["Putting potentially sensitive information in the environment is common practice. However, in a typical Docusaurus website, the ",(0,t.jsx)(n.code,{children:"docusaurus.config.js"})," file is the only interface to the Node.js environment (see ",(0,t.jsx)(n.a,{href:"/docs/advanced/architecture",children:"our architecture overview"}),"), while everything else (MDX pages, React components, etc.) are client side and do not have direct access to the ",(0,t.jsx)(n.code,{children:"process"})," global variable. In this case, you can consider using ",(0,t.jsx)(n.a,{href:"/docs/api/docusaurus-config#customFields",children:(0,t.jsx)(n.code,{children:"customFields"})})," to pass environment variables to the client side."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"// If you are using dotenv (https://www.npmjs.com/package/dotenv)\nimport 'dotenv/config';\n\nexport default {\n title: '...',\n url: process.env.URL, // You can use environment variables to control site specifics as well\n // highlight-start\n customFields: {\n // Put your custom environment here\n teamEmail: process.env.EMAIL,\n },\n // highlight-end\n};\n"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-jsx",metastring:'title="home.jsx"',children:"import useDocusaurusContext from '@docusaurus/useDocusaurusContext';\n\nexport default function Home() {\n const {\n siteConfig: {customFields},\n } = useDocusaurusContext();\n return
Contact us through {customFields.teamEmail}!
;\n}\n"})}),"\n",(0,t.jsx)(n.h2,{id:"choosing-a-hosting-provider",children:"Choosing a hosting provider"}),"\n",(0,t.jsx)(n.p,{children:"There are a few common hosting options:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"#self-hosting",children:"Self hosting"})," with an HTTP server like Apache2 or Nginx."]}),"\n",(0,t.jsxs)(n.li,{children:["Jamstack providers (e.g. ",(0,t.jsx)(n.a,{href:"#deploying-to-netlify",children:"Netlify"})," and ",(0,t.jsx)(n.a,{href:"#deploying-to-vercel",children:"Vercel"}),"). We will use them as references, but the same reasoning can apply to other providers."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"#deploying-to-github-pages",children:"GitHub Pages"})," (by definition, it is also Jamstack, but we compare it separately)."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"If you are unsure of which one to choose, ask the following questions:"}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:(0,t.jsx)(n.p,{children:"How many resources (money, person-hours, etc.) am I willing to invest in this?"})}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"\ud83d\udd34 Self-hosting requires experience in networking as well as Linux and web server administration. It's the most difficult option, and would require the most time to manage successfully. Expense-wise, cloud services are almost never free, and purchasing/deploying an onsite server can be even more costly."}),"\n",(0,t.jsx)(n.li,{children:"\ud83d\udfe2 Jamstack providers can help you set up a working website in almost no time and offer features like server-side redirects that are easily configurable. Many providers offer generous build-time quotas even for free plans that you would almost never exceed. However, free plans have limits, and you would need to pay once you hit those limits. Check the pricing page of your provider for details."}),"\n",(0,t.jsxs)(n.li,{children:["\ud83d\udfe1 The GitHub Pages deployment workflow can be tedious to set up. (Evidence: see the length of ",(0,t.jsx)(n.a,{href:"#deploying-to-github-pages",children:"Deploying to GitHub Pages"}),"!) However, this service (including build and deployment) is always free for public repositories, and we have detailed instructions to help you make it work."]}),"\n"]})]}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"How much server-side customization do I need?"}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"\ud83d\udfe2 With self-hosting, you have access to the entire server's configuration. You can configure the virtual host to serve different content based on the request URL, you can do complicated server-side redirects, you can implement authentication, and so on. If you need a lot of server-side features, self-host your website."}),"\n",(0,t.jsx)(n.li,{children:"\ud83d\udfe1 Jamstack usually offers some server-side configuration (e.g. URL formatting (trailing slashes), server-side redirects, etc.)."}),"\n",(0,t.jsx)(n.li,{children:"\ud83d\udd34 GitHub Pages doesn't expose server-side configuration besides enforcing HTTPS and setting CNAME records."}),"\n"]})]}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Do I need collaboration-friendly deployment workflows?"}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"\ud83d\udfe1 Self-hosted services can leverage continuous deployment functionality like Netlify, but more heavy-lifting is involved. Usually, you would designate a specific person to manage the deployment, and the workflow wouldn't be very git-based as opposed to the other two options."}),"\n",(0,t.jsx)(n.li,{children:"\ud83d\udfe2 Netlify and Vercel have deploy previews for every pull request, which is useful for a team to review work before merging to production. You can also manage a team with different member access to the deployment."}),"\n",(0,t.jsx)(n.li,{children:"\ud83d\udfe1 GitHub Pages cannot do deploy previews in a non-convoluted way. One repo can only be associated with one site deployment. On the other hand, you can control who has write access to the site's deployment."}),"\n"]})]}),"\n",(0,t.jsx)(n.p,{children:"There isn't a silver bullet. You need to weigh your needs and resources before making a choice."}),"\n",(0,t.jsx)(n.h2,{id:"self-hosting",children:"Self-Hosting"}),"\n",(0,t.jsxs)(n.p,{children:["Docusaurus can be self-hosted using ",(0,t.jsx)(n.a,{href:"/docs/cli#docusaurus-serve-sitedir",children:(0,t.jsx)(n.code,{children:"docusaurus serve"})}),". Change port using ",(0,t.jsx)(n.code,{children:"--port"})," and ",(0,t.jsx)(n.code,{children:"--host"})," to change host."]}),"\n",(0,t.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(r.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm run serve -- --build --port 80 --host 0.0.0.0\n"})})}),(0,t.jsx)(r.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn serve --build --port 80 --host 0.0.0.0\n"})})}),(0,t.jsx)(r.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm run serve --build --port 80 --host 0.0.0.0\n"})})})]}),"\n",(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsx)(n.p,{children:"It is not the best option, compared to a static hosting provider / CDN."})}),"\n",(0,t.jsxs)(n.admonition,{type:"warning",children:[(0,t.jsx)(n.p,{children:"In the following sections, we will introduce a few common hosting providers and how they should be configured to deploy Docusaurus sites most efficiently. Docusaurus is not affiliated with any of these services, and this information is provided for convenience only. Some of the write-ups are provided by third-parties, and recent API changes may not be reflected on our side. If you see outdated content, PRs are welcome."}),(0,t.jsx)(n.p,{children:"Because we can only provide this content on a best-effort basis only, we have stopped accepting PRs adding new hosting options. You can, however, publish your writeup on a separate site (e.g. your blog, or the provider's official website), and ask us to include a link to your writeup."})]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-netlify",children:"Deploying to Netlify"}),"\n",(0,t.jsxs)(n.p,{children:["To deploy your Docusaurus sites to ",(0,t.jsx)(n.a,{href:"https://www.netlify.com/",children:"Netlify"}),", first make sure the following options are properly configured:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n // highlight-start\n url: 'https://docusaurus-2.netlify.app', // Url to your site with no trailing slash\n baseUrl: '/', // Base directory of your site relative to your repo\n // highlight-end\n // ...\n};\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Then, ",(0,t.jsx)(n.a,{href:"https://app.netlify.com/start",children:"create your site with Netlify"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"While you set up the site, specify the build commands and directories as follows:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["build command: ",(0,t.jsx)(n.code,{children:"npm run build"})]}),"\n",(0,t.jsxs)(n.li,{children:["publish directory: ",(0,t.jsx)(n.code,{children:"build"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:'If you did not configure these build options, you may still go to "Site settings" -> "Build & deploy" after your site is created.'}),"\n",(0,t.jsxs)(n.p,{children:["Once properly configured with the above options, your site should deploy and automatically redeploy upon merging to your deploy branch, which defaults to ",(0,t.jsx)(n.code,{children:"main"}),"."]}),"\n",(0,t.jsxs)(n.admonition,{type:"warning",children:[(0,t.jsxs)(n.p,{children:["Some Docusaurus sites put the ",(0,t.jsx)(n.code,{children:"docs"})," folder outside of ",(0,t.jsx)(n.code,{children:"website"})," (most likely former Docusaurus v1 sites):"]}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"repo # git root\n\u251c\u2500\u2500 docs # MD files\n\u2514\u2500\u2500 website # Docusaurus root\n"})}),(0,t.jsxs)(n.p,{children:["If you decide to use the ",(0,t.jsx)(n.code,{children:"website"})," folder as Netlify's base directory, Netlify will not trigger builds when you update the ",(0,t.jsx)(n.code,{children:"docs"})," folder, and you need to configure a ",(0,t.jsxs)(n.a,{href:"https://docs.netlify.com/configure-builds/common-configurations/ignore-builds/",children:["custom ",(0,t.jsx)(n.code,{children:"ignore"})," command"]}),":"]}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-toml",metastring:'title="website/netlify.toml"',children:'[build]\n ignore = "git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF . ../docs/"\n'})})]}),"\n",(0,t.jsxs)(n.admonition,{type:"warning",children:[(0,t.jsx)(n.p,{children:"By default, Netlify adds trailing slashes to Docusaurus URLs."}),(0,t.jsxs)(n.p,{children:["It is recommended to disable the Netlify setting ",(0,t.jsx)(n.code,{children:"Post Processing > Asset Optimization > Pretty Urls"})," to prevent lowercase URLs, unnecessary redirects, and 404 errors."]}),(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Be very careful"}),": the ",(0,t.jsx)(n.code,{children:"Disable asset optimization"})," global checkbox is broken and does not really disable the ",(0,t.jsx)(n.code,{children:"Pretty URLs"})," setting in practice. Please make sure to ",(0,t.jsx)(n.strong,{children:"uncheck it independently"}),"."]}),(0,t.jsxs)(n.p,{children:["If you want to keep the ",(0,t.jsx)(n.code,{children:"Pretty Urls"})," Netlify setting on, adjust the ",(0,t.jsx)(n.code,{children:"trailingSlash"})," Docusaurus config appropriately."]}),(0,t.jsxs)(n.p,{children:["Refer to ",(0,t.jsx)(n.a,{href:"https://github.com/slorber/trailing-slash-guide",children:"slorber/trailing-slash-guide"})," for more information."]})]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-vercel",children:"Deploying to Vercel"}),"\n",(0,t.jsxs)(n.p,{children:["Deploying your Docusaurus project to ",(0,t.jsx)(n.a,{href:"https://vercel.com/",children:"Vercel"})," will provide you with ",(0,t.jsx)(n.a,{href:"https://vercel.com/",children:"various benefits"})," in the areas of performance and ease of use."]}),"\n",(0,t.jsxs)(n.p,{children:["To deploy your Docusaurus project with a ",(0,t.jsx)(n.a,{href:"https://vercel.com/docs/concepts/git",children:"Vercel for Git Integration"}),", make sure it has been pushed to a Git repository."]}),"\n",(0,t.jsxs)(n.p,{children:["Import the project into Vercel using the ",(0,t.jsx)(n.a,{href:"https://vercel.com/import/git",children:"Import Flow"}),". During the import, you will find all relevant options preconfigured for you; however, you can choose to change any of these ",(0,t.jsx)(n.a,{href:"https://vercel.com/docs/build-step#build-&-development-settings",children:"options"}),"."]}),"\n",(0,t.jsxs)(n.p,{children:["After your project has been imported, all subsequent pushes to branches will generate ",(0,t.jsx)(n.a,{href:"https://vercel.com/docs/platform/deployments#preview",children:"Preview Deployments"}),", and all changes made to the ",(0,t.jsx)(n.a,{href:"https://vercel.com/docs/git-integrations#production-branch",children:"Production Branch"}),' (usually "main" or "master") will result in a ',(0,t.jsx)(n.a,{href:"https://vercel.com/docs/platform/deployments#production",children:"Production Deployment"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-github-pages",children:"Deploying to GitHub Pages"}),"\n",(0,t.jsxs)(n.p,{children:["Docusaurus provides an easy way to publish to ",(0,t.jsx)(n.a,{href:"https://pages.github.com/",children:"GitHub Pages"}),", which comes free with every GitHub repository."]}),"\n",(0,t.jsx)(n.h3,{id:"github-pages-overview",children:"Overview"}),"\n",(0,t.jsxs)(n.p,{children:["Usually, there are two repositories (at least two branches) involved in a publishing process: the branch containing the source files, and the branch containing the build output to be served with GitHub Pages. In the following tutorial, they will be referred to as ",(0,t.jsx)(n.strong,{children:'"source"'})," and ",(0,t.jsx)(n.strong,{children:'"deployment"'}),", respectively."]}),"\n",(0,t.jsxs)(n.p,{children:["Each GitHub repository is associated with a GitHub Pages service. If the deployment repository is called ",(0,t.jsx)(n.code,{children:"my-org/my-project"})," (where ",(0,t.jsx)(n.code,{children:"my-org"})," is the organization name or username), the deployed site will appear at ",(0,t.jsx)(n.code,{children:"https://my-org.github.io/my-project/"}),". If the deployment repository is called ",(0,t.jsx)(n.code,{children:"my-org/my-org.github.io"})," (the ",(0,t.jsx)(n.em,{children:"organization GitHub Pages repo"}),"), the site will appear at ",(0,t.jsx)(n.code,{children:"https://my-org.github.io/"}),"."]}),"\n",(0,t.jsxs)(n.admonition,{type:"info",children:[(0,t.jsxs)(n.p,{children:["In case you want to use your custom domain for GitHub Pages, create a ",(0,t.jsx)(n.code,{children:"CNAME"})," file in the ",(0,t.jsx)(n.code,{children:"static"})," directory. Anything within the ",(0,t.jsx)(n.code,{children:"static"})," directory will be copied to the root of the ",(0,t.jsx)(n.code,{children:"build"})," directory for deployment. When using a custom domain, you should be able to move back from ",(0,t.jsx)(n.code,{children:"baseUrl: '/projectName/'"})," to ",(0,t.jsx)(n.code,{children:"baseUrl: '/'"}),", and also set your ",(0,t.jsx)(n.code,{children:"url"})," to your custom domain."]}),(0,t.jsxs)(n.p,{children:["You may refer to GitHub Pages' documentation ",(0,t.jsx)(n.a,{href:"https://help.github.com/en/articles/user-organization-and-project-pages",children:"User, Organization, and Project Pages"})," for more details."]})]}),"\n",(0,t.jsxs)(n.p,{children:["GitHub Pages picks up deploy-ready files (the output from ",(0,t.jsx)(n.code,{children:"docusaurus build"}),") from the default branch (",(0,t.jsx)(n.code,{children:"master"})," / ",(0,t.jsx)(n.code,{children:"main"}),", usually) or the ",(0,t.jsx)(n.code,{children:"gh-pages"})," branch, and either from the root or the ",(0,t.jsx)(n.code,{children:"/docs"})," folder. You can configure that through ",(0,t.jsx)(n.code,{children:"Settings > Pages"}),' in your repository. This branch will be called the "deployment branch".']}),"\n",(0,t.jsxs)(n.p,{children:["We provide a ",(0,t.jsx)(n.code,{children:"docusaurus deploy"})," command that helps you deploy your site from the source branch to the deployment branch in one command: clone, build, and commit."]}),"\n",(0,t.jsxs)(n.h3,{id:"docusaurusconfigjs-settings",children:[(0,t.jsx)(n.code,{children:"docusaurus.config.js"})," settings"]}),"\n",(0,t.jsxs)(n.p,{children:["First, modify your ",(0,t.jsx)(n.code,{children:"docusaurus.config.js"})," and add the following params:"]}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Name"}),(0,t.jsx)(n.th,{children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"organizationName"})}),(0,t.jsx)(n.td,{children:"The GitHub user or organization that owns the deployment repository."})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"projectName"})}),(0,t.jsx)(n.td,{children:"The name of the deployment repository."})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"deploymentBranch"})}),(0,t.jsxs)(n.td,{children:["The name of the deployment branch. It defaults to ",(0,t.jsx)(n.code,{children:"'gh-pages'"})," for non-organization GitHub Pages repos (",(0,t.jsx)(n.code,{children:"projectName"})," not ending in ",(0,t.jsx)(n.code,{children:".github.io"}),"). Otherwise, it needs to be explicit as a config field or environment variable."]})]})]})]}),"\n",(0,t.jsxs)(n.p,{children:["These fields also have their environment variable counterparts which have a higher priority: ",(0,t.jsx)(n.code,{children:"ORGANIZATION_NAME"}),", ",(0,t.jsx)(n.code,{children:"PROJECT_NAME"}),", and ",(0,t.jsx)(n.code,{children:"DEPLOYMENT_BRANCH"}),"."]}),"\n",(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsxs)(n.p,{children:["GitHub Pages adds a trailing slash to Docusaurus URLs by default. It is recommended to set a ",(0,t.jsx)(n.code,{children:"trailingSlash"})," config (",(0,t.jsx)(n.code,{children:"true"})," or ",(0,t.jsx)(n.code,{children:"false"}),", not ",(0,t.jsx)(n.code,{children:"undefined"}),")."]})}),"\n",(0,t.jsx)(n.p,{children:"Example:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n // ...\n url: 'https://endiliey.github.io', // Your website URL\n baseUrl: '/',\n // highlight-start\n projectName: 'endiliey.github.io',\n organizationName: 'endiliey',\n trailingSlash: false,\n // highlight-end\n // ...\n};\n"})}),"\n",(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsxs)(n.p,{children:["By default, GitHub Pages runs published files through ",(0,t.jsx)(n.a,{href:"https://jekyllrb.com/",children:"Jekyll"}),". Since Jekyll will discard any files that begin with ",(0,t.jsx)(n.code,{children:"_"}),", it is recommended that you disable Jekyll by adding an empty file named ",(0,t.jsx)(n.code,{children:".nojekyll"})," file to your ",(0,t.jsx)(n.code,{children:"static"})," directory."]})}),"\n",(0,t.jsx)(n.h3,{id:"environment-settings",children:"Environment settings"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Name"}),(0,t.jsx)(n.th,{children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"USE_SSH"})}),(0,t.jsxs)(n.td,{children:["Set to ",(0,t.jsx)(n.code,{children:"true"})," to use SSH instead of the default HTTPS for the connection to the GitHub repo. If the source repo URL is an SSH URL (e.g. ",(0,t.jsx)(n.code,{children:"git@github.com:facebook/docusaurus.git"}),"), ",(0,t.jsx)(n.code,{children:"USE_SSH"})," is inferred to be ",(0,t.jsx)(n.code,{children:"true"}),"."]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"GIT_USER"})}),(0,t.jsxs)(n.td,{children:["The username for a GitHub account that ",(0,t.jsx)(n.strong,{children:"has push access to the deployment repo"}),". For your own repositories, this will usually be your GitHub username. Required if not using SSH, and ignored otherwise."]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"GIT_PASS"})}),(0,t.jsxs)(n.td,{children:["Personal access token of the git user (specified by ",(0,t.jsx)(n.code,{children:"GIT_USER"}),"), to facilitate non-interactive deployment (e.g. continuous deployment)"]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"CURRENT_BRANCH"})}),(0,t.jsxs)(n.td,{children:["The source branch. Usually, the branch will be ",(0,t.jsx)(n.code,{children:"main"})," or ",(0,t.jsx)(n.code,{children:"master"}),", but it could be any branch except for ",(0,t.jsx)(n.code,{children:"gh-pages"}),". If nothing is set for this variable, then the current branch from which ",(0,t.jsx)(n.code,{children:"docusaurus deploy"})," is invoked will be used."]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"GIT_USER_NAME"})}),(0,t.jsxs)(n.td,{children:["The ",(0,t.jsx)(n.code,{children:"git config user.name"})," value to use when pushing to the deployment repo"]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"GIT_USER_EMAIL"})}),(0,t.jsxs)(n.td,{children:["The ",(0,t.jsx)(n.code,{children:"git config user.email"})," value to use when pushing to the deployment repo"]})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"GitHub enterprise installations should work in the same manner as github.com; you only need to set the organization's GitHub Enterprise host as an environment variable:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Name"}),(0,t.jsx)(n.th,{children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"GITHUB_HOST"})}),(0,t.jsx)(n.td,{children:"The domain name of your GitHub enterprise site."})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"GITHUB_PORT"})}),(0,t.jsx)(n.td,{children:"The port of your GitHub enterprise site."})]})]})]}),"\n",(0,t.jsx)(n.h3,{id:"deploy",children:"Deploy"}),"\n",(0,t.jsx)(n.p,{children:"Finally, to deploy your site to GitHub Pages, run:"}),"\n",(0,t.jsxs)(o.Z,{children:[(0,t.jsx)(r.Z,{value:"bash",label:"Bash",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"GIT_USER= yarn deploy\n"})})}),(0,t.jsx)(r.Z,{value:"windows",label:"Windows",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-batch",children:'cmd /C "set "GIT_USER=" && yarn deploy"\n'})})}),(0,t.jsx)(r.Z,{value:"powershell",label:"PowerShell",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-powershell",children:"cmd /C 'set \"GIT_USER=\" && yarn deploy'\n"})})})]}),"\n",(0,t.jsxs)(n.admonition,{type:"warning",children:[(0,t.jsxs)(n.p,{children:["Beginning in August 2021, GitHub requires every command-line sign-in to use the ",(0,t.jsx)(n.strong,{children:"personal access token"})," instead of the password. When GitHub prompts for your password, enter the PAT instead. See the ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token",children:"GitHub documentation"})," for more information."]}),(0,t.jsxs)(n.p,{children:["Alternatively, you can use SSH (",(0,t.jsx)(n.code,{children:"USE_SSH=true"}),") to log in."]})]}),"\n",(0,t.jsx)(n.h3,{id:"triggering-deployment-with-github-actions",children:"Triggering deployment with GitHub Actions"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://help.github.com/en/actions",children:"GitHub Actions"})," allow you to automate, customize, and execute your software development workflows right in your repository."]}),"\n",(0,t.jsxs)(n.p,{children:["The workflow examples below assume your website source resides in the ",(0,t.jsx)(n.code,{children:"main"})," branch of your repository (the ",(0,t.jsx)(n.em,{children:"source branch"})," is ",(0,t.jsx)(n.code,{children:"main"}),"), and your ",(0,t.jsx)(n.a,{href:"https://help.github.com/en/github/working-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site",children:"publishing source"})," is configured for ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#publishing-with-a-custom-github-actions-workflow",children:"publishing with a custom GitHub Actions Workflow"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"Our goal is that:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["When a new pull request is made to ",(0,t.jsx)(n.code,{children:"main"}),", there's an action that ensures the site builds successfully, without actually deploying. This job will be called ",(0,t.jsx)(n.code,{children:"test-deploy"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["When a pull request is merged to the ",(0,t.jsx)(n.code,{children:"main"})," branch or someone pushes to the ",(0,t.jsx)(n.code,{children:"main"})," branch directly, it will be built and deployed to GitHub Pages. This job will be called ",(0,t.jsx)(n.code,{children:"deploy"}),"."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Here are two approaches to deploying your docs with GitHub Actions. Based on the location of your deployment repository, choose the relevant tab below:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Source repo and deployment repo are the ",(0,t.jsx)(n.strong,{children:"same"})," repository."]}),"\n",(0,t.jsxs)(n.li,{children:["The deployment repo is a ",(0,t.jsx)(n.strong,{children:"remote"})," repository, different from the source. Instructions for this scenario assume ",(0,t.jsx)(n.a,{href:"https://help.github.com/en/github/working-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site",children:"publishing source"})," is the ",(0,t.jsx)(n.code,{children:"gh-pages"})," branch."]}),"\n"]}),"\n",(0,t.jsxs)(o.Z,{children:[(0,t.jsxs)(r.Z,{value:"same",label:"Same",children:[(0,t.jsxs)(n.p,{children:["While you can have both jobs defined in the same workflow file, the original ",(0,t.jsx)(n.code,{children:"deploy"})," workflow will always be listed as skipped in the PR check suite status, which is not indicative of the actual status and provides no value to the review process. We therefore propose to manage them as separate workflows instead."]}),(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"GitHub action files"}),(0,t.jsx)(n.p,{children:"Add these two workflow files:"}),(0,t.jsxs)(n.admonition,{title:"Tweak the parameters for your setup",type:"warning",children:[(0,t.jsxs)(n.p,{children:["These files assume you are using Yarn. If you use npm, change ",(0,t.jsx)(n.code,{children:"cache: yarn"}),", ",(0,t.jsx)(n.code,{children:"yarn install --frozen-lockfile"}),", ",(0,t.jsx)(n.code,{children:"yarn build"})," to ",(0,t.jsx)(n.code,{children:"cache: npm"}),", ",(0,t.jsx)(n.code,{children:"npm ci"}),", ",(0,t.jsx)(n.code,{children:"npm run build"})," accordingly."]}),(0,t.jsxs)(n.p,{children:["If your Docusaurus project is not at the root of your repo, you may need to configure a ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#example-set-the-default-shell-and-working-directory",children:"default working directory"}),", and adjust the paths accordingly."]})]}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yml",metastring:'title=".github/workflows/deploy.yml"',children:"name: Deploy to GitHub Pages\n\non:\n push:\n branches:\n - main\n # Review gh actions docs if you want to further define triggers, paths, etc\n # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on\n\njobs:\n build:\n name: Build Docusaurus\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n with:\n fetch-depth: 0\n - uses: actions/setup-node@v4\n with:\n node-version: 18\n cache: yarn\n\n - name: Install dependencies\n run: yarn install --frozen-lockfile\n - name: Build website\n run: yarn build\n\n - name: Upload Build Artifact\n uses: actions/upload-pages-artifact@v3\n with:\n path: build\n\n deploy:\n name: Deploy to GitHub Pages\n needs: build\n\n # Grant GITHUB_TOKEN the permissions required to make a Pages deployment\n permissions:\n pages: write # to deploy to Pages\n id-token: write # to verify the deployment originates from an appropriate source\n\n # Deploy to the github-pages environment\n environment:\n name: github-pages\n url: ${{ steps.deployment.outputs.page_url }}\n\n runs-on: ubuntu-latest\n steps:\n - name: Deploy to GitHub Pages\n id: deployment\n uses: actions/deploy-pages@v4\n"})}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yml",metastring:'title=".github/workflows/test-deploy.yml"',children:"name: Test deployment\n\non:\n pull_request:\n branches:\n - main\n # Review gh actions docs if you want to further define triggers, paths, etc\n # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on\n\njobs:\n test-deploy:\n name: Test deployment\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n with:\n fetch-depth: 0\n - uses: actions/setup-node@v4\n with:\n node-version: 18\n cache: yarn\n\n - name: Install dependencies\n run: yarn install --frozen-lockfile\n - name: Test build website\n run: yarn build\n"})})]})]}),(0,t.jsxs)(r.Z,{value:"remote",label:"Remote",children:[(0,t.jsx)(n.p,{children:"A cross-repo publish is more difficult to set up because you need to push to another repo with permission checks. We will be using SSH to do the authentication."}),(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Generate a new ",(0,t.jsx)(n.a,{href:"https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent",children:"SSH key"}),". Since this SSH key will be used in CI, make sure to not enter any passphrase."]}),"\n",(0,t.jsxs)(n.li,{children:["By default, your public key should have been created in ",(0,t.jsx)(n.code,{children:"~/.ssh/id_rsa.pub"}),"; otherwise, use the name you've provided in the previous step to add your key to ",(0,t.jsx)(n.a,{href:"https://developer.github.com/v3/guides/managing-deploy-keys/",children:"GitHub deploy keys"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Copy the key to clipboard with ",(0,t.jsx)(n.code,{children:"pbcopy < ~/.ssh/id_rsa.pub"})," and paste it as a ",(0,t.jsx)(n.a,{href:"https://developer.github.com/v3/guides/managing-deploy-keys/#deploy-keys",children:"deploy key"})," in the deployment repository. Copy the file content if the command line doesn't work for you. Check the box for ",(0,t.jsx)(n.code,{children:"Allow write access"})," before saving your deployment key."]}),"\n",(0,t.jsxs)(n.li,{children:["You'll need your private key as a ",(0,t.jsx)(n.a,{href:"https://help.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets",children:"GitHub secret"})," to allow Docusaurus to run the deployment for you."]}),"\n",(0,t.jsxs)(n.li,{children:["Copy your private key with ",(0,t.jsx)(n.code,{children:"pbcopy < ~/.ssh/id_rsa"})," and paste a GitHub secret with the name ",(0,t.jsx)(n.code,{children:"GH_PAGES_DEPLOY"})," on your source repository. Copy the file content if the command line doesn't work for you. Save your secret."]}),"\n",(0,t.jsxs)(n.li,{children:["Create your ",(0,t.jsx)(n.a,{href:"https://help.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow#creating-a-workflow-file",children:"documentation workflow file"})," in ",(0,t.jsx)(n.code,{children:".github/workflows/"}),". In this example, it's ",(0,t.jsx)(n.code,{children:"deploy.yml"}),"."]}),"\n"]}),(0,t.jsx)(n.p,{children:"At this point, you should have:"}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"the source repo with the GitHub workflow set with the private SSH key as the GitHub Secret, and"}),"\n",(0,t.jsx)(n.li,{children:"your deployment repo set with the public SSH key in GitHub Deploy Keys."}),"\n"]}),(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"GitHub action file"}),(0,t.jsxs)(n.admonition,{type:"warning",children:[(0,t.jsxs)(n.p,{children:["Please make sure that you replace ",(0,t.jsx)(n.code,{children:"actions@github.com"})," with your GitHub email and ",(0,t.jsx)(n.code,{children:"gh-actions"})," with your name."]}),(0,t.jsxs)(n.p,{children:["This file assumes you are using Yarn. If you use npm, change ",(0,t.jsx)(n.code,{children:"cache: yarn"}),", ",(0,t.jsx)(n.code,{children:"yarn install --frozen-lockfile"}),", ",(0,t.jsx)(n.code,{children:"yarn build"})," to ",(0,t.jsx)(n.code,{children:"cache: npm"}),", ",(0,t.jsx)(n.code,{children:"npm ci"}),", ",(0,t.jsx)(n.code,{children:"npm run build"})," accordingly."]})]}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yml",metastring:'title=".github/workflows/deploy.yml"',children:"name: Deploy to GitHub Pages\n\non:\n pull_request:\n branches: [main]\n push:\n branches: [main]\n\npermissions:\n contents: write\n\njobs:\n test-deploy:\n if: github.event_name != 'push'\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n with:\n fetch-depth: 0\n - uses: actions/setup-node@v4\n with:\n node-version: 18\n cache: yarn\n - name: Install dependencies\n run: yarn install --frozen-lockfile\n - name: Test build website\n run: yarn build\n deploy:\n if: github.event_name != 'pull_request'\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n with:\n fetch-depth: 0\n - uses: actions/setup-node@v4\n with:\n node-version: 18\n cache: yarn\n - uses: webfactory/ssh-agent@v0.5.0\n with:\n ssh-private-key: ${{ secrets.GH_PAGES_DEPLOY }}\n - name: Deploy to GitHub Pages\n env:\n USE_SSH: true\n run: |\n git config --global user.email \"actions@github.com\"\n git config --global user.name \"gh-actions\"\n yarn install --frozen-lockfile\n yarn deploy\n"})})]})]})]}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Site not deployed properly?"}),(0,t.jsx)(n.p,{children:"After pushing to main, if you don't see your site published at the desired location (for example, it says \"There isn't a GitHub Pages site here\", or it's showing your repo's README.md file), try the following:"}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Wait about three minutes and refresh. It may take a few minutes for GitHub pages to pick up the new files."}),"\n",(0,t.jsx)(n.li,{children:"Check your repo's landing page for a little green tick next to the last commit's title, indicating the CI has passed. If you see a cross, it means the build or deployment failed, and you should check the log for more debugging information."}),"\n",(0,t.jsxs)(n.li,{children:['Click on the tick and make sure you see a "Deploy to GitHub Pages" workflow. Names like "pages build and deployment / deploy" are GitHub\'s default workflows, indicating your custom deployment workflow failed to be triggered at all. Make sure the YAML files are placed under the ',(0,t.jsx)(n.code,{children:".github/workflows"}),' folder, and that the trigger condition is set correctly (e.g., if your default branch is "master" instead of "main", you need to change the ',(0,t.jsx)(n.code,{children:"on.push"})," property)."]}),"\n",(0,t.jsxs)(n.li,{children:['Under your repo\'s Settings > Pages, make sure the "Source" (which is the source for the ',(0,t.jsx)(n.em,{children:"deployment"}),' files, not "source" as in our terminology) is set to "gh-pages" + "/ (root)", since we are using ',(0,t.jsx)(n.code,{children:"gh-pages"})," as the deployment branch."]}),"\n"]}),(0,t.jsx)(n.p,{children:"If you are using a custom domain:"}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Verify that you have the correct DNS records set up if you're using a custom domain. See ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages",children:"GitHub pages documentation on configuring custom domains"}),". Also, please be aware that it may take up to 24 hours for DNS changes to propagate through the internet."]}),"\n"]})]}),"\n",(0,t.jsx)(n.h3,{id:"triggering-deployment-with-travis-ci",children:"Triggering deployment with Travis CI"}),"\n",(0,t.jsxs)(n.p,{children:["Continuous integration (CI) services are typically used to perform routine tasks whenever new commits are checked in to source control. These tasks can be any combination of running unit tests and integration tests, automating builds, publishing packages to npm, and deploying changes to your website. All you need to do to automate the deployment of your website is to invoke the ",(0,t.jsx)(n.code,{children:"yarn deploy"})," script whenever your website is updated. The following section covers how to do just that using ",(0,t.jsx)(n.a,{href:"https://travis-ci.com/",children:"Travis CI"}),", a popular continuous integration service provider."]}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Go to ",(0,t.jsx)(n.a,{href:"https://github.com/settings/tokens",children:"https://github.com/settings/tokens"})," and generate a new ",(0,t.jsx)(n.a,{href:"https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/",children:"personal access token"}),". When creating the token, grant it the ",(0,t.jsx)(n.code,{children:"repo"})," scope so that it has the permissions it needs."]}),"\n",(0,t.jsxs)(n.li,{children:["Using your GitHub account, ",(0,t.jsx)(n.a,{href:"https://github.com/marketplace/travis-ci",children:"add the Travis CI app"})," to the repository you want to activate."]}),"\n",(0,t.jsxs)(n.li,{children:["Open your Travis CI dashboard. The URL looks like ",(0,t.jsx)(n.code,{children:"https://travis-ci.com/USERNAME/REPO"}),", and navigate to the ",(0,t.jsx)(n.code,{children:"More options > Setting > Environment Variables"})," section of your repository."]}),"\n",(0,t.jsxs)(n.li,{children:["Create a new environment variable named ",(0,t.jsx)(n.code,{children:"GH_TOKEN"})," with your newly generated token as its value, then ",(0,t.jsx)(n.code,{children:"GH_EMAIL"})," (your email address) and ",(0,t.jsx)(n.code,{children:"GH_NAME"})," (your GitHub username)."]}),"\n",(0,t.jsxs)(n.li,{children:["Create a ",(0,t.jsx)(n.code,{children:".travis.yml"})," on the root of your repository with the following:"]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yml",metastring:'title=".travis.yml"',children:'language: node_js\nnode_js:\n - 18\nbranches:\n only:\n - main\ncache:\n yarn: true\nscript:\n - git config --global user.name "${GH_NAME}"\n - git config --global user.email "${GH_EMAIL}"\n - echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" > ~/.netrc\n - yarn install\n - GIT_USER="${GH_NAME}" yarn deploy\n'})}),"\n",(0,t.jsxs)(n.p,{children:["Now, whenever a new commit lands in ",(0,t.jsx)(n.code,{children:"main"}),", Travis CI will run your suite of tests and if everything passes, your website will be deployed via the ",(0,t.jsx)(n.code,{children:"yarn deploy"})," script."]}),"\n",(0,t.jsx)(n.h3,{id:"triggering-deployment-with-buddy",children:"Triggering deployment with Buddy"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://buddy.works/",children:"Buddy"})," is an easy-to-use CI/CD tool that allows you to automate the deployment of your portal to different environments, including GitHub Pages."]}),"\n",(0,t.jsx)(n.p,{children:"Follow these steps to create a pipeline that automatically deploys a new version of your website whenever you push changes to the selected branch of your project:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Go to ",(0,t.jsx)(n.a,{href:"https://github.com/settings/tokens",children:"https://github.com/settings/tokens"})," and generate a new ",(0,t.jsx)(n.a,{href:"https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/",children:"personal access token"}),". When creating the token, grant it the ",(0,t.jsx)(n.code,{children:"repo"})," scope so that it has the permissions it needs."]}),"\n",(0,t.jsx)(n.li,{children:"Sign in to your Buddy account and create a new project."}),"\n",(0,t.jsx)(n.li,{children:"Choose GitHub as your git hosting provider and select the repository with the code of your website."}),"\n",(0,t.jsxs)(n.li,{children:["Using the left navigation panel, switch to the ",(0,t.jsx)(n.code,{children:"Pipelines"})," view."]}),"\n",(0,t.jsxs)(n.li,{children:["Create a new pipeline. Define its name, set the trigger mode to ",(0,t.jsx)(n.code,{children:"On push"}),", and select the branch that triggers the pipeline execution."]}),"\n",(0,t.jsxs)(n.li,{children:["Add a ",(0,t.jsx)(n.code,{children:"Node.js"})," action."]}),"\n",(0,t.jsx)(n.li,{children:"Add these commands in the action's terminal:"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:'GIT_USER=\ngit config --global user.email ""\ngit config --global user.name ""\nyarn deploy\n'})}),"\n",(0,t.jsxs)(n.p,{children:["After creating this simple pipeline, each new commit pushed to the branch you selected deploys your website to GitHub Pages using ",(0,t.jsx)(n.code,{children:"yarn deploy"}),". Read ",(0,t.jsx)(n.a,{href:"https://buddy.works/guides/react-docusaurus",children:"this guide"})," to learn more about setting up a CI/CD pipeline for Docusaurus."]}),"\n",(0,t.jsx)(n.h3,{id:"using-azure-pipelines",children:"Using Azure Pipelines"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Sign Up at ",(0,t.jsx)(n.a,{href:"https://azure.microsoft.com/en-us/services/devops/pipelines/",children:"Azure Pipelines"})," if you haven't already."]}),"\n",(0,t.jsx)(n.li,{children:"Create an organization. Within the organization, create a project and connect your repository from GitHub."}),"\n",(0,t.jsxs)(n.li,{children:["Go to ",(0,t.jsx)(n.a,{href:"https://github.com/settings/tokens",children:"https://github.com/settings/tokens"})," and generate a new ",(0,t.jsx)(n.a,{href:"https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/",children:"personal access token"})," with the ",(0,t.jsx)(n.code,{children:"repo"})," scope."]}),"\n",(0,t.jsxs)(n.li,{children:["In the project page (which looks like ",(0,t.jsx)(n.code,{children:"https://dev.azure.com/ORG_NAME/REPO_NAME/_build"}),"), create a new pipeline with the following text. Also, click on edit and add a new environment variable named ",(0,t.jsx)(n.code,{children:"GH_TOKEN"})," with your newly generated token as its value, then ",(0,t.jsx)(n.code,{children:"GH_EMAIL"})," (your email address) and ",(0,t.jsx)(n.code,{children:"GH_NAME"})," (your GitHub username). Make sure to mark them as secret. Alternatively, you can also add a file named ",(0,t.jsx)(n.code,{children:"azure-pipelines.yml"})," at your repository root."]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yml",metastring:'title="azure-pipelines.yml"',children:'trigger:\n - main\n\npool:\n vmImage: ubuntu-latest\n\nsteps:\n - checkout: self\n persistCredentials: true\n\n - task: NodeTool@0\n inputs:\n versionSpec: \'18\'\n displayName: Install Node.js\n\n - script: |\n git config --global user.name "${GH_NAME}"\n git config --global user.email "${GH_EMAIL}"\n git checkout -b main\n echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" > ~/.netrc\n yarn install\n GIT_USER="${GH_NAME}" yarn deploy\n env:\n GH_NAME: $(GH_NAME)\n GH_EMAIL: $(GH_EMAIL)\n GH_TOKEN: $(GH_TOKEN)\n displayName: Install and build\n'})}),"\n",(0,t.jsx)(n.h3,{id:"using-drone",children:"Using Drone"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Create a new SSH key that will be the ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/free-pro-team@latest/developers/overview/managing-deploy-keys#deploy-keys",children:"deploy key"})," for your project."]}),"\n",(0,t.jsxs)(n.li,{children:["Name your private and public keys to be specific and so that it does not overwrite your other ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent",children:"SSH keys"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Go to ",(0,t.jsx)(n.code,{children:"https://github.com/USERNAME/REPO/settings/keys"})," and add a new deploy key by pasting in the public key you just generated."]}),"\n",(0,t.jsxs)(n.li,{children:["Open your Drone.io dashboard and log in. The URL looks like ",(0,t.jsx)(n.code,{children:"https://cloud.drone.io/USERNAME/REPO"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Click on the repository, click on activate repository, and add a secret called ",(0,t.jsx)(n.code,{children:"git_deploy_private_key"})," with your private key value that you just generated."]}),"\n",(0,t.jsxs)(n.li,{children:["Create a ",(0,t.jsx)(n.code,{children:".drone.yml"})," on the root of your repository with the below text."]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yml",metastring:'title=".drone.yml"',children:'kind: pipeline\ntype: docker\ntrigger:\n event:\n - tag\n- name: Website\n image: node\n commands:\n - mkdir -p $HOME/.ssh\n - ssh-keyscan -t rsa github.com >> $HOME/.ssh/known_hosts\n - echo "$GITHUB_PRIVATE_KEY" > "$HOME/.ssh/id_rsa"\n - chmod 0600 $HOME/.ssh/id_rsa\n - cd website\n - yarn install\n - yarn deploy\n environment:\n USE_SSH: true\n GITHUB_PRIVATE_KEY:\n from_secret: git_deploy_private_key\n'})}),"\n",(0,t.jsx)(n.p,{children:"Now, whenever you push a new tag to GitHub, this trigger will start the drone CI job to publish your website."}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-flightcontrol",children:"Deploying to Flightcontrol"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.flightcontrol.dev/?ref=docusaurus",children:"Flightcontrol"})," is a service that automatically builds and deploys your web apps to AWS Fargate directly from your Git repository. It gives you full access to inspect and make infrastructure changes without the limitations of a traditional PaaS."]}),"\n",(0,t.jsxs)(n.p,{children:["Get started by following ",(0,t.jsx)(n.a,{href:"https://www.flightcontrol.dev/docs/reference/examples/docusaurus/?ref=docusaurus",children:"Flightcontrol's step-by-step Docusaurus guide"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-koyeb",children:"Deploying to Koyeb"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.koyeb.com",children:"Koyeb"})," is a developer-friendly serverless platform to deploy apps globally. The platform lets you seamlessly run Docker containers, web apps, and APIs with git-based deployment, native autoscaling, a global edge network, and built-in service mesh and discovery. Check out the ",(0,t.jsx)(n.a,{href:"https://www.koyeb.com/tutorials/deploy-docusaurus-on-koyeb",children:"Koyeb's Docusaurus deployment guide"})," to get started."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-render",children:"Deploying to Render"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://render.com",children:"Render"})," offers ",(0,t.jsx)(n.a,{href:"https://render.com/docs/static-sites",children:"free static site hosting"})," with fully managed SSL, custom domains, a global CDN, and continuous auto-deploy from your Git repo. Get started in just a few minutes by following ",(0,t.jsx)(n.a,{href:"https://render.com/docs/deploy-docusaurus",children:"Render's guide to deploying Docusaurus"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-qovery",children:"Deploying to Qovery"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.qovery.com",children:"Qovery"})," is a fully-managed cloud platform that runs on your AWS, Digital Ocean, and Scaleway account where you can host static sites, backend APIs, databases, cron jobs, and all your other apps in one place."]}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Create a Qovery account. Visit the ",(0,t.jsx)(n.a,{href:"https://console.qovery.com",children:"Qovery dashboard"})," to create an account if you don't already have one."]}),"\n",(0,t.jsxs)(n.li,{children:["Create a project.","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Click on ",(0,t.jsx)(n.strong,{children:"Create project"})," and give a name to your project."]}),"\n",(0,t.jsxs)(n.li,{children:["Click on ",(0,t.jsx)(n.strong,{children:"Next"}),"."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Create a new environment.","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Click on ",(0,t.jsx)(n.strong,{children:"Create environment"})," and give a name (e.g. staging, production)."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Add an application.","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Click on ",(0,t.jsx)(n.strong,{children:"Create an application"}),", give a name and select your GitHub or GitLab repository where your Docusaurus app is located."]}),"\n",(0,t.jsx)(n.li,{children:"Define the main branch name and the root application path."}),"\n",(0,t.jsxs)(n.li,{children:["Click on ",(0,t.jsx)(n.strong,{children:"Create"}),". After the application is created:"]}),"\n",(0,t.jsxs)(n.li,{children:["Navigate to your application ",(0,t.jsx)(n.strong,{children:"Settings"})]}),"\n",(0,t.jsxs)(n.li,{children:["Select ",(0,t.jsx)(n.strong,{children:"Port"})]}),"\n",(0,t.jsx)(n.li,{children:"Add port used by your Docusaurus application"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Deploy","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["All you have to do now is to navigate to your application and click on ",(0,t.jsx)(n.strong,{children:"Deploy"}),"."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:"https://hub.qovery.com/img/heroku/heroku-1.png",alt:"Deploy the app"})}),"\n",(0,t.jsxs)(n.p,{children:["That's it. Watch the status and wait till the app is deployed. To open the application in your browser, click on ",(0,t.jsx)(n.strong,{children:"Action"})," and ",(0,t.jsx)(n.strong,{children:"Open"})," in your application overview."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-hostman",children:"Deploying to Hostman"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://hostman.com/",children:"Hostman"})," allows you to host static websites for free. Hostman automates everything, you just need to connect your repository and follow these easy steps:"]}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Create a service."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["To deploy a Docusaurus static website, click ",(0,t.jsx)(n.strong,{children:"Create"})," in the top-left corner of your ",(0,t.jsx)(n.a,{href:"https://dashboard.hostman.com/",children:"Dashboard"})," and choose ",(0,t.jsx)(n.strong,{children:"Front-end app or static website"}),"."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Select the project to deploy."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"If you are logged in to Hostman with your GitHub, GitLab, or Bitbucket account, you will see the repository with your projects, including the private ones."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Choose the project you want to deploy. It must contain the directory with the project's files (e.g. ",(0,t.jsx)(n.code,{children:"website"}),")."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["To access a different repository, click ",(0,t.jsx)(n.strong,{children:"Connect another repository"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"If you didn't use your Git account credentials to log in, you'll be able to access the necessary account now, and then select the project."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Configure the build settings."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Next, the ",(0,t.jsx)(n.strong,{children:"Website customization"})," window will appear. Choose the ",(0,t.jsx)(n.strong,{children:"Static website"})," option from the list of frameworks."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(n.strong,{children:"Directory with app"})," points at the directory that will contain the project's files after the build. If you selected the repository with the contents of the website (or ",(0,t.jsx)(n.code,{children:"my_website"}),") directory during Step 2, you can leave it empty."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"The standard build command for Docusaurus is:"}),"\n",(0,t.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(r.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm run build\n"})})}),(0,t.jsx)(r.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn build\n"})})}),(0,t.jsx)(r.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm run build\n"})})})]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["You can modify the build command if needed. You can enter multiple commands separated by ",(0,t.jsx)(n.code,{children:"&&"}),"."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Deploy."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Click ",(0,t.jsx)(n.strong,{children:"Deploy"})," to start the build process."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Once it starts, you will enter the deployment log. If there are any issues with the code, you will get warning or error messages in the log specifying the cause of the problem. Usually, the log contains all the debugging data you'll need."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"When the deployment is complete, you will receive an email notification and also see a log entry. All done! Your project is up and ready."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-surge",children:"Deploying to Surge"}),"\n",(0,t.jsxs)(n.p,{children:["Surge is a ",(0,t.jsx)(n.a,{href:"https://surge.sh/help/getting-started-with-surge",children:"static web hosting platform"})," that you can use to deploy your Docusaurus project from the command line in seconds. Deploying your project to Surge is easy and free (including custom domains and SSL certs)."]}),"\n",(0,t.jsx)(n.p,{children:"Deploy your app in a matter of seconds using Surge with the following steps:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["First, install Surge using npm by running the following command:","\n",(0,t.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(r.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm install -g surge\n"})})}),(0,t.jsx)(r.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn global add surge\n"})})}),(0,t.jsx)(r.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm add -g surge\n"})})})]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["To build the static files of your site for production in the root directory of your project, run:","\n",(0,t.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(r.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm run build\n"})})}),(0,t.jsx)(r.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn build\n"})})}),(0,t.jsx)(r.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm run build\n"})})})]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Then, run this command inside the root directory of your project:","\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"surge build/\n"})}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"First-time users of Surge would be prompted to create an account from the command line (which happens only once)."}),"\n",(0,t.jsxs)(n.p,{children:["Confirm that the site you want to publish is in the ",(0,t.jsx)(n.code,{children:"build"})," directory. A randomly generated subdomain ",(0,t.jsx)(n.code,{children:"*.surge.sh subdomain"})," is always given (which can be edited)."]}),"\n",(0,t.jsx)(n.h3,{id:"using-your-domain",children:"Using your domain"}),"\n",(0,t.jsx)(n.p,{children:"If you have a domain name you can deploy your site using the command:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"surge build/ your-domain.com\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Your site is now deployed for free at ",(0,t.jsx)(n.code,{children:"subdomain.surge.sh"})," or ",(0,t.jsx)(n.code,{children:"your-domain.com"})," depending on the method you chose."]}),"\n",(0,t.jsx)(n.h3,{id:"setting-up-cname-file",children:"Setting up CNAME file"}),"\n",(0,t.jsx)(n.p,{children:"Store your domain in a CNAME file for future deployments with the following command:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"echo subdomain.surge.sh > CNAME\n"})}),"\n",(0,t.jsxs)(n.p,{children:["You can deploy any other changes in the future with the command ",(0,t.jsx)(n.code,{children:"surge"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-stormkit",children:"Deploying to Stormkit"}),"\n",(0,t.jsxs)(n.p,{children:["You can deploy your Docusaurus project to ",(0,t.jsx)(n.a,{href:"https://www.stormkit.io",children:"Stormkit"}),", a deployment platform for static websites, single-page applications (SPAs), and serverless functions. For detailed instructions, refer to this ",(0,t.jsx)(n.a,{href:"https://www.stormkit.io/blog/how-to-deploy-docusarous",children:"guide"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-quantcdn",children:"Deploying to QuantCDN"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Install ",(0,t.jsx)(n.a,{href:"https://docs.quantcdn.io/docs/cli/get-started",children:"Quant CLI"})]}),"\n",(0,t.jsxs)(n.li,{children:["Create a QuantCDN account by ",(0,t.jsx)(n.a,{href:"https://dashboard.quantcdn.io/register",children:"signing up"})]}),"\n",(0,t.jsxs)(n.li,{children:["Initialize your project with ",(0,t.jsx)(n.code,{children:"quant init"})," and fill in your credentials:","\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"quant init\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Deploy your site.","\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"quant deploy\n"})}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["See ",(0,t.jsx)(n.a,{href:"https://docs.quantcdn.io/docs/cli/continuous-integration",children:"docs"})," and ",(0,t.jsx)(n.a,{href:"https://www.quantcdn.io/blog",children:"blog"})," for more examples and use cases for deploying to QuantCDN."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-layer0",children:"Deploying to Layer0"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.layer0.co",children:"Layer0"})," is an all-in-one platform to develop, deploy, preview, experiment on, monitor, and run your headless frontend. It is focused on large, dynamic websites and best-in-class performance through EdgeJS (a JavaScript-based Content Delivery Network), predictive prefetching, and performance monitoring. Layer0 offers a free tier. Get started in just a few minutes by following ",(0,t.jsx)(n.a,{href:"https://docs.layer0.co/guides/docusaurus",children:"Layer0's guide to deploying Docusaurus"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-cloudflare-pages",children:"Deploying to Cloudflare Pages"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://pages.cloudflare.com/",children:"Cloudflare Pages"})," is a Jamstack platform for frontend developers to collaborate and deploy websites. Get started within a few minutes by following ",(0,t.jsx)(n.a,{href:"https://dev.to/apidev234/deploying-docusaurus-to-cloudflare-pages-565g",children:"this article"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-azure-static-web-apps",children:"Deploying to Azure Static Web Apps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://docs.microsoft.com/en-us/azure/static-web-apps/overview",children:"Azure Static Web Apps"})," is a service that automatically builds and deploys full-stack web apps to Azure directly from the code repository, simplifying the developer experience for CI/CD. Static Web Apps separates the web application's static assets from its dynamic (API) endpoints. Static assets are served from globally-distributed content servers, making it faster for clients to retrieve files using servers nearby. Dynamic APIs are scaled with serverless architectures using an event-driven functions-based approach that is more cost-effective and scales on demand. Get started in a few minutes by following ",(0,t.jsx)(n.a,{href:"https://dev.to/azure/11-share-content-with-docusaurus-azure-static-web-apps-30hc",children:"this step-by-step guide"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-kinsta",children:"Deploying to Kinsta"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://kinsta.com/static-site-hosting",children:"Kinsta Static Site Hosting"})," lets you deploy up to 100 static sites for free, custom domains with SSL, 100 GB monthly bandwidth, and 260+ Cloudflare CDN locations."]}),"\n",(0,t.jsxs)(n.p,{children:["Get started in just a few clicks by following our ",(0,t.jsx)(n.a,{href:"https://kinsta.com/docs/docusaurus-example/",children:"Docusaurus on Kinsta"})," article."]})]})}function p(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)}},71670:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>r});var t=s(27378);const i={},o=t.createContext(i);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/06c6ffc3.c30c8ba3.js b/assets/js/06c6ffc3.c30c8ba3.js
new file mode 100644
index 0000000000..0159e72b63
--- /dev/null
+++ b/assets/js/06c6ffc3.c30c8ba3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[11007],{61132:(e,n,s)=>{s.d(n,{Z:()=>r});var t=s(24246),i=(s(27378),s(40624));const o={tabItem:"tabItem_pnkT"};function r({children:e,hidden:n,className:s}){return(0,t.jsx)("div",{role:"tabpanel",className:(0,i.Z)(o.tabItem,s),hidden:n,children:e})}},97555:(e,n,s)=>{s.d(n,{Z:()=>N});var t=s(24246),i=s(27378),o=s(40624),r=s(75527),l=s(3620),a=s(44479),c=s(62821),d=s(52196),h=s(53589);function u(e,n,s){return n in e?Object.defineProperty(e,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[n]=s,e}function p(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):function(e,n){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),s.push.apply(s,t)}return s}(Object(n)).forEach((function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(n,s))})),e}function g(e){var n,s;return null!==(s=null===(n=i.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,i.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 child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})))||void 0===n?void 0:n.filter(Boolean))&&void 0!==s?s:[]}function y(e){const{values:n,children:s}=e;return(0,i.useMemo)((()=>{const e=null!=n?n:function(e){return g(e).map((({props:{value:e,label:n,attributes:s,default:t}})=>({value:e,label:n,attributes:s,default:t})))}(s);return function(e){const n=(0,d.lx)(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 . Every value needs to be unique.`)}(e),e}),[n,s])}function m({value:e,tabValues:n}){return n.some((n=>n.value===e))}function j({queryString:e=!1,groupId:n}){const s=(0,l.k6)(),t=function({queryString:e=!1,groupId:n}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!n)throw new Error('Docusaurus error: The 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 null!=n?n:null}({queryString:e,groupId:n}),o=(0,c._X)(t),r=(0,i.useCallback)((e=>{if(!t)return;const n=new URLSearchParams(s.location.search);n.set(t,e),s.replace(p(function(e){for(var n=1;nfunction({defaultValue:e,tabValues:n}){if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(e){if(!m({value:e,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}var s;const t=null!==(s=n.find((e=>e.default)))&&void 0!==s?s:n[0];if(!t)throw new Error("Unexpected error: 0 tabValues");return t.value}({defaultValue:n,tabValues:o}))),[c,d]=j({queryString:s,groupId:t}),[u,p]=function({groupId:e}){const n=function(e){return e?`docusaurus.tab.${e}`:null}(e),[s,t]=(0,h.Nk)(n);return[s,(0,i.useCallback)((e=>{n&&t.set(e)}),[n,t])]}({groupId:t}),g=(()=>{const e=null!=c?c:u;return m({value:e,tabValues:o})?e:null})();(0,a.Z)((()=>{g&&l(g)}),[g]);return{selectedValue:r,selectValue:(0,i.useCallback)((e=>{if(!m({value:e,tabValues:o}))throw new Error(`Can't select invalid tab value=${e}`);l(e),d(e),p(e)}),[d,p,o]),tabValues:o}}var f=s(29088);const b={tabList:"tabList_Qoir",tabItem:"tabItem_AQgk"};function w(e,n,s){return n in e?Object.defineProperty(e,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[n]=s,e}function v(e){for(var n=1;n{const n=e.currentTarget,t=a.indexOf(n),o=l[t].value;o!==s&&(c(n),i(o))},h=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=a.indexOf(e.currentTarget)+1;var s;n=null!==(s=a[t])&&void 0!==s?s:a[0];break}case"ArrowLeft":{const s=a.indexOf(e.currentTarget)-1;var t;n=null!==(t=a[s])&&void 0!==t?t:a[a.length-1];break}}null==n||n.focus()};return(0,t.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":n},e),children:l.map((({value:e,label:n,attributes:i})=>(0,t.jsx)("li",k(v({role:"tab",tabIndex:s===e?0:-1,"aria-selected":s===e,ref:e=>a.push(e),onKeyDown:h,onClick:d},i),{className:(0,o.Z)("tabs__item",b.tabItem,null==i?void 0:i.className,{"tabs__item--active":s===e}),children:null!=n?n:e}),e)))})}function D({lazy:e,children:n,selectedValue:s}){const r=(Array.isArray(n)?n:[n]).filter(Boolean);if(e){const e=r.find((e=>e.props.value===s));return e?(0,i.cloneElement)(e,{className:(0,o.Z)("margin-top--md",e.props.className)}):null}return(0,t.jsx)("div",{className:"margin-top--md",children:r.map(((e,n)=>(0,i.cloneElement)(e,{key:n,hidden:e.props.value!==s})))})}function H(e){const n=x(e);return(0,t.jsxs)("div",{className:(0,o.Z)("tabs-container",b.tabList),children:[(0,t.jsx)(S,v({},n,e)),(0,t.jsx)(D,v({},n,e))]})}function N(e){const n=(0,f.Z)();return(0,t.jsx)(H,k(v({},e),{children:g(e.children)}),String(n))}},53351:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>p,frontMatter:()=>l,metadata:()=>c,toc:()=>h});var t=s(24246),i=s(71670),o=s(97555),r=s(61132);const l={description:"Deploy your Docusaurus app for production on a range of static site hosting services."},a="Deployment",c={id:"deployment",title:"Deployment",description:"Deploy your Docusaurus app for production on a range of static site hosting services.",source:"@site/docs/deployment.mdx",sourceDirName:".",slug:"/deployment",permalink:"/docs/deployment",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/edit/main/website/docs/deployment.mdx",tags:[],version:"current",lastUpdatedBy:"ozaki",lastUpdatedAt:1722526249e3,frontMatter:{description:"Deploy your Docusaurus app for production on a range of static site hosting services."},sidebar:"docs",previous:{title:"Using Plugins",permalink:"/docs/using-plugins"},next:{title:"i18n - Introduction",permalink:"/docs/i18n/introduction"}},d={},h=[{value:"Configuration",id:"configuration",level:2},{value:"Testing your Build Locally",id:"testing-build-locally",level:2},{value:"Trailing slash configuration",id:"trailing-slashes",level:2},{value:"Using environment variables",id:"using-environment-variables",level:2},{value:"Choosing a hosting provider",id:"choosing-a-hosting-provider",level:2},{value:"Self-Hosting",id:"self-hosting",level:2},{value:"Deploying to Netlify",id:"deploying-to-netlify",level:2},{value:"Deploying to Vercel",id:"deploying-to-vercel",level:2},{value:"Deploying to GitHub Pages",id:"deploying-to-github-pages",level:2},{value:"Overview",id:"github-pages-overview",level:3},{value:"docusaurus.config.js settings",id:"docusaurusconfigjs-settings",level:3},{value:"Environment settings",id:"environment-settings",level:3},{value:"Deploy",id:"deploy",level:3},{value:"Triggering deployment with GitHub Actions",id:"triggering-deployment-with-github-actions",level:3},{value:"Triggering deployment with Travis CI",id:"triggering-deployment-with-travis-ci",level:3},{value:"Triggering deployment with Buddy",id:"triggering-deployment-with-buddy",level:3},{value:"Using Azure Pipelines",id:"using-azure-pipelines",level:3},{value:"Using Drone",id:"using-drone",level:3},{value:"Deploying to Flightcontrol",id:"deploying-to-flightcontrol",level:2},{value:"Deploying to Koyeb",id:"deploying-to-koyeb",level:2},{value:"Deploying to Render",id:"deploying-to-render",level:2},{value:"Deploying to Qovery",id:"deploying-to-qovery",level:2},{value:"Deploying to Hostman",id:"deploying-to-hostman",level:2},{value:"Deploying to Surge",id:"deploying-to-surge",level:2},{value:"Using your domain",id:"using-your-domain",level:3},{value:"Setting up CNAME file",id:"setting-up-cname-file",level:3},{value:"Deploying to Stormkit",id:"deploying-to-stormkit",level:2},{value:"Deploying to QuantCDN",id:"deploying-to-quantcdn",level:2},{value:"Deploying to Layer0",id:"deploying-to-layer0",level:2},{value:"Deploying to Cloudflare Pages",id:"deploying-to-cloudflare-pages",level:2},{value:"Deploying to Azure Static Web Apps",id:"deploying-to-azure-static-web-apps",level:2},{value:"Deploying to Kinsta",id:"deploying-to-kinsta",level:2}];function u(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components},{Details:s}=n;return s||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"deployment",children:"Deployment"})}),"\n",(0,t.jsx)(n.p,{children:"To build the static files of your website for production, run:"}),"\n",(0,t.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(r.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm run build\n"})})}),(0,t.jsx)(r.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn build\n"})})}),(0,t.jsx)(r.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm run build\n"})})})]}),"\n",(0,t.jsxs)(n.p,{children:["Once it finishes, the static files will be generated within the ",(0,t.jsx)(n.code,{children:"build"})," directory."]}),"\n",(0,t.jsxs)(n.admonition,{type:"note",children:[(0,t.jsxs)(n.p,{children:["The only responsibility of Docusaurus is to build your site and emit static files in ",(0,t.jsx)(n.code,{children:"build"}),"."]}),(0,t.jsx)(n.p,{children:"It is now up to you to choose how to host those static files."})]}),"\n",(0,t.jsxs)(n.p,{children:["You can deploy your site to static site hosting services such as ",(0,t.jsx)(n.a,{href:"https://vercel.com/",children:"Vercel"}),", ",(0,t.jsx)(n.a,{href:"https://pages.github.com/",children:"GitHub Pages"}),", ",(0,t.jsx)(n.a,{href:"https://www.netlify.com/",children:"Netlify"}),", ",(0,t.jsx)(n.a,{href:"https://render.com/docs/static-sites",children:"Render"}),", and ",(0,t.jsx)(n.a,{href:"https://surge.sh/help/getting-started-with-surge",children:"Surge"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"A Docusaurus site is statically rendered, and it can generally work without JavaScript!"}),"\n",(0,t.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,t.jsxs)(n.p,{children:["The following parameters are required in ",(0,t.jsx)(n.code,{children:"docusaurus.config.js"})," to optimize routing and serve files from the correct location:"]}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Name"}),(0,t.jsx)(n.th,{children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"url"})}),(0,t.jsxs)(n.td,{children:["URL for your site. For a site deployed at ",(0,t.jsx)(n.code,{children:"https://my-org.com/my-project/"}),", ",(0,t.jsx)(n.code,{children:"url"})," is ",(0,t.jsx)(n.code,{children:"https://my-org.com/"}),"."]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"baseUrl"})}),(0,t.jsxs)(n.td,{children:["Base URL for your project, with a trailing slash. For a site deployed at ",(0,t.jsx)(n.code,{children:"https://my-org.com/my-project/"}),", ",(0,t.jsx)(n.code,{children:"baseUrl"})," is ",(0,t.jsx)(n.code,{children:"/my-project/"}),"."]})]})]})]}),"\n",(0,t.jsx)(n.h2,{id:"testing-build-locally",children:"Testing your Build Locally"}),"\n",(0,t.jsxs)(n.p,{children:["It is important to test your build locally before deploying it for production. Docusaurus provides a ",(0,t.jsx)(n.a,{href:"/docs/cli#docusaurus-serve-sitedir",children:(0,t.jsx)(n.code,{children:"docusaurus serve"})})," command for that:"]}),"\n",(0,t.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(r.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm run serve\n"})})}),(0,t.jsx)(r.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn serve\n"})})}),(0,t.jsx)(r.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm run serve\n"})})})]}),"\n",(0,t.jsxs)(n.p,{children:["By default, this will load your site at ",(0,t.jsx)(n.a,{href:"http://localhost:3000/",children:(0,t.jsx)(n.code,{children:"http://localhost:3000/"})}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"trailing-slashes",children:"Trailing slash configuration"}),"\n",(0,t.jsxs)(n.p,{children:["Docusaurus has a ",(0,t.jsxs)(n.a,{href:"/docs/api/docusaurus-config#trailingSlash",children:[(0,t.jsx)(n.code,{children:"trailingSlash"})," config"]})," to allow customizing URLs/links and emitted filename patterns."]}),"\n",(0,t.jsxs)(n.p,{children:["The default value generally works fine. Unfortunately, each static hosting provider has a ",(0,t.jsx)(n.strong,{children:"different behavior"}),", and deploying the exact same site to various hosts can lead to distinct results. Depending on your host, it can be useful to change this config."]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["Use ",(0,t.jsx)(n.a,{href:"https://github.com/slorber/trailing-slash-guide",children:"slorber/trailing-slash-guide"})," to understand better the behavior of your host and configure ",(0,t.jsx)(n.code,{children:"trailingSlash"})," appropriately."]})}),"\n",(0,t.jsx)(n.h2,{id:"using-environment-variables",children:"Using environment variables"}),"\n",(0,t.jsxs)(n.p,{children:["Putting potentially sensitive information in the environment is common practice. However, in a typical Docusaurus website, the ",(0,t.jsx)(n.code,{children:"docusaurus.config.js"})," file is the only interface to the Node.js environment (see ",(0,t.jsx)(n.a,{href:"/docs/advanced/architecture",children:"our architecture overview"}),"), while everything else (MDX pages, React components, etc.) are client side and do not have direct access to the ",(0,t.jsx)(n.code,{children:"process"})," global variable. In this case, you can consider using ",(0,t.jsx)(n.a,{href:"/docs/api/docusaurus-config#customFields",children:(0,t.jsx)(n.code,{children:"customFields"})})," to pass environment variables to the client side."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"// If you are using dotenv (https://www.npmjs.com/package/dotenv)\nimport 'dotenv/config';\n\nexport default {\n title: '...',\n url: process.env.URL, // You can use environment variables to control site specifics as well\n // highlight-start\n customFields: {\n // Put your custom environment here\n teamEmail: process.env.EMAIL,\n },\n // highlight-end\n};\n"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-jsx",metastring:'title="home.jsx"',children:"import useDocusaurusContext from '@docusaurus/useDocusaurusContext';\n\nexport default function Home() {\n const {\n siteConfig: {customFields},\n } = useDocusaurusContext();\n return
Contact us through {customFields.teamEmail}!
;\n}\n"})}),"\n",(0,t.jsx)(n.h2,{id:"choosing-a-hosting-provider",children:"Choosing a hosting provider"}),"\n",(0,t.jsx)(n.p,{children:"There are a few common hosting options:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"#self-hosting",children:"Self hosting"})," with an HTTP server like Apache2 or Nginx."]}),"\n",(0,t.jsxs)(n.li,{children:["Jamstack providers (e.g. ",(0,t.jsx)(n.a,{href:"#deploying-to-netlify",children:"Netlify"})," and ",(0,t.jsx)(n.a,{href:"#deploying-to-vercel",children:"Vercel"}),"). We will use them as references, but the same reasoning can apply to other providers."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"#deploying-to-github-pages",children:"GitHub Pages"})," (by definition, it is also Jamstack, but we compare it separately)."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"If you are unsure of which one to choose, ask the following questions:"}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:(0,t.jsx)(n.p,{children:"How many resources (money, person-hours, etc.) am I willing to invest in this?"})}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"\ud83d\udd34 Self-hosting requires experience in networking as well as Linux and web server administration. It's the most difficult option, and would require the most time to manage successfully. Expense-wise, cloud services are almost never free, and purchasing/deploying an onsite server can be even more costly."}),"\n",(0,t.jsx)(n.li,{children:"\ud83d\udfe2 Jamstack providers can help you set up a working website in almost no time and offer features like server-side redirects that are easily configurable. Many providers offer generous build-time quotas even for free plans that you would almost never exceed. However, free plans have limits, and you would need to pay once you hit those limits. Check the pricing page of your provider for details."}),"\n",(0,t.jsxs)(n.li,{children:["\ud83d\udfe1 The GitHub Pages deployment workflow can be tedious to set up. (Evidence: see the length of ",(0,t.jsx)(n.a,{href:"#deploying-to-github-pages",children:"Deploying to GitHub Pages"}),"!) However, this service (including build and deployment) is always free for public repositories, and we have detailed instructions to help you make it work."]}),"\n"]})]}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"How much server-side customization do I need?"}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"\ud83d\udfe2 With self-hosting, you have access to the entire server's configuration. You can configure the virtual host to serve different content based on the request URL, you can do complicated server-side redirects, you can implement authentication, and so on. If you need a lot of server-side features, self-host your website."}),"\n",(0,t.jsx)(n.li,{children:"\ud83d\udfe1 Jamstack usually offers some server-side configuration (e.g. URL formatting (trailing slashes), server-side redirects, etc.)."}),"\n",(0,t.jsx)(n.li,{children:"\ud83d\udd34 GitHub Pages doesn't expose server-side configuration besides enforcing HTTPS and setting CNAME records."}),"\n"]})]}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Do I need collaboration-friendly deployment workflows?"}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"\ud83d\udfe1 Self-hosted services can leverage continuous deployment functionality like Netlify, but more heavy-lifting is involved. Usually, you would designate a specific person to manage the deployment, and the workflow wouldn't be very git-based as opposed to the other two options."}),"\n",(0,t.jsx)(n.li,{children:"\ud83d\udfe2 Netlify and Vercel have deploy previews for every pull request, which is useful for a team to review work before merging to production. You can also manage a team with different member access to the deployment."}),"\n",(0,t.jsx)(n.li,{children:"\ud83d\udfe1 GitHub Pages cannot do deploy previews in a non-convoluted way. One repo can only be associated with one site deployment. On the other hand, you can control who has write access to the site's deployment."}),"\n"]})]}),"\n",(0,t.jsx)(n.p,{children:"There isn't a silver bullet. You need to weigh your needs and resources before making a choice."}),"\n",(0,t.jsx)(n.h2,{id:"self-hosting",children:"Self-Hosting"}),"\n",(0,t.jsxs)(n.p,{children:["Docusaurus can be self-hosted using ",(0,t.jsx)(n.a,{href:"/docs/cli#docusaurus-serve-sitedir",children:(0,t.jsx)(n.code,{children:"docusaurus serve"})}),". Change port using ",(0,t.jsx)(n.code,{children:"--port"})," and ",(0,t.jsx)(n.code,{children:"--host"})," to change host."]}),"\n",(0,t.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(r.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm run serve -- --build --port 80 --host 0.0.0.0\n"})})}),(0,t.jsx)(r.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn serve --build --port 80 --host 0.0.0.0\n"})})}),(0,t.jsx)(r.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm run serve --build --port 80 --host 0.0.0.0\n"})})})]}),"\n",(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsx)(n.p,{children:"It is not the best option, compared to a static hosting provider / CDN."})}),"\n",(0,t.jsxs)(n.admonition,{type:"warning",children:[(0,t.jsx)(n.p,{children:"In the following sections, we will introduce a few common hosting providers and how they should be configured to deploy Docusaurus sites most efficiently. Docusaurus is not affiliated with any of these services, and this information is provided for convenience only. Some of the write-ups are provided by third-parties, and recent API changes may not be reflected on our side. If you see outdated content, PRs are welcome."}),(0,t.jsx)(n.p,{children:"Because we can only provide this content on a best-effort basis only, we have stopped accepting PRs adding new hosting options. You can, however, publish your writeup on a separate site (e.g. your blog, or the provider's official website), and ask us to include a link to your writeup."})]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-netlify",children:"Deploying to Netlify"}),"\n",(0,t.jsxs)(n.p,{children:["To deploy your Docusaurus sites to ",(0,t.jsx)(n.a,{href:"https://www.netlify.com/",children:"Netlify"}),", first make sure the following options are properly configured:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n // highlight-start\n url: 'https://docusaurus-2.netlify.app', // Url to your site with no trailing slash\n baseUrl: '/', // Base directory of your site relative to your repo\n // highlight-end\n // ...\n};\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Then, ",(0,t.jsx)(n.a,{href:"https://app.netlify.com/start",children:"create your site with Netlify"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"While you set up the site, specify the build commands and directories as follows:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["build command: ",(0,t.jsx)(n.code,{children:"npm run build"})]}),"\n",(0,t.jsxs)(n.li,{children:["publish directory: ",(0,t.jsx)(n.code,{children:"build"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:'If you did not configure these build options, you may still go to "Site settings" -> "Build & deploy" after your site is created.'}),"\n",(0,t.jsxs)(n.p,{children:["Once properly configured with the above options, your site should deploy and automatically redeploy upon merging to your deploy branch, which defaults to ",(0,t.jsx)(n.code,{children:"main"}),"."]}),"\n",(0,t.jsxs)(n.admonition,{type:"warning",children:[(0,t.jsxs)(n.p,{children:["Some Docusaurus sites put the ",(0,t.jsx)(n.code,{children:"docs"})," folder outside of ",(0,t.jsx)(n.code,{children:"website"})," (most likely former Docusaurus v1 sites):"]}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"repo # git root\n\u251c\u2500\u2500 docs # MD files\n\u2514\u2500\u2500 website # Docusaurus root\n"})}),(0,t.jsxs)(n.p,{children:["If you decide to use the ",(0,t.jsx)(n.code,{children:"website"})," folder as Netlify's base directory, Netlify will not trigger builds when you update the ",(0,t.jsx)(n.code,{children:"docs"})," folder, and you need to configure a ",(0,t.jsxs)(n.a,{href:"https://docs.netlify.com/configure-builds/common-configurations/ignore-builds/",children:["custom ",(0,t.jsx)(n.code,{children:"ignore"})," command"]}),":"]}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-toml",metastring:'title="website/netlify.toml"',children:'[build]\n ignore = "git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF . ../docs/"\n'})})]}),"\n",(0,t.jsxs)(n.admonition,{type:"warning",children:[(0,t.jsx)(n.p,{children:"By default, Netlify adds trailing slashes to Docusaurus URLs."}),(0,t.jsxs)(n.p,{children:["It is recommended to disable the Netlify setting ",(0,t.jsx)(n.code,{children:"Post Processing > Asset Optimization > Pretty Urls"})," to prevent lowercase URLs, unnecessary redirects, and 404 errors."]}),(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Be very careful"}),": the ",(0,t.jsx)(n.code,{children:"Disable asset optimization"})," global checkbox is broken and does not really disable the ",(0,t.jsx)(n.code,{children:"Pretty URLs"})," setting in practice. Please make sure to ",(0,t.jsx)(n.strong,{children:"uncheck it independently"}),"."]}),(0,t.jsxs)(n.p,{children:["If you want to keep the ",(0,t.jsx)(n.code,{children:"Pretty Urls"})," Netlify setting on, adjust the ",(0,t.jsx)(n.code,{children:"trailingSlash"})," Docusaurus config appropriately."]}),(0,t.jsxs)(n.p,{children:["Refer to ",(0,t.jsx)(n.a,{href:"https://github.com/slorber/trailing-slash-guide",children:"slorber/trailing-slash-guide"})," for more information."]})]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-vercel",children:"Deploying to Vercel"}),"\n",(0,t.jsxs)(n.p,{children:["Deploying your Docusaurus project to ",(0,t.jsx)(n.a,{href:"https://vercel.com/",children:"Vercel"})," will provide you with ",(0,t.jsx)(n.a,{href:"https://vercel.com/",children:"various benefits"})," in the areas of performance and ease of use."]}),"\n",(0,t.jsxs)(n.p,{children:["To deploy your Docusaurus project with a ",(0,t.jsx)(n.a,{href:"https://vercel.com/docs/concepts/git",children:"Vercel for Git Integration"}),", make sure it has been pushed to a Git repository."]}),"\n",(0,t.jsxs)(n.p,{children:["Import the project into Vercel using the ",(0,t.jsx)(n.a,{href:"https://vercel.com/import/git",children:"Import Flow"}),". During the import, you will find all relevant options preconfigured for you; however, you can choose to change any of these ",(0,t.jsx)(n.a,{href:"https://vercel.com/docs/build-step#build-&-development-settings",children:"options"}),"."]}),"\n",(0,t.jsxs)(n.p,{children:["After your project has been imported, all subsequent pushes to branches will generate ",(0,t.jsx)(n.a,{href:"https://vercel.com/docs/platform/deployments#preview",children:"Preview Deployments"}),", and all changes made to the ",(0,t.jsx)(n.a,{href:"https://vercel.com/docs/git-integrations#production-branch",children:"Production Branch"}),' (usually "main" or "master") will result in a ',(0,t.jsx)(n.a,{href:"https://vercel.com/docs/platform/deployments#production",children:"Production Deployment"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-github-pages",children:"Deploying to GitHub Pages"}),"\n",(0,t.jsxs)(n.p,{children:["Docusaurus provides an easy way to publish to ",(0,t.jsx)(n.a,{href:"https://pages.github.com/",children:"GitHub Pages"}),", which comes free with every GitHub repository."]}),"\n",(0,t.jsx)(n.h3,{id:"github-pages-overview",children:"Overview"}),"\n",(0,t.jsxs)(n.p,{children:["Usually, there are two repositories (at least two branches) involved in a publishing process: the branch containing the source files, and the branch containing the build output to be served with GitHub Pages. In the following tutorial, they will be referred to as ",(0,t.jsx)(n.strong,{children:'"source"'})," and ",(0,t.jsx)(n.strong,{children:'"deployment"'}),", respectively."]}),"\n",(0,t.jsxs)(n.p,{children:["Each GitHub repository is associated with a GitHub Pages service. If the deployment repository is called ",(0,t.jsx)(n.code,{children:"my-org/my-project"})," (where ",(0,t.jsx)(n.code,{children:"my-org"})," is the organization name or username), the deployed site will appear at ",(0,t.jsx)(n.code,{children:"https://my-org.github.io/my-project/"}),". If the deployment repository is called ",(0,t.jsx)(n.code,{children:"my-org/my-org.github.io"})," (the ",(0,t.jsx)(n.em,{children:"organization GitHub Pages repo"}),"), the site will appear at ",(0,t.jsx)(n.code,{children:"https://my-org.github.io/"}),"."]}),"\n",(0,t.jsxs)(n.admonition,{type:"info",children:[(0,t.jsxs)(n.p,{children:["In case you want to use your custom domain for GitHub Pages, create a ",(0,t.jsx)(n.code,{children:"CNAME"})," file in the ",(0,t.jsx)(n.code,{children:"static"})," directory. Anything within the ",(0,t.jsx)(n.code,{children:"static"})," directory will be copied to the root of the ",(0,t.jsx)(n.code,{children:"build"})," directory for deployment. When using a custom domain, you should be able to move back from ",(0,t.jsx)(n.code,{children:"baseUrl: '/projectName/'"})," to ",(0,t.jsx)(n.code,{children:"baseUrl: '/'"}),", and also set your ",(0,t.jsx)(n.code,{children:"url"})," to your custom domain."]}),(0,t.jsxs)(n.p,{children:["You may refer to GitHub Pages' documentation ",(0,t.jsx)(n.a,{href:"https://help.github.com/en/articles/user-organization-and-project-pages",children:"User, Organization, and Project Pages"})," for more details."]})]}),"\n",(0,t.jsxs)(n.p,{children:["GitHub Pages picks up deploy-ready files (the output from ",(0,t.jsx)(n.code,{children:"docusaurus build"}),") from the default branch (",(0,t.jsx)(n.code,{children:"master"})," / ",(0,t.jsx)(n.code,{children:"main"}),", usually) or the ",(0,t.jsx)(n.code,{children:"gh-pages"})," branch, and either from the root or the ",(0,t.jsx)(n.code,{children:"/docs"})," folder. You can configure that through ",(0,t.jsx)(n.code,{children:"Settings > Pages"}),' in your repository. This branch will be called the "deployment branch".']}),"\n",(0,t.jsxs)(n.p,{children:["We provide a ",(0,t.jsx)(n.code,{children:"docusaurus deploy"})," command that helps you deploy your site from the source branch to the deployment branch in one command: clone, build, and commit."]}),"\n",(0,t.jsxs)(n.h3,{id:"docusaurusconfigjs-settings",children:[(0,t.jsx)(n.code,{children:"docusaurus.config.js"})," settings"]}),"\n",(0,t.jsxs)(n.p,{children:["First, modify your ",(0,t.jsx)(n.code,{children:"docusaurus.config.js"})," and add the following params:"]}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Name"}),(0,t.jsx)(n.th,{children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"organizationName"})}),(0,t.jsx)(n.td,{children:"The GitHub user or organization that owns the deployment repository."})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"projectName"})}),(0,t.jsx)(n.td,{children:"The name of the deployment repository."})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"deploymentBranch"})}),(0,t.jsxs)(n.td,{children:["The name of the deployment branch. It defaults to ",(0,t.jsx)(n.code,{children:"'gh-pages'"})," for non-organization GitHub Pages repos (",(0,t.jsx)(n.code,{children:"projectName"})," not ending in ",(0,t.jsx)(n.code,{children:".github.io"}),"). Otherwise, it needs to be explicit as a config field or environment variable."]})]})]})]}),"\n",(0,t.jsxs)(n.p,{children:["These fields also have their environment variable counterparts which have a higher priority: ",(0,t.jsx)(n.code,{children:"ORGANIZATION_NAME"}),", ",(0,t.jsx)(n.code,{children:"PROJECT_NAME"}),", and ",(0,t.jsx)(n.code,{children:"DEPLOYMENT_BRANCH"}),"."]}),"\n",(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsxs)(n.p,{children:["GitHub Pages adds a trailing slash to Docusaurus URLs by default. It is recommended to set a ",(0,t.jsx)(n.code,{children:"trailingSlash"})," config (",(0,t.jsx)(n.code,{children:"true"})," or ",(0,t.jsx)(n.code,{children:"false"}),", not ",(0,t.jsx)(n.code,{children:"undefined"}),")."]})}),"\n",(0,t.jsx)(n.p,{children:"Example:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n // ...\n url: 'https://endiliey.github.io', // Your website URL\n baseUrl: '/',\n // highlight-start\n projectName: 'endiliey.github.io',\n organizationName: 'endiliey',\n trailingSlash: false,\n // highlight-end\n // ...\n};\n"})}),"\n",(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsxs)(n.p,{children:["By default, GitHub Pages runs published files through ",(0,t.jsx)(n.a,{href:"https://jekyllrb.com/",children:"Jekyll"}),". Since Jekyll will discard any files that begin with ",(0,t.jsx)(n.code,{children:"_"}),", it is recommended that you disable Jekyll by adding an empty file named ",(0,t.jsx)(n.code,{children:".nojekyll"})," file to your ",(0,t.jsx)(n.code,{children:"static"})," directory."]})}),"\n",(0,t.jsx)(n.h3,{id:"environment-settings",children:"Environment settings"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Name"}),(0,t.jsx)(n.th,{children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"USE_SSH"})}),(0,t.jsxs)(n.td,{children:["Set to ",(0,t.jsx)(n.code,{children:"true"})," to use SSH instead of the default HTTPS for the connection to the GitHub repo. If the source repo URL is an SSH URL (e.g. ",(0,t.jsx)(n.code,{children:"git@github.com:facebook/docusaurus.git"}),"), ",(0,t.jsx)(n.code,{children:"USE_SSH"})," is inferred to be ",(0,t.jsx)(n.code,{children:"true"}),"."]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"GIT_USER"})}),(0,t.jsxs)(n.td,{children:["The username for a GitHub account that ",(0,t.jsx)(n.strong,{children:"has push access to the deployment repo"}),". For your own repositories, this will usually be your GitHub username. Required if not using SSH, and ignored otherwise."]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"GIT_PASS"})}),(0,t.jsxs)(n.td,{children:["Personal access token of the git user (specified by ",(0,t.jsx)(n.code,{children:"GIT_USER"}),"), to facilitate non-interactive deployment (e.g. continuous deployment)"]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"CURRENT_BRANCH"})}),(0,t.jsxs)(n.td,{children:["The source branch. Usually, the branch will be ",(0,t.jsx)(n.code,{children:"main"})," or ",(0,t.jsx)(n.code,{children:"master"}),", but it could be any branch except for ",(0,t.jsx)(n.code,{children:"gh-pages"}),". If nothing is set for this variable, then the current branch from which ",(0,t.jsx)(n.code,{children:"docusaurus deploy"})," is invoked will be used."]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"GIT_USER_NAME"})}),(0,t.jsxs)(n.td,{children:["The ",(0,t.jsx)(n.code,{children:"git config user.name"})," value to use when pushing to the deployment repo"]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"GIT_USER_EMAIL"})}),(0,t.jsxs)(n.td,{children:["The ",(0,t.jsx)(n.code,{children:"git config user.email"})," value to use when pushing to the deployment repo"]})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"GitHub enterprise installations should work in the same manner as github.com; you only need to set the organization's GitHub Enterprise host as an environment variable:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Name"}),(0,t.jsx)(n.th,{children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"GITHUB_HOST"})}),(0,t.jsx)(n.td,{children:"The domain name of your GitHub enterprise site."})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"GITHUB_PORT"})}),(0,t.jsx)(n.td,{children:"The port of your GitHub enterprise site."})]})]})]}),"\n",(0,t.jsx)(n.h3,{id:"deploy",children:"Deploy"}),"\n",(0,t.jsx)(n.p,{children:"Finally, to deploy your site to GitHub Pages, run:"}),"\n",(0,t.jsxs)(o.Z,{children:[(0,t.jsx)(r.Z,{value:"bash",label:"Bash",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"GIT_USER= yarn deploy\n"})})}),(0,t.jsx)(r.Z,{value:"windows",label:"Windows",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-batch",children:'cmd /C "set "GIT_USER=" && yarn deploy"\n'})})}),(0,t.jsx)(r.Z,{value:"powershell",label:"PowerShell",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-powershell",children:"cmd /C 'set \"GIT_USER=\" && yarn deploy'\n"})})})]}),"\n",(0,t.jsxs)(n.admonition,{type:"warning",children:[(0,t.jsxs)(n.p,{children:["Beginning in August 2021, GitHub requires every command-line sign-in to use the ",(0,t.jsx)(n.strong,{children:"personal access token"})," instead of the password. When GitHub prompts for your password, enter the PAT instead. See the ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token",children:"GitHub documentation"})," for more information."]}),(0,t.jsxs)(n.p,{children:["Alternatively, you can use SSH (",(0,t.jsx)(n.code,{children:"USE_SSH=true"}),") to log in."]})]}),"\n",(0,t.jsx)(n.h3,{id:"triggering-deployment-with-github-actions",children:"Triggering deployment with GitHub Actions"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://help.github.com/en/actions",children:"GitHub Actions"})," allow you to automate, customize, and execute your software development workflows right in your repository."]}),"\n",(0,t.jsxs)(n.p,{children:["The workflow examples below assume your website source resides in the ",(0,t.jsx)(n.code,{children:"main"})," branch of your repository (the ",(0,t.jsx)(n.em,{children:"source branch"})," is ",(0,t.jsx)(n.code,{children:"main"}),"), and your ",(0,t.jsx)(n.a,{href:"https://help.github.com/en/github/working-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site",children:"publishing source"})," is configured for ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#publishing-with-a-custom-github-actions-workflow",children:"publishing with a custom GitHub Actions Workflow"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"Our goal is that:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["When a new pull request is made to ",(0,t.jsx)(n.code,{children:"main"}),", there's an action that ensures the site builds successfully, without actually deploying. This job will be called ",(0,t.jsx)(n.code,{children:"test-deploy"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["When a pull request is merged to the ",(0,t.jsx)(n.code,{children:"main"})," branch or someone pushes to the ",(0,t.jsx)(n.code,{children:"main"})," branch directly, it will be built and deployed to GitHub Pages. This job will be called ",(0,t.jsx)(n.code,{children:"deploy"}),"."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Here are two approaches to deploying your docs with GitHub Actions. Based on the location of your deployment repository, choose the relevant tab below:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Source repo and deployment repo are the ",(0,t.jsx)(n.strong,{children:"same"})," repository."]}),"\n",(0,t.jsxs)(n.li,{children:["The deployment repo is a ",(0,t.jsx)(n.strong,{children:"remote"})," repository, different from the source. Instructions for this scenario assume ",(0,t.jsx)(n.a,{href:"https://help.github.com/en/github/working-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site",children:"publishing source"})," is the ",(0,t.jsx)(n.code,{children:"gh-pages"})," branch."]}),"\n"]}),"\n",(0,t.jsxs)(o.Z,{children:[(0,t.jsxs)(r.Z,{value:"same",label:"Same",children:[(0,t.jsxs)(n.p,{children:["While you can have both jobs defined in the same workflow file, the original ",(0,t.jsx)(n.code,{children:"deploy"})," workflow will always be listed as skipped in the PR check suite status, which is not indicative of the actual status and provides no value to the review process. We therefore propose to manage them as separate workflows instead."]}),(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"GitHub action files"}),(0,t.jsx)(n.p,{children:"Add these two workflow files:"}),(0,t.jsxs)(n.admonition,{title:"Tweak the parameters for your setup",type:"warning",children:[(0,t.jsxs)(n.p,{children:["These files assume you are using Yarn. If you use npm, change ",(0,t.jsx)(n.code,{children:"cache: yarn"}),", ",(0,t.jsx)(n.code,{children:"yarn install --frozen-lockfile"}),", ",(0,t.jsx)(n.code,{children:"yarn build"})," to ",(0,t.jsx)(n.code,{children:"cache: npm"}),", ",(0,t.jsx)(n.code,{children:"npm ci"}),", ",(0,t.jsx)(n.code,{children:"npm run build"})," accordingly."]}),(0,t.jsxs)(n.p,{children:["If your Docusaurus project is not at the root of your repo, you may need to configure a ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#example-set-the-default-shell-and-working-directory",children:"default working directory"}),", and adjust the paths accordingly."]})]}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yml",metastring:'title=".github/workflows/deploy.yml"',children:"name: Deploy to GitHub Pages\n\non:\n push:\n branches:\n - main\n # Review gh actions docs if you want to further define triggers, paths, etc\n # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on\n\njobs:\n build:\n name: Build Docusaurus\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n with:\n fetch-depth: 0\n - uses: actions/setup-node@v4\n with:\n node-version: 18\n cache: yarn\n\n - name: Install dependencies\n run: yarn install --frozen-lockfile\n - name: Build website\n run: yarn build\n\n - name: Upload Build Artifact\n uses: actions/upload-pages-artifact@v3\n with:\n path: build\n\n deploy:\n name: Deploy to GitHub Pages\n needs: build\n\n # Grant GITHUB_TOKEN the permissions required to make a Pages deployment\n permissions:\n pages: write # to deploy to Pages\n id-token: write # to verify the deployment originates from an appropriate source\n\n # Deploy to the github-pages environment\n environment:\n name: github-pages\n url: ${{ steps.deployment.outputs.page_url }}\n\n runs-on: ubuntu-latest\n steps:\n - name: Deploy to GitHub Pages\n id: deployment\n uses: actions/deploy-pages@v4\n"})}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yml",metastring:'title=".github/workflows/test-deploy.yml"',children:"name: Test deployment\n\non:\n pull_request:\n branches:\n - main\n # Review gh actions docs if you want to further define triggers, paths, etc\n # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on\n\njobs:\n test-deploy:\n name: Test deployment\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n with:\n fetch-depth: 0\n - uses: actions/setup-node@v4\n with:\n node-version: 18\n cache: yarn\n\n - name: Install dependencies\n run: yarn install --frozen-lockfile\n - name: Test build website\n run: yarn build\n"})})]})]}),(0,t.jsxs)(r.Z,{value:"remote",label:"Remote",children:[(0,t.jsx)(n.p,{children:"A cross-repo publish is more difficult to set up because you need to push to another repo with permission checks. We will be using SSH to do the authentication."}),(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Generate a new ",(0,t.jsx)(n.a,{href:"https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent",children:"SSH key"}),". Since this SSH key will be used in CI, make sure to not enter any passphrase."]}),"\n",(0,t.jsxs)(n.li,{children:["By default, your public key should have been created in ",(0,t.jsx)(n.code,{children:"~/.ssh/id_rsa.pub"}),"; otherwise, use the name you've provided in the previous step to add your key to ",(0,t.jsx)(n.a,{href:"https://developer.github.com/v3/guides/managing-deploy-keys/",children:"GitHub deploy keys"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Copy the key to clipboard with ",(0,t.jsx)(n.code,{children:"pbcopy < ~/.ssh/id_rsa.pub"})," and paste it as a ",(0,t.jsx)(n.a,{href:"https://developer.github.com/v3/guides/managing-deploy-keys/#deploy-keys",children:"deploy key"})," in the deployment repository. Copy the file content if the command line doesn't work for you. Check the box for ",(0,t.jsx)(n.code,{children:"Allow write access"})," before saving your deployment key."]}),"\n",(0,t.jsxs)(n.li,{children:["You'll need your private key as a ",(0,t.jsx)(n.a,{href:"https://help.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets",children:"GitHub secret"})," to allow Docusaurus to run the deployment for you."]}),"\n",(0,t.jsxs)(n.li,{children:["Copy your private key with ",(0,t.jsx)(n.code,{children:"pbcopy < ~/.ssh/id_rsa"})," and paste a GitHub secret with the name ",(0,t.jsx)(n.code,{children:"GH_PAGES_DEPLOY"})," on your source repository. Copy the file content if the command line doesn't work for you. Save your secret."]}),"\n",(0,t.jsxs)(n.li,{children:["Create your ",(0,t.jsx)(n.a,{href:"https://help.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow#creating-a-workflow-file",children:"documentation workflow file"})," in ",(0,t.jsx)(n.code,{children:".github/workflows/"}),". In this example, it's ",(0,t.jsx)(n.code,{children:"deploy.yml"}),"."]}),"\n"]}),(0,t.jsx)(n.p,{children:"At this point, you should have:"}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"the source repo with the GitHub workflow set with the private SSH key as the GitHub Secret, and"}),"\n",(0,t.jsx)(n.li,{children:"your deployment repo set with the public SSH key in GitHub Deploy Keys."}),"\n"]}),(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"GitHub action file"}),(0,t.jsxs)(n.admonition,{type:"warning",children:[(0,t.jsxs)(n.p,{children:["Please make sure that you replace ",(0,t.jsx)(n.code,{children:"actions@github.com"})," with your GitHub email and ",(0,t.jsx)(n.code,{children:"gh-actions"})," with your name."]}),(0,t.jsxs)(n.p,{children:["This file assumes you are using Yarn. If you use npm, change ",(0,t.jsx)(n.code,{children:"cache: yarn"}),", ",(0,t.jsx)(n.code,{children:"yarn install --frozen-lockfile"}),", ",(0,t.jsx)(n.code,{children:"yarn build"})," to ",(0,t.jsx)(n.code,{children:"cache: npm"}),", ",(0,t.jsx)(n.code,{children:"npm ci"}),", ",(0,t.jsx)(n.code,{children:"npm run build"})," accordingly."]})]}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yml",metastring:'title=".github/workflows/deploy.yml"',children:"name: Deploy to GitHub Pages\n\non:\n pull_request:\n branches: [main]\n push:\n branches: [main]\n\npermissions:\n contents: write\n\njobs:\n test-deploy:\n if: github.event_name != 'push'\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n with:\n fetch-depth: 0\n - uses: actions/setup-node@v4\n with:\n node-version: 18\n cache: yarn\n - name: Install dependencies\n run: yarn install --frozen-lockfile\n - name: Test build website\n run: yarn build\n deploy:\n if: github.event_name != 'pull_request'\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n with:\n fetch-depth: 0\n - uses: actions/setup-node@v4\n with:\n node-version: 18\n cache: yarn\n - uses: webfactory/ssh-agent@v0.5.0\n with:\n ssh-private-key: ${{ secrets.GH_PAGES_DEPLOY }}\n - name: Deploy to GitHub Pages\n env:\n USE_SSH: true\n run: |\n git config --global user.email \"actions@github.com\"\n git config --global user.name \"gh-actions\"\n yarn install --frozen-lockfile\n yarn deploy\n"})})]})]})]}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Site not deployed properly?"}),(0,t.jsx)(n.p,{children:"After pushing to main, if you don't see your site published at the desired location (for example, it says \"There isn't a GitHub Pages site here\", or it's showing your repo's README.md file), try the following:"}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Wait about three minutes and refresh. It may take a few minutes for GitHub pages to pick up the new files."}),"\n",(0,t.jsx)(n.li,{children:"Check your repo's landing page for a little green tick next to the last commit's title, indicating the CI has passed. If you see a cross, it means the build or deployment failed, and you should check the log for more debugging information."}),"\n",(0,t.jsxs)(n.li,{children:['Click on the tick and make sure you see a "Deploy to GitHub Pages" workflow. Names like "pages build and deployment / deploy" are GitHub\'s default workflows, indicating your custom deployment workflow failed to be triggered at all. Make sure the YAML files are placed under the ',(0,t.jsx)(n.code,{children:".github/workflows"}),' folder, and that the trigger condition is set correctly (e.g., if your default branch is "master" instead of "main", you need to change the ',(0,t.jsx)(n.code,{children:"on.push"})," property)."]}),"\n",(0,t.jsxs)(n.li,{children:['Under your repo\'s Settings > Pages, make sure the "Source" (which is the source for the ',(0,t.jsx)(n.em,{children:"deployment"}),' files, not "source" as in our terminology) is set to "gh-pages" + "/ (root)", since we are using ',(0,t.jsx)(n.code,{children:"gh-pages"})," as the deployment branch."]}),"\n"]}),(0,t.jsx)(n.p,{children:"If you are using a custom domain:"}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Verify that you have the correct DNS records set up if you're using a custom domain. See ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages",children:"GitHub pages documentation on configuring custom domains"}),". Also, please be aware that it may take up to 24 hours for DNS changes to propagate through the internet."]}),"\n"]})]}),"\n",(0,t.jsx)(n.h3,{id:"triggering-deployment-with-travis-ci",children:"Triggering deployment with Travis CI"}),"\n",(0,t.jsxs)(n.p,{children:["Continuous integration (CI) services are typically used to perform routine tasks whenever new commits are checked in to source control. These tasks can be any combination of running unit tests and integration tests, automating builds, publishing packages to npm, and deploying changes to your website. All you need to do to automate the deployment of your website is to invoke the ",(0,t.jsx)(n.code,{children:"yarn deploy"})," script whenever your website is updated. The following section covers how to do just that using ",(0,t.jsx)(n.a,{href:"https://travis-ci.com/",children:"Travis CI"}),", a popular continuous integration service provider."]}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Go to ",(0,t.jsx)(n.a,{href:"https://github.com/settings/tokens",children:"https://github.com/settings/tokens"})," and generate a new ",(0,t.jsx)(n.a,{href:"https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/",children:"personal access token"}),". When creating the token, grant it the ",(0,t.jsx)(n.code,{children:"repo"})," scope so that it has the permissions it needs."]}),"\n",(0,t.jsxs)(n.li,{children:["Using your GitHub account, ",(0,t.jsx)(n.a,{href:"https://github.com/marketplace/travis-ci",children:"add the Travis CI app"})," to the repository you want to activate."]}),"\n",(0,t.jsxs)(n.li,{children:["Open your Travis CI dashboard. The URL looks like ",(0,t.jsx)(n.code,{children:"https://travis-ci.com/USERNAME/REPO"}),", and navigate to the ",(0,t.jsx)(n.code,{children:"More options > Setting > Environment Variables"})," section of your repository."]}),"\n",(0,t.jsxs)(n.li,{children:["Create a new environment variable named ",(0,t.jsx)(n.code,{children:"GH_TOKEN"})," with your newly generated token as its value, then ",(0,t.jsx)(n.code,{children:"GH_EMAIL"})," (your email address) and ",(0,t.jsx)(n.code,{children:"GH_NAME"})," (your GitHub username)."]}),"\n",(0,t.jsxs)(n.li,{children:["Create a ",(0,t.jsx)(n.code,{children:".travis.yml"})," on the root of your repository with the following:"]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yml",metastring:'title=".travis.yml"',children:'language: node_js\nnode_js:\n - 18\nbranches:\n only:\n - main\ncache:\n yarn: true\nscript:\n - git config --global user.name "${GH_NAME}"\n - git config --global user.email "${GH_EMAIL}"\n - echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" > ~/.netrc\n - yarn install\n - GIT_USER="${GH_NAME}" yarn deploy\n'})}),"\n",(0,t.jsxs)(n.p,{children:["Now, whenever a new commit lands in ",(0,t.jsx)(n.code,{children:"main"}),", Travis CI will run your suite of tests and if everything passes, your website will be deployed via the ",(0,t.jsx)(n.code,{children:"yarn deploy"})," script."]}),"\n",(0,t.jsx)(n.h3,{id:"triggering-deployment-with-buddy",children:"Triggering deployment with Buddy"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://buddy.works/",children:"Buddy"})," is an easy-to-use CI/CD tool that allows you to automate the deployment of your portal to different environments, including GitHub Pages."]}),"\n",(0,t.jsx)(n.p,{children:"Follow these steps to create a pipeline that automatically deploys a new version of your website whenever you push changes to the selected branch of your project:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Go to ",(0,t.jsx)(n.a,{href:"https://github.com/settings/tokens",children:"https://github.com/settings/tokens"})," and generate a new ",(0,t.jsx)(n.a,{href:"https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/",children:"personal access token"}),". When creating the token, grant it the ",(0,t.jsx)(n.code,{children:"repo"})," scope so that it has the permissions it needs."]}),"\n",(0,t.jsx)(n.li,{children:"Sign in to your Buddy account and create a new project."}),"\n",(0,t.jsx)(n.li,{children:"Choose GitHub as your git hosting provider and select the repository with the code of your website."}),"\n",(0,t.jsxs)(n.li,{children:["Using the left navigation panel, switch to the ",(0,t.jsx)(n.code,{children:"Pipelines"})," view."]}),"\n",(0,t.jsxs)(n.li,{children:["Create a new pipeline. Define its name, set the trigger mode to ",(0,t.jsx)(n.code,{children:"On push"}),", and select the branch that triggers the pipeline execution."]}),"\n",(0,t.jsxs)(n.li,{children:["Add a ",(0,t.jsx)(n.code,{children:"Node.js"})," action."]}),"\n",(0,t.jsx)(n.li,{children:"Add these commands in the action's terminal:"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:'GIT_USER=\ngit config --global user.email ""\ngit config --global user.name ""\nyarn deploy\n'})}),"\n",(0,t.jsxs)(n.p,{children:["After creating this simple pipeline, each new commit pushed to the branch you selected deploys your website to GitHub Pages using ",(0,t.jsx)(n.code,{children:"yarn deploy"}),". Read ",(0,t.jsx)(n.a,{href:"https://buddy.works/guides/react-docusaurus",children:"this guide"})," to learn more about setting up a CI/CD pipeline for Docusaurus."]}),"\n",(0,t.jsx)(n.h3,{id:"using-azure-pipelines",children:"Using Azure Pipelines"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Sign Up at ",(0,t.jsx)(n.a,{href:"https://azure.microsoft.com/en-us/services/devops/pipelines/",children:"Azure Pipelines"})," if you haven't already."]}),"\n",(0,t.jsx)(n.li,{children:"Create an organization. Within the organization, create a project and connect your repository from GitHub."}),"\n",(0,t.jsxs)(n.li,{children:["Go to ",(0,t.jsx)(n.a,{href:"https://github.com/settings/tokens",children:"https://github.com/settings/tokens"})," and generate a new ",(0,t.jsx)(n.a,{href:"https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/",children:"personal access token"})," with the ",(0,t.jsx)(n.code,{children:"repo"})," scope."]}),"\n",(0,t.jsxs)(n.li,{children:["In the project page (which looks like ",(0,t.jsx)(n.code,{children:"https://dev.azure.com/ORG_NAME/REPO_NAME/_build"}),"), create a new pipeline with the following text. Also, click on edit and add a new environment variable named ",(0,t.jsx)(n.code,{children:"GH_TOKEN"})," with your newly generated token as its value, then ",(0,t.jsx)(n.code,{children:"GH_EMAIL"})," (your email address) and ",(0,t.jsx)(n.code,{children:"GH_NAME"})," (your GitHub username). Make sure to mark them as secret. Alternatively, you can also add a file named ",(0,t.jsx)(n.code,{children:"azure-pipelines.yml"})," at your repository root."]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yml",metastring:'title="azure-pipelines.yml"',children:'trigger:\n - main\n\npool:\n vmImage: ubuntu-latest\n\nsteps:\n - checkout: self\n persistCredentials: true\n\n - task: NodeTool@0\n inputs:\n versionSpec: \'18\'\n displayName: Install Node.js\n\n - script: |\n git config --global user.name "${GH_NAME}"\n git config --global user.email "${GH_EMAIL}"\n git checkout -b main\n echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" > ~/.netrc\n yarn install\n GIT_USER="${GH_NAME}" yarn deploy\n env:\n GH_NAME: $(GH_NAME)\n GH_EMAIL: $(GH_EMAIL)\n GH_TOKEN: $(GH_TOKEN)\n displayName: Install and build\n'})}),"\n",(0,t.jsx)(n.h3,{id:"using-drone",children:"Using Drone"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Create a new SSH key that will be the ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/free-pro-team@latest/developers/overview/managing-deploy-keys#deploy-keys",children:"deploy key"})," for your project."]}),"\n",(0,t.jsxs)(n.li,{children:["Name your private and public keys to be specific and so that it does not overwrite your other ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent",children:"SSH keys"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Go to ",(0,t.jsx)(n.code,{children:"https://github.com/USERNAME/REPO/settings/keys"})," and add a new deploy key by pasting in the public key you just generated."]}),"\n",(0,t.jsxs)(n.li,{children:["Open your Drone.io dashboard and log in. The URL looks like ",(0,t.jsx)(n.code,{children:"https://cloud.drone.io/USERNAME/REPO"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Click on the repository, click on activate repository, and add a secret called ",(0,t.jsx)(n.code,{children:"git_deploy_private_key"})," with your private key value that you just generated."]}),"\n",(0,t.jsxs)(n.li,{children:["Create a ",(0,t.jsx)(n.code,{children:".drone.yml"})," on the root of your repository with the below text."]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yml",metastring:'title=".drone.yml"',children:'kind: pipeline\ntype: docker\ntrigger:\n event:\n - tag\n- name: Website\n image: node\n commands:\n - mkdir -p $HOME/.ssh\n - ssh-keyscan -t rsa github.com >> $HOME/.ssh/known_hosts\n - echo "$GITHUB_PRIVATE_KEY" > "$HOME/.ssh/id_rsa"\n - chmod 0600 $HOME/.ssh/id_rsa\n - cd website\n - yarn install\n - yarn deploy\n environment:\n USE_SSH: true\n GITHUB_PRIVATE_KEY:\n from_secret: git_deploy_private_key\n'})}),"\n",(0,t.jsx)(n.p,{children:"Now, whenever you push a new tag to GitHub, this trigger will start the drone CI job to publish your website."}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-flightcontrol",children:"Deploying to Flightcontrol"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.flightcontrol.dev/?ref=docusaurus",children:"Flightcontrol"})," is a service that automatically builds and deploys your web apps to AWS Fargate directly from your Git repository. It gives you full access to inspect and make infrastructure changes without the limitations of a traditional PaaS."]}),"\n",(0,t.jsxs)(n.p,{children:["Get started by following ",(0,t.jsx)(n.a,{href:"https://www.flightcontrol.dev/docs/reference/examples/docusaurus/?ref=docusaurus",children:"Flightcontrol's step-by-step Docusaurus guide"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-koyeb",children:"Deploying to Koyeb"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.koyeb.com",children:"Koyeb"})," is a developer-friendly serverless platform to deploy apps globally. The platform lets you seamlessly run Docker containers, web apps, and APIs with git-based deployment, native autoscaling, a global edge network, and built-in service mesh and discovery. Check out the ",(0,t.jsx)(n.a,{href:"https://www.koyeb.com/tutorials/deploy-docusaurus-on-koyeb",children:"Koyeb's Docusaurus deployment guide"})," to get started."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-render",children:"Deploying to Render"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://render.com",children:"Render"})," offers ",(0,t.jsx)(n.a,{href:"https://render.com/docs/static-sites",children:"free static site hosting"})," with fully managed SSL, custom domains, a global CDN, and continuous auto-deploy from your Git repo. Get started in just a few minutes by following ",(0,t.jsx)(n.a,{href:"https://render.com/docs/deploy-docusaurus",children:"Render's guide to deploying Docusaurus"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-qovery",children:"Deploying to Qovery"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.qovery.com",children:"Qovery"})," is a fully-managed cloud platform that runs on your AWS, Digital Ocean, and Scaleway account where you can host static sites, backend APIs, databases, cron jobs, and all your other apps in one place."]}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Create a Qovery account. Visit the ",(0,t.jsx)(n.a,{href:"https://console.qovery.com",children:"Qovery dashboard"})," to create an account if you don't already have one."]}),"\n",(0,t.jsxs)(n.li,{children:["Create a project.","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Click on ",(0,t.jsx)(n.strong,{children:"Create project"})," and give a name to your project."]}),"\n",(0,t.jsxs)(n.li,{children:["Click on ",(0,t.jsx)(n.strong,{children:"Next"}),"."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Create a new environment.","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Click on ",(0,t.jsx)(n.strong,{children:"Create environment"})," and give a name (e.g. staging, production)."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Add an application.","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Click on ",(0,t.jsx)(n.strong,{children:"Create an application"}),", give a name and select your GitHub or GitLab repository where your Docusaurus app is located."]}),"\n",(0,t.jsx)(n.li,{children:"Define the main branch name and the root application path."}),"\n",(0,t.jsxs)(n.li,{children:["Click on ",(0,t.jsx)(n.strong,{children:"Create"}),". After the application is created:"]}),"\n",(0,t.jsxs)(n.li,{children:["Navigate to your application ",(0,t.jsx)(n.strong,{children:"Settings"})]}),"\n",(0,t.jsxs)(n.li,{children:["Select ",(0,t.jsx)(n.strong,{children:"Port"})]}),"\n",(0,t.jsx)(n.li,{children:"Add port used by your Docusaurus application"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Deploy","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["All you have to do now is to navigate to your application and click on ",(0,t.jsx)(n.strong,{children:"Deploy"}),"."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:"https://hub.qovery.com/img/heroku/heroku-1.png",alt:"Deploy the app"})}),"\n",(0,t.jsxs)(n.p,{children:["That's it. Watch the status and wait till the app is deployed. To open the application in your browser, click on ",(0,t.jsx)(n.strong,{children:"Action"})," and ",(0,t.jsx)(n.strong,{children:"Open"})," in your application overview."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-hostman",children:"Deploying to Hostman"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://hostman.com/",children:"Hostman"})," allows you to host static websites for free. Hostman automates everything, you just need to connect your repository and follow these easy steps:"]}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Create a service."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["To deploy a Docusaurus static website, click ",(0,t.jsx)(n.strong,{children:"Create"})," in the top-left corner of your ",(0,t.jsx)(n.a,{href:"https://dashboard.hostman.com/",children:"Dashboard"})," and choose ",(0,t.jsx)(n.strong,{children:"Front-end app or static website"}),"."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Select the project to deploy."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"If you are logged in to Hostman with your GitHub, GitLab, or Bitbucket account, you will see the repository with your projects, including the private ones."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Choose the project you want to deploy. It must contain the directory with the project's files (e.g. ",(0,t.jsx)(n.code,{children:"website"}),")."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["To access a different repository, click ",(0,t.jsx)(n.strong,{children:"Connect another repository"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"If you didn't use your Git account credentials to log in, you'll be able to access the necessary account now, and then select the project."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Configure the build settings."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Next, the ",(0,t.jsx)(n.strong,{children:"Website customization"})," window will appear. Choose the ",(0,t.jsx)(n.strong,{children:"Static website"})," option from the list of frameworks."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(n.strong,{children:"Directory with app"})," points at the directory that will contain the project's files after the build. If you selected the repository with the contents of the website (or ",(0,t.jsx)(n.code,{children:"my_website"}),") directory during Step 2, you can leave it empty."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"The standard build command for Docusaurus is:"}),"\n",(0,t.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(r.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm run build\n"})})}),(0,t.jsx)(r.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn build\n"})})}),(0,t.jsx)(r.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm run build\n"})})})]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["You can modify the build command if needed. You can enter multiple commands separated by ",(0,t.jsx)(n.code,{children:"&&"}),"."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Deploy."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Click ",(0,t.jsx)(n.strong,{children:"Deploy"})," to start the build process."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Once it starts, you will enter the deployment log. If there are any issues with the code, you will get warning or error messages in the log specifying the cause of the problem. Usually, the log contains all the debugging data you'll need."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"When the deployment is complete, you will receive an email notification and also see a log entry. All done! Your project is up and ready."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-surge",children:"Deploying to Surge"}),"\n",(0,t.jsxs)(n.p,{children:["Surge is a ",(0,t.jsx)(n.a,{href:"https://surge.sh/help/getting-started-with-surge",children:"static web hosting platform"})," that you can use to deploy your Docusaurus project from the command line in seconds. Deploying your project to Surge is easy and free (including custom domains and SSL certs)."]}),"\n",(0,t.jsx)(n.p,{children:"Deploy your app in a matter of seconds using Surge with the following steps:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["First, install Surge using npm by running the following command:","\n",(0,t.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(r.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm install -g surge\n"})})}),(0,t.jsx)(r.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn global add surge\n"})})}),(0,t.jsx)(r.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm add -g surge\n"})})})]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["To build the static files of your site for production in the root directory of your project, run:","\n",(0,t.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(r.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm run build\n"})})}),(0,t.jsx)(r.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn build\n"})})}),(0,t.jsx)(r.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm run build\n"})})})]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Then, run this command inside the root directory of your project:","\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"surge build/\n"})}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"First-time users of Surge would be prompted to create an account from the command line (which happens only once)."}),"\n",(0,t.jsxs)(n.p,{children:["Confirm that the site you want to publish is in the ",(0,t.jsx)(n.code,{children:"build"})," directory. A randomly generated subdomain ",(0,t.jsx)(n.code,{children:"*.surge.sh subdomain"})," is always given (which can be edited)."]}),"\n",(0,t.jsx)(n.h3,{id:"using-your-domain",children:"Using your domain"}),"\n",(0,t.jsx)(n.p,{children:"If you have a domain name you can deploy your site using the command:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"surge build/ your-domain.com\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Your site is now deployed for free at ",(0,t.jsx)(n.code,{children:"subdomain.surge.sh"})," or ",(0,t.jsx)(n.code,{children:"your-domain.com"})," depending on the method you chose."]}),"\n",(0,t.jsx)(n.h3,{id:"setting-up-cname-file",children:"Setting up CNAME file"}),"\n",(0,t.jsx)(n.p,{children:"Store your domain in a CNAME file for future deployments with the following command:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"echo subdomain.surge.sh > CNAME\n"})}),"\n",(0,t.jsxs)(n.p,{children:["You can deploy any other changes in the future with the command ",(0,t.jsx)(n.code,{children:"surge"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-stormkit",children:"Deploying to Stormkit"}),"\n",(0,t.jsxs)(n.p,{children:["You can deploy your Docusaurus project to ",(0,t.jsx)(n.a,{href:"https://www.stormkit.io",children:"Stormkit"}),", a deployment platform for static websites, single-page applications (SPAs), and serverless functions. For detailed instructions, refer to this ",(0,t.jsx)(n.a,{href:"https://www.stormkit.io/blog/how-to-deploy-docusarous",children:"guide"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-quantcdn",children:"Deploying to QuantCDN"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Install ",(0,t.jsx)(n.a,{href:"https://docs.quantcdn.io/docs/cli/get-started",children:"Quant CLI"})]}),"\n",(0,t.jsxs)(n.li,{children:["Create a QuantCDN account by ",(0,t.jsx)(n.a,{href:"https://dashboard.quantcdn.io/register",children:"signing up"})]}),"\n",(0,t.jsxs)(n.li,{children:["Initialize your project with ",(0,t.jsx)(n.code,{children:"quant init"})," and fill in your credentials:","\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"quant init\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Deploy your site.","\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"quant deploy\n"})}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["See ",(0,t.jsx)(n.a,{href:"https://docs.quantcdn.io/docs/cli/continuous-integration",children:"docs"})," and ",(0,t.jsx)(n.a,{href:"https://www.quantcdn.io/blog",children:"blog"})," for more examples and use cases for deploying to QuantCDN."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-layer0",children:"Deploying to Layer0"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.layer0.co",children:"Layer0"})," is an all-in-one platform to develop, deploy, preview, experiment on, monitor, and run your headless frontend. It is focused on large, dynamic websites and best-in-class performance through EdgeJS (a JavaScript-based Content Delivery Network), predictive prefetching, and performance monitoring. Layer0 offers a free tier. Get started in just a few minutes by following ",(0,t.jsx)(n.a,{href:"https://docs.layer0.co/guides/docusaurus",children:"Layer0's guide to deploying Docusaurus"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-cloudflare-pages",children:"Deploying to Cloudflare Pages"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://pages.cloudflare.com/",children:"Cloudflare Pages"})," is a Jamstack platform for frontend developers to collaborate and deploy websites. Get started within a few minutes by following ",(0,t.jsx)(n.a,{href:"https://dev.to/apidev234/deploying-docusaurus-to-cloudflare-pages-565g",children:"this article"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-azure-static-web-apps",children:"Deploying to Azure Static Web Apps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://docs.microsoft.com/en-us/azure/static-web-apps/overview",children:"Azure Static Web Apps"})," is a service that automatically builds and deploys full-stack web apps to Azure directly from the code repository, simplifying the developer experience for CI/CD. Static Web Apps separates the web application's static assets from its dynamic (API) endpoints. Static assets are served from globally-distributed content servers, making it faster for clients to retrieve files using servers nearby. Dynamic APIs are scaled with serverless architectures using an event-driven functions-based approach that is more cost-effective and scales on demand. Get started in a few minutes by following ",(0,t.jsx)(n.a,{href:"https://dev.to/azure/11-share-content-with-docusaurus-azure-static-web-apps-30hc",children:"this step-by-step guide"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-kinsta",children:"Deploying to Kinsta"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://kinsta.com/static-site-hosting",children:"Kinsta Static Site Hosting"})," lets you deploy up to 100 static sites for free, custom domains with SSL, 100 GB monthly bandwidth, and 260+ Cloudflare CDN locations."]}),"\n",(0,t.jsxs)(n.p,{children:["Get started in just a few clicks by following our ",(0,t.jsx)(n.a,{href:"https://kinsta.com/docs/docusaurus-example/",children:"Docusaurus on Kinsta"})," article."]})]})}function p(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)}},71670:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>r});var t=s(27378);const i={},o=t.createContext(i);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/072728dc.60ff4f21.js b/assets/js/072728dc.60ff4f21.js
deleted file mode 100644
index 2518e0295b..0000000000
--- a/assets/js/072728dc.60ff4f21.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[75809],{24090:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>u,contentTitle:()=>l,default:()=>x,frontMatter:()=>o,metadata:()=>d,toc:()=>r});var n=t(24246),i=t(71670),c=t(58464);const o={toc_min_heading_level:3},l=void 0,d={id:"toc/toc-3-_",title:"toc-3-_",description:"",source:"@site/_dogfooding/_docs tests/toc/toc-3-_.mdx",sourceDirName:"toc",slug:"/toc/toc-3-_",permalink:"/tests/docs/toc/toc-3-_",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedBy:"yujonglee",lastUpdatedAt:1722518584e3,frontMatter:{toc_min_heading_level:3},sidebar:"sidebar",previous:{title:"toc-3-5",permalink:"/tests/docs/toc/toc-3-5"},next:{title:"toc-4-5",permalink:"/tests/docs/toc/toc-4-5"}},u={},r=[...c.d$];function h(e){return(0,n.jsx)(c.ZP,{})}function x(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(h,{...e})}):h()}x.displayName="MDXContent(_dogfooding/_docs tests/toc/toc-3-_.mdx)"},58464:(e,s,t)=>{t.d(s,{ZP:()=>l,d$:()=>c});var n=t(24246),i=t(71670);const c=[{value:"section 1",id:"section-1",level:2},{value:"subsection 1-1",id:"subsection-1-1",level:3},{value:"subsection 1-1-1",id:"subsection-1-1-1",level:4},{value:"subsection 1-1-1-1",id:"subsection-1-1-1-1",level:5},{value:"subsection 1-1-1-1-1",id:"subsection-1-1-1-1-1",level:6},{value:"subsection 1-1-1-1-2",id:"subsection-1-1-1-1-2",level:6},{value:"subsection 1-1-1-2",id:"subsection-1-1-1-2",level:5},{value:"subsection 1-1-2",id:"subsection-1-1-2",level:4},{value:"subsection 1-2",id:"subsection-1-2",level:3},{value:"subsection 1-3",id:"subsection-1-3",level:3},{value:"section 2",id:"section-2",level:2},{value:"subsection 2-1",id:"subsection-2-1",level:3},{value:"subsection 2-1",id:"subsection-2-1-1",level:3},{value:"section 3",id:"section-3",level:2},{value:"subsection 3-1",id:"subsection-3-1",level:3},{value:"subsection 3-2",id:"subsection-3-2",level:3}];function o(e){const s={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"title",children:"title"})}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-1",children:"section 1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-1",children:"subsection 1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h4,{id:"subsection-1-1-1",children:"subsection 1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h5,{id:"subsection-1-1-1-1",children:"subsection 1-1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h6,{id:"subsection-1-1-1-1-1",children:"subsection 1-1-1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h6,{id:"subsection-1-1-1-1-2",children:"subsection 1-1-1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h5,{id:"subsection-1-1-1-2",children:"subsection 1-1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h4,{id:"subsection-1-1-2",children:"subsection 1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-2",children:"subsection 1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-3",children:"subsection 1-3"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-2",children:"section 2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-2-1",children:"subsection 2-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-2-1-1",children:"subsection 2-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-3",children:"section 3"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-3-1",children:"subsection 3-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-3-2",children:"subsection 3-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"})]})}function l(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},71670:(e,s,t)=>{t.d(s,{Z:()=>l,a:()=>o});var n=t(27378);const i={},c=n.createContext(i);function o(e){const s=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(c.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/072728dc.af0cb38b.js b/assets/js/072728dc.af0cb38b.js
new file mode 100644
index 0000000000..65baa24fb4
--- /dev/null
+++ b/assets/js/072728dc.af0cb38b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[75809],{24090:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>u,contentTitle:()=>l,default:()=>x,frontMatter:()=>o,metadata:()=>d,toc:()=>r});var n=t(24246),i=t(71670),c=t(58464);const o={toc_min_heading_level:3},l=void 0,d={id:"toc/toc-3-_",title:"toc-3-_",description:"",source:"@site/_dogfooding/_docs tests/toc/toc-3-_.mdx",sourceDirName:"toc",slug:"/toc/toc-3-_",permalink:"/tests/docs/toc/toc-3-_",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedBy:"ozaki",lastUpdatedAt:1722526249e3,frontMatter:{toc_min_heading_level:3},sidebar:"sidebar",previous:{title:"toc-3-5",permalink:"/tests/docs/toc/toc-3-5"},next:{title:"toc-4-5",permalink:"/tests/docs/toc/toc-4-5"}},u={},r=[...c.d$];function h(e){return(0,n.jsx)(c.ZP,{})}function x(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(h,{...e})}):h()}x.displayName="MDXContent(_dogfooding/_docs tests/toc/toc-3-_.mdx)"},58464:(e,s,t)=>{t.d(s,{ZP:()=>l,d$:()=>c});var n=t(24246),i=t(71670);const c=[{value:"section 1",id:"section-1",level:2},{value:"subsection 1-1",id:"subsection-1-1",level:3},{value:"subsection 1-1-1",id:"subsection-1-1-1",level:4},{value:"subsection 1-1-1-1",id:"subsection-1-1-1-1",level:5},{value:"subsection 1-1-1-1-1",id:"subsection-1-1-1-1-1",level:6},{value:"subsection 1-1-1-1-2",id:"subsection-1-1-1-1-2",level:6},{value:"subsection 1-1-1-2",id:"subsection-1-1-1-2",level:5},{value:"subsection 1-1-2",id:"subsection-1-1-2",level:4},{value:"subsection 1-2",id:"subsection-1-2",level:3},{value:"subsection 1-3",id:"subsection-1-3",level:3},{value:"section 2",id:"section-2",level:2},{value:"subsection 2-1",id:"subsection-2-1",level:3},{value:"subsection 2-1",id:"subsection-2-1-1",level:3},{value:"section 3",id:"section-3",level:2},{value:"subsection 3-1",id:"subsection-3-1",level:3},{value:"subsection 3-2",id:"subsection-3-2",level:3}];function o(e){const s={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"title",children:"title"})}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-1",children:"section 1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-1",children:"subsection 1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h4,{id:"subsection-1-1-1",children:"subsection 1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h5,{id:"subsection-1-1-1-1",children:"subsection 1-1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h6,{id:"subsection-1-1-1-1-1",children:"subsection 1-1-1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h6,{id:"subsection-1-1-1-1-2",children:"subsection 1-1-1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h5,{id:"subsection-1-1-1-2",children:"subsection 1-1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h4,{id:"subsection-1-1-2",children:"subsection 1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-2",children:"subsection 1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-3",children:"subsection 1-3"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-2",children:"section 2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-2-1",children:"subsection 2-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-2-1-1",children:"subsection 2-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-3",children:"section 3"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-3-1",children:"subsection 3-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-3-2",children:"subsection 3-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"})]})}function l(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},71670:(e,s,t)=>{t.d(s,{Z:()=>l,a:()=>o});var n=t(27378);const i={},c=n.createContext(i);function o(e){const s=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(c.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/07d8cde9.46ee5710.js b/assets/js/07d8cde9.46ee5710.js
new file mode 100644
index 0000000000..89d739b54d
--- /dev/null
+++ b/assets/js/07d8cde9.46ee5710.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[75791],{40506:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>r,contentTitle:()=>a,default:()=>u,frontMatter:()=>c,metadata:()=>o,toc:()=>l});var n=i(24246),t=i(71670);const c={sidebar_position:0,slug:"/api/misc/create-docusaurus"},a="\ud83d\udce6 create-docusaurus",o={id:"api/misc/create-docusaurus",title:"\ud83d\udce6 create-docusaurus",description:"A scaffolding utility to help you instantly set up a functional Docusaurus app.",source:"@site/docs/api/misc/create-docusaurus.mdx",sourceDirName:"api/misc",slug:"/api/misc/create-docusaurus",permalink:"/docs/api/misc/create-docusaurus",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/edit/main/website/docs/api/misc/create-docusaurus.mdx",tags:[],version:"current",lastUpdatedBy:"ozaki",lastUpdatedAt:1722526249e3,sidebarPosition:0,frontMatter:{sidebar_position:0,slug:"/api/misc/create-docusaurus"},sidebar:"api",previous:{title:"\ud83d\udce6 theme-mermaid",permalink:"/docs/api/themes/@docusaurus/theme-mermaid"},next:{title:"\ud83d\udce6 eslint-plugin",permalink:"/docs/api/misc/@docusaurus/eslint-plugin"}},r={},l=[{value:"Usage",id:"usage",level:2},{value:"Options",id:"options",level:2},{value:"-t, --typescript",id:"typescript",level:3},{value:"-g, --git-strategy",id:"git-strategy",level:3},{value:"-p, --package-manager",id:"package-manager",level:3},{value:"-s, --skip-install",id:"skip-install",level:3}];function d(e){const s={admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"-create-docusaurus",children:"\ud83d\udce6 create-docusaurus"})}),"\n",(0,n.jsx)(s.p,{children:"A scaffolding utility to help you instantly set up a functional Docusaurus app."}),"\n",(0,n.jsx)(s.h2,{id:"usage",children:"Usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-bash",children:"npx create-docusaurus@latest [name] [template] [rootDir]\n"})}),"\n",(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.code,{children:"name"})," argument will be used as the site's path as well as the ",(0,n.jsx)(s.code,{children:"name"})," field in the created app's package.json. It can be an absolute path, or a path relative to ",(0,n.jsx)(s.code,{children:"rootDir"}),"."]}),"\n",(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.code,{children:"template"})," argument can be one of the following:"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"classic"}),": Uses the classic template (recommended)"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"facebook"}),": Uses the Facebook/Meta template, which contains some Meta-specific setup"]}),"\n",(0,n.jsxs)(s.li,{children:["A git repo URL (beginning with ",(0,n.jsx)(s.code,{children:"https://"})," or ",(0,n.jsx)(s.code,{children:"git@"}),"), which can be cloned to the destination"]}),"\n",(0,n.jsx)(s.li,{children:"A local file path relative to CWD, which contains the files to be copied to destination"}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.code,{children:"rootDir"})," will be used to resolve the absolute path to the site directory. The default is CWD."]}),"\n",(0,n.jsx)(s.admonition,{type:"warning",children:(0,n.jsx)(s.p,{children:"This command should be preferably used in an interactive shell so all features are available."})}),"\n",(0,n.jsx)(s.h2,{id:"options",children:"Options"}),"\n",(0,n.jsx)(s.h3,{id:"typescript",children:(0,n.jsx)(s.code,{children:"-t, --typescript"})}),"\n",(0,n.jsxs)(s.p,{children:["Used when the template argument is a recognized name. Currently, only ",(0,n.jsx)(s.code,{children:"classic"})," provides a TypeScript variant."]}),"\n",(0,n.jsx)(s.h3,{id:"git-strategy",children:(0,n.jsx)(s.code,{children:"-g, --git-strategy"})}),"\n",(0,n.jsx)(s.p,{children:"Used when the template argument is a git repo. It needs to be one of:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"deep"}),": preserves full git history"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"shallow"}),": clones with ",(0,n.jsx)(s.code,{children:"--depth=1"})]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"copy"}),": does a shallow clone, but does not create a git repo"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"custom"}),": enter your custom git clone command. We will prompt you for it. You can write something like ",(0,n.jsx)(s.code,{children:"git clone --depth 10"}),", and we will append the repository URL and destination directory."]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"package-manager",children:(0,n.jsx)(s.code,{children:"-p, --package-manager"})}),"\n",(0,n.jsxs)(s.p,{children:["Value should be one of ",(0,n.jsx)(s.code,{children:"npm"}),", ",(0,n.jsx)(s.code,{children:"yarn"}),", ",(0,n.jsx)(s.code,{children:"pnpm"}),", or ",(0,n.jsx)(s.code,{children:"bun"}),". If it's not explicitly provided, Docusaurus will infer one based on:"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"The lockfile already present in the CWD (e.g. if you are setting up website in an existing project)"}),"\n",(0,n.jsxs)(s.li,{children:["The command used to invoke ",(0,n.jsx)(s.code,{children:"create-docusaurus"})," (e.g. ",(0,n.jsx)(s.code,{children:"npm init"}),", ",(0,n.jsx)(s.code,{children:"npx"}),", ",(0,n.jsx)(s.code,{children:"yarn create"}),", ",(0,n.jsx)(s.code,{children:"bunx"}),", etc.)"]}),"\n",(0,n.jsx)(s.li,{children:"Interactive prompting, in case all heuristics are not present"}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"skip-install",children:(0,n.jsx)(s.code,{children:"-s, --skip-install"})}),"\n",(0,n.jsxs)(s.p,{children:["If provided, Docusaurus will not automatically install dependencies after creating the app. The ",(0,n.jsx)(s.code,{children:"--package-manager"})," option is only useful when you are actually installing dependencies."]})]})}function u(e={}){const{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},71670:(e,s,i)=>{i.d(s,{Z:()=>o,a:()=>a});var n=i(27378);const t={},c=n.createContext(t);function a(e){const s=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),n.createElement(c.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/07d8cde9.7d9d7609.js b/assets/js/07d8cde9.7d9d7609.js
deleted file mode 100644
index 70cedd655e..0000000000
--- a/assets/js/07d8cde9.7d9d7609.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[75791],{40506:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>r,contentTitle:()=>a,default:()=>u,frontMatter:()=>c,metadata:()=>o,toc:()=>l});var n=i(24246),t=i(71670);const c={sidebar_position:0,slug:"/api/misc/create-docusaurus"},a="\ud83d\udce6 create-docusaurus",o={id:"api/misc/create-docusaurus",title:"\ud83d\udce6 create-docusaurus",description:"A scaffolding utility to help you instantly set up a functional Docusaurus app.",source:"@site/docs/api/misc/create-docusaurus.mdx",sourceDirName:"api/misc",slug:"/api/misc/create-docusaurus",permalink:"/docs/api/misc/create-docusaurus",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/edit/main/website/docs/api/misc/create-docusaurus.mdx",tags:[],version:"current",lastUpdatedBy:"yujonglee",lastUpdatedAt:1722518584e3,sidebarPosition:0,frontMatter:{sidebar_position:0,slug:"/api/misc/create-docusaurus"},sidebar:"api",previous:{title:"\ud83d\udce6 theme-mermaid",permalink:"/docs/api/themes/@docusaurus/theme-mermaid"},next:{title:"\ud83d\udce6 eslint-plugin",permalink:"/docs/api/misc/@docusaurus/eslint-plugin"}},r={},l=[{value:"Usage",id:"usage",level:2},{value:"Options",id:"options",level:2},{value:"-t, --typescript",id:"typescript",level:3},{value:"-g, --git-strategy",id:"git-strategy",level:3},{value:"-p, --package-manager",id:"package-manager",level:3},{value:"-s, --skip-install",id:"skip-install",level:3}];function d(e){const s={admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"-create-docusaurus",children:"\ud83d\udce6 create-docusaurus"})}),"\n",(0,n.jsx)(s.p,{children:"A scaffolding utility to help you instantly set up a functional Docusaurus app."}),"\n",(0,n.jsx)(s.h2,{id:"usage",children:"Usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-bash",children:"npx create-docusaurus@latest [name] [template] [rootDir]\n"})}),"\n",(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.code,{children:"name"})," argument will be used as the site's path as well as the ",(0,n.jsx)(s.code,{children:"name"})," field in the created app's package.json. It can be an absolute path, or a path relative to ",(0,n.jsx)(s.code,{children:"rootDir"}),"."]}),"\n",(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.code,{children:"template"})," argument can be one of the following:"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"classic"}),": Uses the classic template (recommended)"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"facebook"}),": Uses the Facebook/Meta template, which contains some Meta-specific setup"]}),"\n",(0,n.jsxs)(s.li,{children:["A git repo URL (beginning with ",(0,n.jsx)(s.code,{children:"https://"})," or ",(0,n.jsx)(s.code,{children:"git@"}),"), which can be cloned to the destination"]}),"\n",(0,n.jsx)(s.li,{children:"A local file path relative to CWD, which contains the files to be copied to destination"}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.code,{children:"rootDir"})," will be used to resolve the absolute path to the site directory. The default is CWD."]}),"\n",(0,n.jsx)(s.admonition,{type:"warning",children:(0,n.jsx)(s.p,{children:"This command should be preferably used in an interactive shell so all features are available."})}),"\n",(0,n.jsx)(s.h2,{id:"options",children:"Options"}),"\n",(0,n.jsx)(s.h3,{id:"typescript",children:(0,n.jsx)(s.code,{children:"-t, --typescript"})}),"\n",(0,n.jsxs)(s.p,{children:["Used when the template argument is a recognized name. Currently, only ",(0,n.jsx)(s.code,{children:"classic"})," provides a TypeScript variant."]}),"\n",(0,n.jsx)(s.h3,{id:"git-strategy",children:(0,n.jsx)(s.code,{children:"-g, --git-strategy"})}),"\n",(0,n.jsx)(s.p,{children:"Used when the template argument is a git repo. It needs to be one of:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"deep"}),": preserves full git history"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"shallow"}),": clones with ",(0,n.jsx)(s.code,{children:"--depth=1"})]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"copy"}),": does a shallow clone, but does not create a git repo"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"custom"}),": enter your custom git clone command. We will prompt you for it. You can write something like ",(0,n.jsx)(s.code,{children:"git clone --depth 10"}),", and we will append the repository URL and destination directory."]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"package-manager",children:(0,n.jsx)(s.code,{children:"-p, --package-manager"})}),"\n",(0,n.jsxs)(s.p,{children:["Value should be one of ",(0,n.jsx)(s.code,{children:"npm"}),", ",(0,n.jsx)(s.code,{children:"yarn"}),", ",(0,n.jsx)(s.code,{children:"pnpm"}),", or ",(0,n.jsx)(s.code,{children:"bun"}),". If it's not explicitly provided, Docusaurus will infer one based on:"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"The lockfile already present in the CWD (e.g. if you are setting up website in an existing project)"}),"\n",(0,n.jsxs)(s.li,{children:["The command used to invoke ",(0,n.jsx)(s.code,{children:"create-docusaurus"})," (e.g. ",(0,n.jsx)(s.code,{children:"npm init"}),", ",(0,n.jsx)(s.code,{children:"npx"}),", ",(0,n.jsx)(s.code,{children:"yarn create"}),", ",(0,n.jsx)(s.code,{children:"bunx"}),", etc.)"]}),"\n",(0,n.jsx)(s.li,{children:"Interactive prompting, in case all heuristics are not present"}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"skip-install",children:(0,n.jsx)(s.code,{children:"-s, --skip-install"})}),"\n",(0,n.jsxs)(s.p,{children:["If provided, Docusaurus will not automatically install dependencies after creating the app. The ",(0,n.jsx)(s.code,{children:"--package-manager"})," option is only useful when you are actually installing dependencies."]})]})}function u(e={}){const{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},71670:(e,s,i)=>{i.d(s,{Z:()=>o,a:()=>a});var n=i(27378);const t={},c=n.createContext(t);function a(e){const s=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),n.createElement(c.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/08b2e33e.750d2e6d.js b/assets/js/08b2e33e.750d2e6d.js
new file mode 100644
index 0000000000..3e22e182eb
--- /dev/null
+++ b/assets/js/08b2e33e.750d2e6d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[20989],{3381:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>u,contentTitle:()=>l,default:()=>g,frontMatter:()=>o,metadata:()=>s,toc:()=>h});var t=n(24246),i=n(71670);const o={mdx:{format:"md"},date:"2022-05-04T20:00",authors:["aerovulpe","AkiraVoid","andrewnicols","AntonPalmqvist","ApsarasX","chelproc","chernodub","CuratorCat","cwen0","cxOrz","DanRoscigno","deiucanta","deployn","Dr-Electron","dr-ngubo","duanwilliam","elias-pap","imsingh","jeffreyaven","jodyheavener","JohnnyMcWeed","johnnyreilly","Josh-Cena","kaycebasques","kgolubic","layerzzzio","leedom92","LeviticusMB","lex111","lukasbach","mjau-mjau","mxhdx","nartc","naveensrinivasan","pcordon","phryneas","Pierre-Gilles","redhat123456","rev4324","sandypockets","shczhen","slorber","sulu5890","surendran82","svix-ken","sykp241095","zzzhangqi"]},l="2.0.0-beta.19",s={permalink:"/changelog/2.0.0-beta.19",source:"@site/changelog/source/2.0.0-beta.19.md",title:"2.0.0-beta.19",description:"New Feature",date:"2022-05-04T20:00:00.000Z",tags:[],hasTruncateMarker:!0,authors:[{name:"Aaron Nwabuoku",alias:"aerovulpe",url:"https://github.com/aerovulpe",imageURL:"https://github.com/aerovulpe.png",key:"aerovulpe",page:null},{name:"AkiraVoid",alias:"AkiraVoid",url:"https://github.com/AkiraVoid",imageURL:"https://github.com/AkiraVoid.png",key:"AkiraVoid",page:null},{name:"Andrew Lyons",alias:"andrewnicols",url:"https://github.com/andrewnicols",imageURL:"https://github.com/andrewnicols.png",key:"andrewnicols",page:null},{name:"apq",alias:"AntonPalmqvist",url:"https://github.com/AntonPalmqvist",imageURL:"https://github.com/AntonPalmqvist.png",key:"AntonPalmqvist",page:null},{name:"ApsarasX",alias:"ApsarasX",url:"https://github.com/ApsarasX",imageURL:"https://github.com/ApsarasX.png",key:"ApsarasX",page:null},{name:"chelproc",alias:"chelproc",url:"https://github.com/chelproc",imageURL:"https://github.com/chelproc.png",key:"chelproc",page:null},{name:"Viktor Chernodub",alias:"chernodub",url:"https://github.com/chernodub",imageURL:"https://github.com/chernodub.png",key:"chernodub",page:null},{name:"curatorcat.pcc.eth",alias:"CuratorCat",url:"https://github.com/CuratorCat",imageURL:"https://github.com/CuratorCat.png",key:"CuratorCat",page:null},{name:"Cwen Yin",alias:"cwen0",url:"https://github.com/cwen0",imageURL:"https://github.com/cwen0.png",key:"cwen0",page:null},{name:"Fusang\u2740",alias:"cxOrz",url:"https://github.com/cxOrz",imageURL:"https://github.com/cxOrz.png",key:"cxOrz",page:null},{name:"Dan Roscigno",alias:"DanRoscigno",url:"https://github.com/DanRoscigno",imageURL:"https://github.com/DanRoscigno.png",key:"DanRoscigno",page:null},{name:"Andrei Canta",alias:"deiucanta",url:"https://github.com/deiucanta",imageURL:"https://github.com/deiucanta.png",key:"deiucanta",page:null},{name:"deployn",alias:"deployn",url:"https://github.com/deployn",imageURL:"https://github.com/deployn.png",key:"deployn",page:null},{name:"Dr-Electron",alias:"Dr-Electron",url:"https://github.com/Dr-Electron",imageURL:"https://github.com/Dr-Electron.png",key:"Dr-Electron",page:null},{name:"Chinazaekpere Ngubo",alias:"dr-ngubo",url:"https://github.com/dr-ngubo",imageURL:"https://github.com/dr-ngubo.png",key:"dr-ngubo",page:null},{name:"duanwilliam",alias:"duanwilliam",url:"https://github.com/duanwilliam",imageURL:"https://github.com/duanwilliam.png",key:"duanwilliam",page:null},{name:"Elias Papavasileiou",alias:"elias-pap",url:"https://github.com/elias-pap",imageURL:"https://github.com/elias-pap.png",key:"elias-pap",page:null},{name:"Indermohan Singh",alias:"imsingh",url:"https://github.com/imsingh",imageURL:"https://github.com/imsingh.png",key:"imsingh",page:null},{name:"Jeffrey Aven",alias:"jeffreyaven",url:"https://github.com/jeffreyaven",imageURL:"https://github.com/jeffreyaven.png",key:"jeffreyaven",page:null},{name:"Jody Heavener",alias:"jodyheavener",url:"https://github.com/jodyheavener",imageURL:"https://github.com/jodyheavener.png",key:"jodyheavener",page:null},{name:"JMW",alias:"JohnnyMcWeed",url:"https://github.com/JohnnyMcWeed",imageURL:"https://github.com/JohnnyMcWeed.png",key:"JohnnyMcWeed",page:null},{name:"John Reilly",alias:"johnnyreilly",url:"https://github.com/johnnyreilly",imageURL:"https://github.com/johnnyreilly.png",key:"johnnyreilly",page:null},{name:"Joshua Chen",alias:"Josh-Cena",url:"https://github.com/Josh-Cena",imageURL:"https://github.com/Josh-Cena.png",key:"Josh-Cena",page:null},{name:"Kayce Basques",alias:"kaycebasques",url:"https://github.com/kaycebasques",imageURL:"https://github.com/kaycebasques.png",key:"kaycebasques",page:null},{name:"kgolubic",alias:"kgolubic",url:"https://github.com/kgolubic",imageURL:"https://github.com/kgolubic.png",key:"kgolubic",page:null},{name:"loic",alias:"layerzzzio",url:"https://github.com/layerzzzio",imageURL:"https://github.com/layerzzzio.png",key:"layerzzzio",page:null},{name:"Leedom",alias:"leedom92",url:"https://github.com/leedom92",imageURL:"https://github.com/leedom92.png",key:"leedom92",page:null},{name:"Martin Blom",alias:"LeviticusMB",url:"https://github.com/LeviticusMB",imageURL:"https://github.com/LeviticusMB.png",key:"LeviticusMB",page:null},{name:"Alexey Pyltsyn",alias:"lex111",url:"https://github.com/lex111",imageURL:"https://github.com/lex111.png",key:"lex111",page:null},{name:"Lukas Bach",alias:"lukasbach",url:"https://github.com/lukasbach",imageURL:"https://github.com/lukasbach.png",key:"lukasbach",page:null},{name:"Karl Ward",alias:"mjau-mjau",url:"https://github.com/mjau-mjau",imageURL:"https://github.com/mjau-mjau.png",key:"mjau-mjau",page:null},{name:"mehdim",alias:"mxhdx",url:"https://github.com/mxhdx",imageURL:"https://github.com/mxhdx.png",key:"mxhdx",page:null},{name:"Chau Tran",alias:"nartc",url:"https://github.com/nartc",imageURL:"https://github.com/nartc.png",key:"nartc",page:null},{name:"Naveen",alias:"naveensrinivasan",url:"https://github.com/naveensrinivasan",imageURL:"https://github.com/naveensrinivasan.png",key:"naveensrinivasan",page:null},{name:"Pablo Cordon",alias:"pcordon",url:"https://github.com/pcordon",imageURL:"https://github.com/pcordon.png",key:"pcordon",page:null},{name:"Lenz Weber-Tronic",alias:"phryneas",url:"https://github.com/phryneas",imageURL:"https://github.com/phryneas.png",key:"phryneas",page:null},{name:"Pierre-Gilles Leymarie",alias:"Pierre-Gilles",url:"https://github.com/Pierre-Gilles",imageURL:"https://github.com/Pierre-Gilles.png",key:"Pierre-Gilles",page:null},{name:"redhat123456",alias:"redhat123456",url:"https://github.com/redhat123456",imageURL:"https://github.com/redhat123456.png",key:"redhat123456",page:null},{name:"rev",alias:"rev4324",url:"https://github.com/rev4324",imageURL:"https://github.com/rev4324.png",key:"rev4324",page:null},{name:"Zac A",alias:"sandypockets",url:"https://github.com/sandypockets",imageURL:"https://github.com/sandypockets.png",key:"sandypockets",page:null},{name:"czhen",alias:"shczhen",url:"https://github.com/shczhen",imageURL:"https://github.com/shczhen.png",key:"shczhen",page:null},{name:"S\xe9bastien Lorber",alias:"slorber",url:"https://github.com/slorber",imageURL:"https://github.com/slorber.png",key:"slorber",page:null},{name:"Evan",alias:"sulu5890",url:"https://github.com/sulu5890",imageURL:"https://github.com/sulu5890.png",key:"sulu5890",page:null},{name:"surendran82",alias:"surendran82",url:"https://github.com/surendran82",imageURL:"https://github.com/surendran82.png",key:"surendran82",page:null},{name:"svix-ken",alias:"svix-ken",url:"https://github.com/svix-ken",imageURL:"https://github.com/svix-ken.png",key:"svix-ken",page:null},{name:"sykp241095",alias:"sykp241095",url:"https://github.com/sykp241095",imageURL:"https://github.com/sykp241095.png",key:"sykp241095",page:null},{name:"Qi Zhang",alias:"zzzhangqi",url:"https://github.com/zzzhangqi",imageURL:"https://github.com/zzzhangqi.png",key:"zzzhangqi",page:null}],frontMatter:{mdx:{format:"md"},date:"2022-05-04T20:00",authors:["aerovulpe","AkiraVoid","andrewnicols","AntonPalmqvist","ApsarasX","chelproc","chernodub","CuratorCat","cwen0","cxOrz","DanRoscigno","deiucanta","deployn","Dr-Electron","dr-ngubo","duanwilliam","elias-pap","imsingh","jeffreyaven","jodyheavener","JohnnyMcWeed","johnnyreilly","Josh-Cena","kaycebasques","kgolubic","layerzzzio","leedom92","LeviticusMB","lex111","lukasbach","mjau-mjau","mxhdx","nartc","naveensrinivasan","pcordon","phryneas","Pierre-Gilles","redhat123456","rev4324","sandypockets","shczhen","slorber","sulu5890","surendran82","svix-ken","sykp241095","zzzhangqi"]},unlisted:!1,prevItem:{title:"2.0.0-beta.20",permalink:"/changelog/2.0.0-beta.20"},nextItem:{title:"2.0.0-beta.18",permalink:"/changelog/2.0.0-beta.18"},listPageLink:"/changelog/page/2"},u={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},h=[];function r(e){return(0,t.jsx)(t.Fragment,{})}function g(e={}){const{wrapper:a}={...(0,i.a)(),...e.components};return a?(0,t.jsx)(a,{...e,children:(0,t.jsx)(r,{...e})}):r()}},71670:(e,a,n)=>{n.d(a,{Z:()=>s,a:()=>l});var t=n(27378);const i={},o=t.createContext(i);function l(e){const a=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function s(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),t.createElement(o.Provider,{value:a},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/08b2e33e.7d6ae115.js b/assets/js/08b2e33e.7d6ae115.js
deleted file mode 100644
index 9b2bd1330c..0000000000
--- a/assets/js/08b2e33e.7d6ae115.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[20989],{3381:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>r,contentTitle:()=>s,default:()=>l,frontMatter:()=>o,metadata:()=>h,toc:()=>u});var i=t(24246),n=t(71670);const o={mdx:{format:"md"},date:"2022-05-04T20:00",authors:["aerovulpe","AkiraVoid","andrewnicols","AntonPalmqvist","ApsarasX","chelproc","chernodub","CuratorCat","cwen0","cxOrz","DanRoscigno","deiucanta","deployn","Dr-Electron","dr-ngubo","duanwilliam","elias-pap","imsingh","jeffreyaven","jodyheavener","JohnnyMcWeed","johnnyreilly","Josh-Cena","kaycebasques","kgolubic","layerzzzio","leedom92","LeviticusMB","lex111","lukasbach","mjau-mjau","mxhdx","nartc","naveensrinivasan","pcordon","phryneas","Pierre-Gilles","redhat123456","rev4324","sandypockets","shczhen","slorber","sulu5890","surendran82","svix-ken","sykp241095","zzzhangqi"]},s="2.0.0-beta.19",h={permalink:"/changelog/2.0.0-beta.19",source:"@site/changelog/source/2.0.0-beta.19.md",title:"2.0.0-beta.19",description:"New Feature",date:"2022-05-04T20:00:00.000Z",tags:[],hasTruncateMarker:!0,authors:[{name:"Aaron Nwabuoku",alias:"aerovulpe",url:"https://github.com/aerovulpe",imageURL:"https://github.com/aerovulpe.png",key:"aerovulpe"},{name:"AkiraVoid",alias:"AkiraVoid",url:"https://github.com/AkiraVoid",imageURL:"https://github.com/AkiraVoid.png",key:"AkiraVoid"},{name:"Andrew Lyons",alias:"andrewnicols",url:"https://github.com/andrewnicols",imageURL:"https://github.com/andrewnicols.png",key:"andrewnicols"},{name:"apq",alias:"AntonPalmqvist",url:"https://github.com/AntonPalmqvist",imageURL:"https://github.com/AntonPalmqvist.png",key:"AntonPalmqvist"},{name:"ApsarasX",alias:"ApsarasX",url:"https://github.com/ApsarasX",imageURL:"https://github.com/ApsarasX.png",key:"ApsarasX"},{name:"chelproc",alias:"chelproc",url:"https://github.com/chelproc",imageURL:"https://github.com/chelproc.png",key:"chelproc"},{name:"Viktor Chernodub",alias:"chernodub",url:"https://github.com/chernodub",imageURL:"https://github.com/chernodub.png",key:"chernodub"},{name:"curatorcat.pcc.eth",alias:"CuratorCat",url:"https://github.com/CuratorCat",imageURL:"https://github.com/CuratorCat.png",key:"CuratorCat"},{name:"Cwen Yin",alias:"cwen0",url:"https://github.com/cwen0",imageURL:"https://github.com/cwen0.png",key:"cwen0"},{name:"Fusang\u2740",alias:"cxOrz",url:"https://github.com/cxOrz",imageURL:"https://github.com/cxOrz.png",key:"cxOrz"},{name:"Dan Roscigno",alias:"DanRoscigno",url:"https://github.com/DanRoscigno",imageURL:"https://github.com/DanRoscigno.png",key:"DanRoscigno"},{name:"Andrei Canta",alias:"deiucanta",url:"https://github.com/deiucanta",imageURL:"https://github.com/deiucanta.png",key:"deiucanta"},{name:"deployn",alias:"deployn",url:"https://github.com/deployn",imageURL:"https://github.com/deployn.png",key:"deployn"},{name:"Dr-Electron",alias:"Dr-Electron",url:"https://github.com/Dr-Electron",imageURL:"https://github.com/Dr-Electron.png",key:"Dr-Electron"},{name:"Chinazaekpere Ngubo",alias:"dr-ngubo",url:"https://github.com/dr-ngubo",imageURL:"https://github.com/dr-ngubo.png",key:"dr-ngubo"},{name:"duanwilliam",alias:"duanwilliam",url:"https://github.com/duanwilliam",imageURL:"https://github.com/duanwilliam.png",key:"duanwilliam"},{name:"Elias Papavasileiou",alias:"elias-pap",url:"https://github.com/elias-pap",imageURL:"https://github.com/elias-pap.png",key:"elias-pap"},{name:"Indermohan Singh",alias:"imsingh",url:"https://github.com/imsingh",imageURL:"https://github.com/imsingh.png",key:"imsingh"},{name:"Jeffrey Aven",alias:"jeffreyaven",url:"https://github.com/jeffreyaven",imageURL:"https://github.com/jeffreyaven.png",key:"jeffreyaven"},{name:"Jody Heavener",alias:"jodyheavener",url:"https://github.com/jodyheavener",imageURL:"https://github.com/jodyheavener.png",key:"jodyheavener"},{name:"JMW",alias:"JohnnyMcWeed",url:"https://github.com/JohnnyMcWeed",imageURL:"https://github.com/JohnnyMcWeed.png",key:"JohnnyMcWeed"},{name:"John Reilly",alias:"johnnyreilly",url:"https://github.com/johnnyreilly",imageURL:"https://github.com/johnnyreilly.png",key:"johnnyreilly"},{name:"Joshua Chen",alias:"Josh-Cena",url:"https://github.com/Josh-Cena",imageURL:"https://github.com/Josh-Cena.png",key:"Josh-Cena"},{name:"Kayce Basques",alias:"kaycebasques",url:"https://github.com/kaycebasques",imageURL:"https://github.com/kaycebasques.png",key:"kaycebasques"},{name:"kgolubic",alias:"kgolubic",url:"https://github.com/kgolubic",imageURL:"https://github.com/kgolubic.png",key:"kgolubic"},{name:"loic",alias:"layerzzzio",url:"https://github.com/layerzzzio",imageURL:"https://github.com/layerzzzio.png",key:"layerzzzio"},{name:"Leedom",alias:"leedom92",url:"https://github.com/leedom92",imageURL:"https://github.com/leedom92.png",key:"leedom92"},{name:"Martin Blom",alias:"LeviticusMB",url:"https://github.com/LeviticusMB",imageURL:"https://github.com/LeviticusMB.png",key:"LeviticusMB"},{name:"Alexey Pyltsyn",alias:"lex111",url:"https://github.com/lex111",imageURL:"https://github.com/lex111.png",key:"lex111"},{name:"Lukas Bach",alias:"lukasbach",url:"https://github.com/lukasbach",imageURL:"https://github.com/lukasbach.png",key:"lukasbach"},{name:"Karl Ward",alias:"mjau-mjau",url:"https://github.com/mjau-mjau",imageURL:"https://github.com/mjau-mjau.png",key:"mjau-mjau"},{name:"mehdim",alias:"mxhdx",url:"https://github.com/mxhdx",imageURL:"https://github.com/mxhdx.png",key:"mxhdx"},{name:"Chau Tran",alias:"nartc",url:"https://github.com/nartc",imageURL:"https://github.com/nartc.png",key:"nartc"},{name:"Naveen",alias:"naveensrinivasan",url:"https://github.com/naveensrinivasan",imageURL:"https://github.com/naveensrinivasan.png",key:"naveensrinivasan"},{name:"Pablo Cordon",alias:"pcordon",url:"https://github.com/pcordon",imageURL:"https://github.com/pcordon.png",key:"pcordon"},{name:"Lenz Weber-Tronic",alias:"phryneas",url:"https://github.com/phryneas",imageURL:"https://github.com/phryneas.png",key:"phryneas"},{name:"Pierre-Gilles Leymarie",alias:"Pierre-Gilles",url:"https://github.com/Pierre-Gilles",imageURL:"https://github.com/Pierre-Gilles.png",key:"Pierre-Gilles"},{name:"redhat123456",alias:"redhat123456",url:"https://github.com/redhat123456",imageURL:"https://github.com/redhat123456.png",key:"redhat123456"},{name:"rev",alias:"rev4324",url:"https://github.com/rev4324",imageURL:"https://github.com/rev4324.png",key:"rev4324"},{name:"Zac A",alias:"sandypockets",url:"https://github.com/sandypockets",imageURL:"https://github.com/sandypockets.png",key:"sandypockets"},{name:"czhen",alias:"shczhen",url:"https://github.com/shczhen",imageURL:"https://github.com/shczhen.png",key:"shczhen"},{name:"S\xe9bastien Lorber",alias:"slorber",url:"https://github.com/slorber",imageURL:"https://github.com/slorber.png",key:"slorber"},{name:"Evan",alias:"sulu5890",url:"https://github.com/sulu5890",imageURL:"https://github.com/sulu5890.png",key:"sulu5890"},{name:"surendran82",alias:"surendran82",url:"https://github.com/surendran82",imageURL:"https://github.com/surendran82.png",key:"surendran82"},{name:"svix-ken",alias:"svix-ken",url:"https://github.com/svix-ken",imageURL:"https://github.com/svix-ken.png",key:"svix-ken"},{name:"sykp241095",alias:"sykp241095",url:"https://github.com/sykp241095",imageURL:"https://github.com/sykp241095.png",key:"sykp241095"},{name:"Qi Zhang",alias:"zzzhangqi",url:"https://github.com/zzzhangqi",imageURL:"https://github.com/zzzhangqi.png",key:"zzzhangqi"}],frontMatter:{mdx:{format:"md"},date:"2022-05-04T20:00",authors:["aerovulpe","AkiraVoid","andrewnicols","AntonPalmqvist","ApsarasX","chelproc","chernodub","CuratorCat","cwen0","cxOrz","DanRoscigno","deiucanta","deployn","Dr-Electron","dr-ngubo","duanwilliam","elias-pap","imsingh","jeffreyaven","jodyheavener","JohnnyMcWeed","johnnyreilly","Josh-Cena","kaycebasques","kgolubic","layerzzzio","leedom92","LeviticusMB","lex111","lukasbach","mjau-mjau","mxhdx","nartc","naveensrinivasan","pcordon","phryneas","Pierre-Gilles","redhat123456","rev4324","sandypockets","shczhen","slorber","sulu5890","surendran82","svix-ken","sykp241095","zzzhangqi"]},unlisted:!1,prevItem:{title:"2.0.0-beta.20",permalink:"/changelog/2.0.0-beta.20"},nextItem:{title:"2.0.0-beta.18",permalink:"/changelog/2.0.0-beta.18"},listPageLink:"/changelog/page/2"},r={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},u=[];function m(e){return(0,i.jsx)(i.Fragment,{})}function l(e={}){const{wrapper:a}={...(0,n.a)(),...e.components};return a?(0,i.jsx)(a,{...e,children:(0,i.jsx)(m,{...e})}):m()}},71670:(e,a,t)=>{t.d(a,{Z:()=>h,a:()=>s});var i=t(27378);const n={},o=i.createContext(n);function s(e){const a=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function h(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),i.createElement(o.Provider,{value:a},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/08eb0f2d.10a15267.js b/assets/js/08eb0f2d.10a15267.js
deleted file mode 100644
index f5580c3fed..0000000000
--- a/assets/js/08eb0f2d.10a15267.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[52453],{88675:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>a,default:()=>u,frontMatter:()=>c,metadata:()=>t,toc:()=>o});var i=n(24246),h=n(71670);const c={mdx:{format:"md"},date:"2022-07-08T20:00",authors:["201flaviosilva","7Wate","AkagiYui","alewolf","alexandernst","Altomy","anaclumos","bcabanes","BenDMyers","Boulet-","cbebe","clemiee","datlechin","DharsanB","dht","difranca","dpang314","emattia","forresst","Gary50613","ghostsquad","HyunseungLee-Travis","JeremyDolle","johnie","johnnyreilly","Josh-Cena","jpdriver","jqshuv","kursatsmsek","lanegoolsby","lex111","matkoch","metal-young","mrazauskas","pincman","redcamel","reinvanhaaren","RudraSen2","sado0823","saosangmo","scopsy","SheetJSDev","sigwinch28","slorber","Smilefounder","sserrata","szilarddoro","vannyle","webbertakken","yangshun","zpao"]},a="2.0.0-beta.22",t={permalink:"/changelog/2.0.0-beta.22",source:"@site/changelog/source/2.0.0-beta.22.md",title:"2.0.0-beta.22",description:"Breaking Change",date:"2022-07-08T20:00:00.000Z",tags:[],hasTruncateMarker:!0,authors:[{name:"Fl\xe1vio Silva",alias:"201flaviosilva",url:"https://github.com/201flaviosilva",imageURL:"https://github.com/201flaviosilva.png",key:"201flaviosilva"},{name:"7Wate",alias:"7Wate",url:"https://github.com/7Wate",imageURL:"https://github.com/7Wate.png",key:"7Wate"},{name:"\u8d64\u57ce\u7ed3\u8863",alias:"AkagiYui",url:"https://github.com/AkagiYui",imageURL:"https://github.com/AkagiYui.png",key:"AkagiYui"},{name:"alewolf",alias:"alewolf",url:"https://github.com/alewolf",imageURL:"https://github.com/alewolf.png",key:"alewolf"},{name:"Alexander Nestorov",alias:"alexandernst",url:"https://github.com/alexandernst",imageURL:"https://github.com/alexandernst.png",key:"alexandernst"},{name:"Ahmed Altomy",alias:"Altomy",url:"https://github.com/Altomy",imageURL:"https://github.com/Altomy.png",key:"Altomy"},{name:"Sunghyun Cho",alias:"anaclumos",url:"https://github.com/anaclumos",imageURL:"https://github.com/anaclumos.png",key:"anaclumos"},{name:"Benjamin Cabanes",alias:"bcabanes",url:"https://github.com/bcabanes",imageURL:"https://github.com/bcabanes.png",key:"bcabanes"},{name:"Ben Myers",alias:"BenDMyers",url:"https://github.com/BenDMyers",imageURL:"https://github.com/BenDMyers.png",key:"BenDMyers"},{name:"Boulet",alias:"Boulet-",url:"https://github.com/Boulet-",imageURL:"https://github.com/Boulet-.png",key:"Boulet-"},{name:"Charles Ancheta",alias:"cbebe",url:"https://github.com/cbebe",imageURL:"https://github.com/cbebe.png",key:"cbebe"},{name:"Clemie McCartney",alias:"clemiee",url:"https://github.com/clemiee",imageURL:"https://github.com/clemiee.png",key:"clemiee"},{name:"Ng\xf4 Qu\u1ed1c \u0110\u1ea1t",alias:"datlechin",url:"https://github.com/datlechin",imageURL:"https://github.com/datlechin.png",key:"datlechin"},{name:"Dharsan B",alias:"DharsanB",url:"https://github.com/DharsanB",imageURL:"https://github.com/DharsanB.png",key:"DharsanB"},{name:"dht",alias:"dht",url:"https://github.com/dht",imageURL:"https://github.com/dht.png",key:"dht"},{name:"Diego Fran\xe7a",alias:"difranca",url:"https://github.com/difranca",imageURL:"https://github.com/difranca.png",key:"difranca"},{name:"dpang314",alias:"dpang314",url:"https://github.com/dpang314",imageURL:"https://github.com/dpang314.png",key:"dpang314"},{name:"emattia",alias:"emattia",url:"https://github.com/emattia",imageURL:"https://github.com/emattia.png",key:"emattia"},{name:"Forresst",alias:"forresst",url:"https://github.com/forresst",imageURL:"https://github.com/forresst.png",key:"forresst"},{name:"\u51f1\u6069 Kane",alias:"Gary50613",url:"https://github.com/Gary50613",imageURL:"https://github.com/Gary50613.png",key:"Gary50613"},{name:"Wes McNamee",alias:"ghostsquad",url:"https://github.com/ghostsquad",imageURL:"https://github.com/ghostsquad.png",key:"ghostsquad"},{name:"Hyunseung Lee",alias:"HyunseungLee-Travis",url:"https://github.com/HyunseungLee-Travis",imageURL:"https://github.com/HyunseungLee-Travis.png",key:"HyunseungLee-Travis"},{name:"DOLLE",alias:"JeremyDolle",url:"https://github.com/JeremyDolle",imageURL:"https://github.com/JeremyDolle.png",key:"JeremyDolle"},{name:"Johnie Hjelm",alias:"johnie",url:"https://github.com/johnie",imageURL:"https://github.com/johnie.png",key:"johnie"},{name:"John Reilly",alias:"johnnyreilly",url:"https://github.com/johnnyreilly",imageURL:"https://github.com/johnnyreilly.png",key:"johnnyreilly"},{name:"Joshua Chen",alias:"Josh-Cena",url:"https://github.com/Josh-Cena",imageURL:"https://github.com/Josh-Cena.png",key:"Josh-Cena"},{name:"JP",alias:"jpdriver",url:"https://github.com/jpdriver",imageURL:"https://github.com/jpdriver.png",key:"jpdriver"},{name:"Joshua Schmitt",alias:"jqshuv",url:"https://github.com/jqshuv",imageURL:"https://github.com/jqshuv.png",key:"jqshuv"},{name:"K\xfcr\u015fat \u015eim\u015fek",alias:"kursatsmsek",url:"https://github.com/kursatsmsek",imageURL:"https://github.com/kursatsmsek.png",key:"kursatsmsek"},{name:"Lane Goolsby",alias:"lanegoolsby",url:"https://github.com/lanegoolsby",imageURL:"https://github.com/lanegoolsby.png",key:"lanegoolsby"},{name:"Alexey Pyltsyn",alias:"lex111",url:"https://github.com/lex111",imageURL:"https://github.com/lex111.png",key:"lex111"},{name:"Matthias Koch",alias:"matkoch",url:"https://github.com/matkoch",imageURL:"https://github.com/matkoch.png",key:"matkoch"},{name:"\u674e\u5c0f\u96e8",alias:"metal-young",url:"https://github.com/metal-young",imageURL:"https://github.com/metal-young.png",key:"metal-young"},{name:"Tom Mrazauskas",alias:"mrazauskas",url:"https://github.com/mrazauskas",imageURL:"https://github.com/mrazauskas.png",key:"mrazauskas"},{name:"pincman",alias:"pincman",url:"https://github.com/pincman",imageURL:"https://github.com/pincman.png",key:"pincman"},{name:"Redcamel",alias:"redcamel",url:"https://github.com/redcamel",imageURL:"https://github.com/redcamel.png",key:"redcamel"},{name:"Rein van Haaren",alias:"reinvanhaaren",url:"https://github.com/reinvanhaaren",imageURL:"https://github.com/reinvanhaaren.png",key:"reinvanhaaren"},{name:"Rudra Sen",alias:"RudraSen2",url:"https://github.com/RudraSen2",imageURL:"https://github.com/RudraSen2.png",key:"RudraSen2"},{name:"sado",alias:"sado0823",url:"https://github.com/sado0823",imageURL:"https://github.com/sado0823.png",key:"sado0823"},{name:"Dzung Do",alias:"saosangmo",url:"https://github.com/saosangmo",imageURL:"https://github.com/saosangmo.png",key:"saosangmo"},{name:"Dima Grossman",alias:"scopsy",url:"https://github.com/scopsy",imageURL:"https://github.com/scopsy.png",key:"scopsy"},{name:"SheetJSDev",alias:"SheetJSDev",url:"https://github.com/SheetJSDev",imageURL:"https://github.com/SheetJSDev.png",key:"SheetJSDev"},{name:"Joe Harrison",alias:"sigwinch28",url:"https://github.com/sigwinch28",imageURL:"https://github.com/sigwinch28.png",key:"sigwinch28"},{name:"S\xe9bastien Lorber",alias:"slorber",url:"https://github.com/slorber",imageURL:"https://github.com/slorber.png",key:"slorber"},{name:"Huy Nguyen",alias:"Smilefounder",url:"https://github.com/Smilefounder",imageURL:"https://github.com/Smilefounder.png",key:"Smilefounder"},{name:"Steven Serrata",alias:"sserrata",url:"https://github.com/sserrata",imageURL:"https://github.com/sserrata.png",key:"sserrata"},{name:"Szil\xe1rd D\xf3r\xf3",alias:"szilarddoro",url:"https://github.com/szilarddoro",imageURL:"https://github.com/szilarddoro.png",key:"szilarddoro"},{name:"Le Thi Van",alias:"vannyle",url:"https://github.com/vannyle",imageURL:"https://github.com/vannyle.png",key:"vannyle"},{name:"Webber Takken",alias:"webbertakken",url:"https://github.com/webbertakken",imageURL:"https://github.com/webbertakken.png",key:"webbertakken"},{name:"Yangshun Tay",alias:"yangshun",url:"https://github.com/yangshun",imageURL:"https://github.com/yangshun.png",key:"yangshun"},{name:"Paul O\u2019Shannessy",alias:"zpao",url:"https://github.com/zpao",imageURL:"https://github.com/zpao.png",key:"zpao"}],frontMatter:{mdx:{format:"md"},date:"2022-07-08T20:00",authors:["201flaviosilva","7Wate","AkagiYui","alewolf","alexandernst","Altomy","anaclumos","bcabanes","BenDMyers","Boulet-","cbebe","clemiee","datlechin","DharsanB","dht","difranca","dpang314","emattia","forresst","Gary50613","ghostsquad","HyunseungLee-Travis","JeremyDolle","johnie","johnnyreilly","Josh-Cena","jpdriver","jqshuv","kursatsmsek","lanegoolsby","lex111","matkoch","metal-young","mrazauskas","pincman","redcamel","reinvanhaaren","RudraSen2","sado0823","saosangmo","scopsy","SheetJSDev","sigwinch28","slorber","Smilefounder","sserrata","szilarddoro","vannyle","webbertakken","yangshun","zpao"]},unlisted:!1,prevItem:{title:"2.0.0-rc.1",permalink:"/changelog/2.0.0-rc.1"},nextItem:{title:"2.0.0-beta.21",permalink:"/changelog/2.0.0-beta.21"},listPageLink:"/changelog/page/2"},r={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},o=[{value:"\ud83d\udca5 Breaking Change",id:"boom-breaking-change",level:2},{value:"\ud83d\ude80 New Feature",id:"rocket-new-feature",level:2},{value:"\ud83d\udc1b Bug Fix",id:"bug-bug-fix",level:2},{value:"\ud83d\udc85 Polish",id:"nail_care-polish",level:2},{value:"\ud83d\udcdd Documentation",id:"memo-documentation",level:2},{value:"\ud83d\udd27 Maintenance",id:"wrench-maintenance",level:2},{value:"Committers: 51",id:"committers-51",level:2}];function l(e){const s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,h.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h2,{id:"boom-breaking-change",children:"\ud83d\udca5 Breaking Change"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7740",children:"#7740"})," refactor(theme): nest theme icons under subfolder @theme/Icon/* (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7716",children:"#7716"})," refactor(theme): split BlogPostItem into smaller theme subcomponents (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7660",children:"#7660"})," refactor(theme-common): split package into public/internal API entrypoints (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7644",children:"#7644"})," refactor(docs,theme): split DocItem comp, useDoc hook (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-logger"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7642",children:"#7642"}),' refactor: remove "error" reporting level, move reportMessage to logger (',(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7152",children:"#7152"})," refactor: handle all admonitions via JSX component (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"rocket-new-feature",children:"\ud83d\ude80 New Feature"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7732",children:"#7732"})," feat(theme-translations): Dutch translation (",(0,i.jsx)(s.a,{href:"https://github.com/reinvanhaaren",children:"@reinvanhaaren"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7715",children:"#7715"})," feat(theme-translations): Swedish translation (",(0,i.jsx)(s.a,{href:"https://github.com/johnie",children:"@johnie"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7666",children:"#7666"})," feat(algolia-search): allow translating search modal (",(0,i.jsx)(s.a,{href:"https://github.com/forresst",children:"@forresst"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7643",children:"#7643"})," feat(theme-classic): themeConfig navbar/footer logos accept className/style + update Meta Open-Source Logo (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7649",children:"#7649"})," feat(client-redirects): make plugin respect onDuplicateRoutes config (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7624",children:"#7624"})," feat: allow customizing localization path of each locale (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7581",children:"#7581"})," feat(core): allow opting out of HTML minification (",(0,i.jsx)(s.a,{href:"https://github.com/alexandernst",children:"@alexandernst"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7557",children:"#7557"})," feat: allow specifying custom target for FooterLogo (",(0,i.jsx)(s.a,{href:"https://github.com/vannyle",children:"@vannyle"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7556",children:"#7556"})," feat: add admonition type title translations (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7386",children:"#7386"})," feat(core): allow customizing the i18n directory path (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7514",children:"#7514"})," feat(live-codeblock): add support for noInline to interactive code blocks (",(0,i.jsx)(s.a,{href:"https://github.com/jpdriver",children:"@jpdriver"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7461",children:"#7461"})," feat(content-docs): last_update front matter (",(0,i.jsx)(s.a,{href:"https://github.com/dpang314",children:"@dpang314"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"bug-bug-fix",children:"\ud83d\udc1b Bug Fix"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7727",children:"#7727"})," fix(theme): show blog post edit link even when no tag & not truncated (",(0,i.jsx)(s.a,{href:"https://github.com/anaclumos",children:"@anaclumos"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7659",children:"#7659"})," fix(theme-classic): expose empty string alt text in navbar logos (",(0,i.jsx)(s.a,{href:"https://github.com/BenDMyers",children:"@BenDMyers"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7595",children:"#7595"})," fix(content-pages): add article wrapper around MDXContent (",(0,i.jsx)(s.a,{href:"https://github.com/matkoch",children:"@matkoch"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7694",children:"#7694"})," fix(theme-translations): typo in vi locale (",(0,i.jsx)(s.a,{href:"https://github.com/saosangmo",children:"@saosangmo"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7638",children:"#7638"})," fix(docs): forward doc frontMatter.sidebar_custom_props to linking sidebar category (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7634",children:"#7634"})," fix(content-docs): allow translating doc labels in sidebars.js (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7604",children:"#7604"})," fix(utils): allow any non-boundary characters in Markdown heading ID (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-cssnano-preset"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7593",children:"#7593"})," fix(cssnano-preset): disable z-index minification (",(0,i.jsx)(s.a,{href:"https://github.com/dpang314",children:"@dpang314"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7551",children:"#7551"})," fix(theme-classic): code block wrap mode should allow wrapping in the middle of a word (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7485",children:"#7485"})," fix(theme-classic): inconsistent code block wrapping (",(0,i.jsx)(s.a,{href:"https://github.com/dpang314",children:"@dpang314"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils-common"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7521",children:"#7521"})," fix: make type-checking work in Yarn PnP (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"nail_care-polish",children:"\ud83d\udc85 Polish"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7696",children:"#7696"})," fix(theme-translations): improve grammar of zh translation (",(0,i.jsx)(s.a,{href:"https://github.com/AkagiYui",children:"@AkagiYui"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7691",children:"#7691"})," chore(theme-translations): complete vi translations (",(0,i.jsx)(s.a,{href:"https://github.com/datlechin",children:"@datlechin"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7683",children:"#7683"})," chore(theme-translations): complete ar translations (",(0,i.jsx)(s.a,{href:"https://github.com/Altomy",children:"@Altomy"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7633",children:"#7633"})," chore(theme-translations): complete ko translations (",(0,i.jsx)(s.a,{href:"https://github.com/HyunseungLee-Travis",children:"@HyunseungLee-Travis"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7702",children:"#7702"})," feat(deploy): copy local git config to tmp repo (",(0,i.jsx)(s.a,{href:"https://github.com/ghostsquad",children:"@ghostsquad"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7600",children:"#7600"})," fix: force refresh on chunk preload error (",(0,i.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7673",children:"#7673"}),' fix(content-docs): format last update date as "Jun 19, 2020" (',(0,i.jsx)(s.a,{href:"https://github.com/sigwinch28",children:"@sigwinch28"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7671",children:"#7671"})," refactor(theme-common): rename useDynamicCallback to useEvent (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7648",children:"#7648"})," fix(theme-common): make useShallowMemoObject key-order-insensitive (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"create-docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7639",children:"#7639"})," chore(create): update the facebook template with current assets (",(0,i.jsx)(s.a,{href:"https://github.com/zpao",children:"@zpao"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7520",children:"#7520"})," feat: add engines field to templates' package.json (",(0,i.jsx)(s.a,{href:"https://github.com/johnnyreilly",children:"@johnnyreilly"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7579",children:"#7579"})," refactor(pwa): simplify registerSW code, fix ESLint errors (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7545",children:"#7545"})," feat(analytics): allow query/hash changes to be sent to GA (",(0,i.jsx)(s.a,{href:"https://github.com/lanegoolsby",children:"@lanegoolsby"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"memo-documentation",children:"\ud83d\udcdd Documentation"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["Other\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7739",children:"#7739"})," docs: swizzle react-live with eject (",(0,i.jsx)(s.a,{href:"https://github.com/SheetJSDev",children:"@SheetJSDev"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7723",children:"#7723"})," docs: add GitHub pages deployment troubleshooting guide (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7705",children:"#7705"})," docs: mention MDXContent (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7675",children:"#7675"})," docs: add docusaurus-openapi-docs to resources (",(0,i.jsx)(s.a,{href:"https://github.com/sserrata",children:"@sserrata"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7677",children:"#7677"})," docs: add more info on github cross repo deployment (",(0,i.jsx)(s.a,{href:"https://github.com/bcabanes",children:"@bcabanes"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7563",children:"#7563"})," docs: add awesome-docusaurus resource (",(0,i.jsx)(s.a,{href:"https://github.com/webbertakken",children:"@webbertakken"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7665",children:"#7665"})," docs: add link from every category index page to the guide page (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7519",children:"#7519"})," docs: multiple documentation elaborations (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7518",children:"#7518"})," docs: remove useless front matter (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7512",children:"#7512"})," docs: update Kent C. Dodds Twitter avatar (",(0,i.jsx)(s.a,{href:"https://github.com/DharsanB",children:"@DharsanB"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"create-docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7611",children:"#7611"})," docs: advise using Node 18 in deployment (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7582",children:"#7582"})," docs: make localhost links clickable (",(0,i.jsx)(s.a,{href:"https://github.com/dht",children:"@dht"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7607",children:"#7607"})," refactor(client-redirects): elaborate documentation, minor refactor (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"wrench-maintenance",children:"\ud83d\udd27 Maintenance"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7676",children:"#7676"})," refactor(theme): move LayoutProviders to Layout/Provider; composeProviders util (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7674",children:"#7674"})," chore: prevent importing theme components with relative paths (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7664",children:"#7664"})," chore: upgrade Infima to alpha.40 (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["Other\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7663",children:"#7663"})," misc: share .vscode/extensions.json (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7583",children:"#7583"})," refactor(cli): make the CLI an even thinner wrapper around command functions (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7547",children:"#7547"})," chore: update static-site-generator-webpack-plugin (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-cssnano-preset"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-logger"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-remark-plugin-npm2yarn"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-translations"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils-common"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),", ",(0,i.jsx)(s.code,{children:"eslint-plugin"}),", ",(0,i.jsx)(s.code,{children:"lqip-loader"}),", ",(0,i.jsx)(s.code,{children:"stylelint-copyright"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7586",children:"#7586"})," chore: upgrade to TS 4.7, compile with NodeNext (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"committers-51",children:"Committers: 51"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["7Wate (",(0,i.jsx)(s.a,{href:"https://github.com/7Wate",children:"@7Wate"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Ahmed Altomy (",(0,i.jsx)(s.a,{href:"https://github.com/Altomy",children:"@Altomy"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Alexander Nestorov (",(0,i.jsx)(s.a,{href:"https://github.com/alexandernst",children:"@alexandernst"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Ben Myers (",(0,i.jsx)(s.a,{href:"https://github.com/BenDMyers",children:"@BenDMyers"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Benjamin Cabanes (",(0,i.jsx)(s.a,{href:"https://github.com/bcabanes",children:"@bcabanes"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Boulet (",(0,i.jsx)(s.a,{href:"https://github.com/Boulet-",children:"@Boulet-"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Charles Ancheta (",(0,i.jsx)(s.a,{href:"https://github.com/cbebe",children:"@cbebe"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Clemie McCartney (",(0,i.jsx)(s.a,{href:"https://github.com/clemiee",children:"@clemiee"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["DOLLE (",(0,i.jsx)(s.a,{href:"https://github.com/JeremyDolle",children:"@JeremyDolle"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Dharsan B (",(0,i.jsx)(s.a,{href:"https://github.com/DharsanB",children:"@DharsanB"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Diego Fran\xe7a (",(0,i.jsx)(s.a,{href:"https://github.com/difranca",children:"@difranca"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Dima Grossman (",(0,i.jsx)(s.a,{href:"https://github.com/scopsy",children:"@scopsy"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Dzung Do (",(0,i.jsx)(s.a,{href:"https://github.com/saosangmo",children:"@saosangmo"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Fl\xe1vio Silva (",(0,i.jsx)(s.a,{href:"https://github.com/201flaviosilva",children:"@201flaviosilva"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Forresst (",(0,i.jsx)(s.a,{href:"https://github.com/forresst",children:"@forresst"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Huy Nguyen (",(0,i.jsx)(s.a,{href:"https://github.com/Smilefounder",children:"@Smilefounder"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Hyunseung Lee (",(0,i.jsx)(s.a,{href:"https://github.com/HyunseungLee-Travis",children:"@HyunseungLee-Travis"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["JP (",(0,i.jsx)(s.a,{href:"https://github.com/jpdriver",children:"@jpdriver"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Joe Harrison (",(0,i.jsx)(s.a,{href:"https://github.com/sigwinch28",children:"@sigwinch28"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["John Reilly (",(0,i.jsx)(s.a,{href:"https://github.com/johnnyreilly",children:"@johnnyreilly"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Johnie Hjelm (",(0,i.jsx)(s.a,{href:"https://github.com/johnie",children:"@johnie"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Joshua Chen (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Joshua Schmitt (",(0,i.jsx)(s.a,{href:"https://github.com/jqshuv",children:"@jqshuv"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["K\xfcr\u015fat \u015eim\u015fek (",(0,i.jsx)(s.a,{href:"https://github.com/kursatsmsek",children:"@kursatsmsek"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Lane Goolsby (",(0,i.jsx)(s.a,{href:"https://github.com/lanegoolsby",children:"@lanegoolsby"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Le Thi Van (",(0,i.jsx)(s.a,{href:"https://github.com/vannyle",children:"@vannyle"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Matthias Koch (",(0,i.jsx)(s.a,{href:"https://github.com/matkoch",children:"@matkoch"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Ng\xf4 Qu\u1ed1c \u0110\u1ea1t (",(0,i.jsx)(s.a,{href:"https://github.com/datlechin",children:"@datlechin"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Paul O\u2019Shannessy (",(0,i.jsx)(s.a,{href:"https://github.com/zpao",children:"@zpao"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Redcamel (",(0,i.jsx)(s.a,{href:"https://github.com/redcamel",children:"@redcamel"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Rein van Haaren (",(0,i.jsx)(s.a,{href:"https://github.com/reinvanhaaren",children:"@reinvanhaaren"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Rudra Sen (",(0,i.jsx)(s.a,{href:"https://github.com/RudraSen2",children:"@RudraSen2"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Steven Serrata (",(0,i.jsx)(s.a,{href:"https://github.com/sserrata",children:"@sserrata"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Sunghyun Cho (",(0,i.jsx)(s.a,{href:"https://github.com/anaclumos",children:"@anaclumos"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Szil\xe1rd D\xf3r\xf3 (",(0,i.jsx)(s.a,{href:"https://github.com/szilarddoro",children:"@szilarddoro"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Tom Mrazauskas (",(0,i.jsx)(s.a,{href:"https://github.com/mrazauskas",children:"@mrazauskas"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Webber Takken (",(0,i.jsx)(s.a,{href:"https://github.com/webbertakken",children:"@webbertakken"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Wes McNamee (",(0,i.jsx)(s.a,{href:"https://github.com/ghostsquad",children:"@ghostsquad"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Yangshun Tay (",(0,i.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/SheetJSDev",children:"@SheetJSDev"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/alewolf",children:"@alewolf"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/dpang314",children:"@dpang314"})}),"\n",(0,i.jsxs)(s.li,{children:["dht (",(0,i.jsx)(s.a,{href:"https://github.com/dht",children:"@dht"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["emattia (",(0,i.jsx)(s.a,{href:"https://github.com/emattia",children:"@emattia"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["pincman (",(0,i.jsx)(s.a,{href:"https://github.com/pincman",children:"@pincman"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["sado (",(0,i.jsx)(s.a,{href:"https://github.com/sado0823",children:"@sado0823"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["\u51f1\u6069 Kane (",(0,i.jsx)(s.a,{href:"https://github.com/Gary50613",children:"@Gary50613"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["\u674e\u5c0f\u96e8 (",(0,i.jsx)(s.a,{href:"https://github.com/metal-young",children:"@metal-young"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["\u8d64\u57ce\u7ed3\u8863 (",(0,i.jsx)(s.a,{href:"https://github.com/AkagiYui",children:"@AkagiYui"}),")"]}),"\n"]})]})}function u(e={}){const{wrapper:s}={...(0,h.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},71670:(e,s,n)=>{n.d(s,{Z:()=>t,a:()=>a});var i=n(27378);const h={},c=i.createContext(h);function a(e){const s=i.useContext(c);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(h):e.components||h:a(e.components),i.createElement(c.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/08eb0f2d.89a7042d.js b/assets/js/08eb0f2d.89a7042d.js
new file mode 100644
index 0000000000..27bc824c88
--- /dev/null
+++ b/assets/js/08eb0f2d.89a7042d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[52453],{88675:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>t,contentTitle:()=>h,default:()=>u,frontMatter:()=>l,metadata:()=>c,toc:()=>r});var i=n(24246),a=n(71670);const l={mdx:{format:"md"},date:"2022-07-08T20:00",authors:["201flaviosilva","7Wate","AkagiYui","alewolf","alexandernst","Altomy","anaclumos","bcabanes","BenDMyers","Boulet-","cbebe","clemiee","datlechin","DharsanB","dht","difranca","dpang314","emattia","forresst","Gary50613","ghostsquad","HyunseungLee-Travis","JeremyDolle","johnie","johnnyreilly","Josh-Cena","jpdriver","jqshuv","kursatsmsek","lanegoolsby","lex111","matkoch","metal-young","mrazauskas","pincman","redcamel","reinvanhaaren","RudraSen2","sado0823","saosangmo","scopsy","SheetJSDev","sigwinch28","slorber","Smilefounder","sserrata","szilarddoro","vannyle","webbertakken","yangshun","zpao"]},h="2.0.0-beta.22",c={permalink:"/changelog/2.0.0-beta.22",source:"@site/changelog/source/2.0.0-beta.22.md",title:"2.0.0-beta.22",description:"Breaking Change",date:"2022-07-08T20:00:00.000Z",tags:[],hasTruncateMarker:!0,authors:[{name:"Fl\xe1vio Silva",alias:"201flaviosilva",url:"https://github.com/201flaviosilva",imageURL:"https://github.com/201flaviosilva.png",key:"201flaviosilva",page:null},{name:"7Wate",alias:"7Wate",url:"https://github.com/7Wate",imageURL:"https://github.com/7Wate.png",key:"7Wate",page:null},{name:"\u8d64\u57ce\u7ed3\u8863",alias:"AkagiYui",url:"https://github.com/AkagiYui",imageURL:"https://github.com/AkagiYui.png",key:"AkagiYui",page:null},{name:"alewolf",alias:"alewolf",url:"https://github.com/alewolf",imageURL:"https://github.com/alewolf.png",key:"alewolf",page:null},{name:"Alexander Nestorov",alias:"alexandernst",url:"https://github.com/alexandernst",imageURL:"https://github.com/alexandernst.png",key:"alexandernst",page:null},{name:"Ahmed Altomy",alias:"Altomy",url:"https://github.com/Altomy",imageURL:"https://github.com/Altomy.png",key:"Altomy",page:null},{name:"Sunghyun Cho",alias:"anaclumos",url:"https://github.com/anaclumos",imageURL:"https://github.com/anaclumos.png",key:"anaclumos",page:null},{name:"Benjamin Cabanes",alias:"bcabanes",url:"https://github.com/bcabanes",imageURL:"https://github.com/bcabanes.png",key:"bcabanes",page:null},{name:"Ben Myers",alias:"BenDMyers",url:"https://github.com/BenDMyers",imageURL:"https://github.com/BenDMyers.png",key:"BenDMyers",page:null},{name:"Boulet",alias:"Boulet-",url:"https://github.com/Boulet-",imageURL:"https://github.com/Boulet-.png",key:"Boulet-",page:null},{name:"Charles Ancheta",alias:"cbebe",url:"https://github.com/cbebe",imageURL:"https://github.com/cbebe.png",key:"cbebe",page:null},{name:"Clemie McCartney",alias:"clemiee",url:"https://github.com/clemiee",imageURL:"https://github.com/clemiee.png",key:"clemiee",page:null},{name:"Ng\xf4 Qu\u1ed1c \u0110\u1ea1t",alias:"datlechin",url:"https://github.com/datlechin",imageURL:"https://github.com/datlechin.png",key:"datlechin",page:null},{name:"Dharsan B",alias:"DharsanB",url:"https://github.com/DharsanB",imageURL:"https://github.com/DharsanB.png",key:"DharsanB",page:null},{name:"dht",alias:"dht",url:"https://github.com/dht",imageURL:"https://github.com/dht.png",key:"dht",page:null},{name:"Diego Fran\xe7a",alias:"difranca",url:"https://github.com/difranca",imageURL:"https://github.com/difranca.png",key:"difranca",page:null},{name:"dpang314",alias:"dpang314",url:"https://github.com/dpang314",imageURL:"https://github.com/dpang314.png",key:"dpang314",page:null},{name:"emattia",alias:"emattia",url:"https://github.com/emattia",imageURL:"https://github.com/emattia.png",key:"emattia",page:null},{name:"Forresst",alias:"forresst",url:"https://github.com/forresst",imageURL:"https://github.com/forresst.png",key:"forresst",page:null},{name:"\u51f1\u6069 Kane",alias:"Gary50613",url:"https://github.com/Gary50613",imageURL:"https://github.com/Gary50613.png",key:"Gary50613",page:null},{name:"Wes McNamee",alias:"ghostsquad",url:"https://github.com/ghostsquad",imageURL:"https://github.com/ghostsquad.png",key:"ghostsquad",page:null},{name:"Hyunseung Lee",alias:"HyunseungLee-Travis",url:"https://github.com/HyunseungLee-Travis",imageURL:"https://github.com/HyunseungLee-Travis.png",key:"HyunseungLee-Travis",page:null},{name:"DOLLE",alias:"JeremyDolle",url:"https://github.com/JeremyDolle",imageURL:"https://github.com/JeremyDolle.png",key:"JeremyDolle",page:null},{name:"Johnie Hjelm",alias:"johnie",url:"https://github.com/johnie",imageURL:"https://github.com/johnie.png",key:"johnie",page:null},{name:"John Reilly",alias:"johnnyreilly",url:"https://github.com/johnnyreilly",imageURL:"https://github.com/johnnyreilly.png",key:"johnnyreilly",page:null},{name:"Joshua Chen",alias:"Josh-Cena",url:"https://github.com/Josh-Cena",imageURL:"https://github.com/Josh-Cena.png",key:"Josh-Cena",page:null},{name:"JP",alias:"jpdriver",url:"https://github.com/jpdriver",imageURL:"https://github.com/jpdriver.png",key:"jpdriver",page:null},{name:"Joshua Schmitt",alias:"jqshuv",url:"https://github.com/jqshuv",imageURL:"https://github.com/jqshuv.png",key:"jqshuv",page:null},{name:"K\xfcr\u015fat \u015eim\u015fek",alias:"kursatsmsek",url:"https://github.com/kursatsmsek",imageURL:"https://github.com/kursatsmsek.png",key:"kursatsmsek",page:null},{name:"Lane Goolsby",alias:"lanegoolsby",url:"https://github.com/lanegoolsby",imageURL:"https://github.com/lanegoolsby.png",key:"lanegoolsby",page:null},{name:"Alexey Pyltsyn",alias:"lex111",url:"https://github.com/lex111",imageURL:"https://github.com/lex111.png",key:"lex111",page:null},{name:"Matthias Koch",alias:"matkoch",url:"https://github.com/matkoch",imageURL:"https://github.com/matkoch.png",key:"matkoch",page:null},{name:"\u674e\u5c0f\u96e8",alias:"metal-young",url:"https://github.com/metal-young",imageURL:"https://github.com/metal-young.png",key:"metal-young",page:null},{name:"Tom Mrazauskas",alias:"mrazauskas",url:"https://github.com/mrazauskas",imageURL:"https://github.com/mrazauskas.png",key:"mrazauskas",page:null},{name:"pincman",alias:"pincman",url:"https://github.com/pincman",imageURL:"https://github.com/pincman.png",key:"pincman",page:null},{name:"Redcamel",alias:"redcamel",url:"https://github.com/redcamel",imageURL:"https://github.com/redcamel.png",key:"redcamel",page:null},{name:"Rein van Haaren",alias:"reinvanhaaren",url:"https://github.com/reinvanhaaren",imageURL:"https://github.com/reinvanhaaren.png",key:"reinvanhaaren",page:null},{name:"Rudra Sen",alias:"RudraSen2",url:"https://github.com/RudraSen2",imageURL:"https://github.com/RudraSen2.png",key:"RudraSen2",page:null},{name:"sado",alias:"sado0823",url:"https://github.com/sado0823",imageURL:"https://github.com/sado0823.png",key:"sado0823",page:null},{name:"Dzung Do",alias:"saosangmo",url:"https://github.com/saosangmo",imageURL:"https://github.com/saosangmo.png",key:"saosangmo",page:null},{name:"Dima Grossman",alias:"scopsy",url:"https://github.com/scopsy",imageURL:"https://github.com/scopsy.png",key:"scopsy",page:null},{name:"SheetJSDev",alias:"SheetJSDev",url:"https://github.com/SheetJSDev",imageURL:"https://github.com/SheetJSDev.png",key:"SheetJSDev",page:null},{name:"Joe Harrison",alias:"sigwinch28",url:"https://github.com/sigwinch28",imageURL:"https://github.com/sigwinch28.png",key:"sigwinch28",page:null},{name:"S\xe9bastien Lorber",alias:"slorber",url:"https://github.com/slorber",imageURL:"https://github.com/slorber.png",key:"slorber",page:null},{name:"Huy Nguyen",alias:"Smilefounder",url:"https://github.com/Smilefounder",imageURL:"https://github.com/Smilefounder.png",key:"Smilefounder",page:null},{name:"Steven Serrata",alias:"sserrata",url:"https://github.com/sserrata",imageURL:"https://github.com/sserrata.png",key:"sserrata",page:null},{name:"Szil\xe1rd D\xf3r\xf3",alias:"szilarddoro",url:"https://github.com/szilarddoro",imageURL:"https://github.com/szilarddoro.png",key:"szilarddoro",page:null},{name:"Le Thi Van",alias:"vannyle",url:"https://github.com/vannyle",imageURL:"https://github.com/vannyle.png",key:"vannyle",page:null},{name:"Webber Takken",alias:"webbertakken",url:"https://github.com/webbertakken",imageURL:"https://github.com/webbertakken.png",key:"webbertakken",page:null},{name:"Yangshun Tay",alias:"yangshun",url:"https://github.com/yangshun",imageURL:"https://github.com/yangshun.png",key:"yangshun",page:null},{name:"Paul O\u2019Shannessy",alias:"zpao",url:"https://github.com/zpao",imageURL:"https://github.com/zpao.png",key:"zpao",page:null}],frontMatter:{mdx:{format:"md"},date:"2022-07-08T20:00",authors:["201flaviosilva","7Wate","AkagiYui","alewolf","alexandernst","Altomy","anaclumos","bcabanes","BenDMyers","Boulet-","cbebe","clemiee","datlechin","DharsanB","dht","difranca","dpang314","emattia","forresst","Gary50613","ghostsquad","HyunseungLee-Travis","JeremyDolle","johnie","johnnyreilly","Josh-Cena","jpdriver","jqshuv","kursatsmsek","lanegoolsby","lex111","matkoch","metal-young","mrazauskas","pincman","redcamel","reinvanhaaren","RudraSen2","sado0823","saosangmo","scopsy","SheetJSDev","sigwinch28","slorber","Smilefounder","sserrata","szilarddoro","vannyle","webbertakken","yangshun","zpao"]},unlisted:!1,prevItem:{title:"2.0.0-rc.1",permalink:"/changelog/2.0.0-rc.1"},nextItem:{title:"2.0.0-beta.21",permalink:"/changelog/2.0.0-beta.21"},listPageLink:"/changelog/page/2"},t={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},r=[{value:"\ud83d\udca5 Breaking Change",id:"boom-breaking-change",level:2},{value:"\ud83d\ude80 New Feature",id:"rocket-new-feature",level:2},{value:"\ud83d\udc1b Bug Fix",id:"bug-bug-fix",level:2},{value:"\ud83d\udc85 Polish",id:"nail_care-polish",level:2},{value:"\ud83d\udcdd Documentation",id:"memo-documentation",level:2},{value:"\ud83d\udd27 Maintenance",id:"wrench-maintenance",level:2},{value:"Committers: 51",id:"committers-51",level:2}];function o(e){const s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,a.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h2,{id:"boom-breaking-change",children:"\ud83d\udca5 Breaking Change"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7740",children:"#7740"})," refactor(theme): nest theme icons under subfolder @theme/Icon/* (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7716",children:"#7716"})," refactor(theme): split BlogPostItem into smaller theme subcomponents (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7660",children:"#7660"})," refactor(theme-common): split package into public/internal API entrypoints (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7644",children:"#7644"})," refactor(docs,theme): split DocItem comp, useDoc hook (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-logger"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7642",children:"#7642"}),' refactor: remove "error" reporting level, move reportMessage to logger (',(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7152",children:"#7152"})," refactor: handle all admonitions via JSX component (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"rocket-new-feature",children:"\ud83d\ude80 New Feature"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7732",children:"#7732"})," feat(theme-translations): Dutch translation (",(0,i.jsx)(s.a,{href:"https://github.com/reinvanhaaren",children:"@reinvanhaaren"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7715",children:"#7715"})," feat(theme-translations): Swedish translation (",(0,i.jsx)(s.a,{href:"https://github.com/johnie",children:"@johnie"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7666",children:"#7666"})," feat(algolia-search): allow translating search modal (",(0,i.jsx)(s.a,{href:"https://github.com/forresst",children:"@forresst"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7643",children:"#7643"})," feat(theme-classic): themeConfig navbar/footer logos accept className/style + update Meta Open-Source Logo (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7649",children:"#7649"})," feat(client-redirects): make plugin respect onDuplicateRoutes config (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7624",children:"#7624"})," feat: allow customizing localization path of each locale (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7581",children:"#7581"})," feat(core): allow opting out of HTML minification (",(0,i.jsx)(s.a,{href:"https://github.com/alexandernst",children:"@alexandernst"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7557",children:"#7557"})," feat: allow specifying custom target for FooterLogo (",(0,i.jsx)(s.a,{href:"https://github.com/vannyle",children:"@vannyle"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7556",children:"#7556"})," feat: add admonition type title translations (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7386",children:"#7386"})," feat(core): allow customizing the i18n directory path (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7514",children:"#7514"})," feat(live-codeblock): add support for noInline to interactive code blocks (",(0,i.jsx)(s.a,{href:"https://github.com/jpdriver",children:"@jpdriver"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7461",children:"#7461"})," feat(content-docs): last_update front matter (",(0,i.jsx)(s.a,{href:"https://github.com/dpang314",children:"@dpang314"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"bug-bug-fix",children:"\ud83d\udc1b Bug Fix"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7727",children:"#7727"})," fix(theme): show blog post edit link even when no tag & not truncated (",(0,i.jsx)(s.a,{href:"https://github.com/anaclumos",children:"@anaclumos"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7659",children:"#7659"})," fix(theme-classic): expose empty string alt text in navbar logos (",(0,i.jsx)(s.a,{href:"https://github.com/BenDMyers",children:"@BenDMyers"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7595",children:"#7595"})," fix(content-pages): add article wrapper around MDXContent (",(0,i.jsx)(s.a,{href:"https://github.com/matkoch",children:"@matkoch"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7694",children:"#7694"})," fix(theme-translations): typo in vi locale (",(0,i.jsx)(s.a,{href:"https://github.com/saosangmo",children:"@saosangmo"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7638",children:"#7638"})," fix(docs): forward doc frontMatter.sidebar_custom_props to linking sidebar category (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7634",children:"#7634"})," fix(content-docs): allow translating doc labels in sidebars.js (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7604",children:"#7604"})," fix(utils): allow any non-boundary characters in Markdown heading ID (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-cssnano-preset"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7593",children:"#7593"})," fix(cssnano-preset): disable z-index minification (",(0,i.jsx)(s.a,{href:"https://github.com/dpang314",children:"@dpang314"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7551",children:"#7551"})," fix(theme-classic): code block wrap mode should allow wrapping in the middle of a word (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7485",children:"#7485"})," fix(theme-classic): inconsistent code block wrapping (",(0,i.jsx)(s.a,{href:"https://github.com/dpang314",children:"@dpang314"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils-common"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7521",children:"#7521"})," fix: make type-checking work in Yarn PnP (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"nail_care-polish",children:"\ud83d\udc85 Polish"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7696",children:"#7696"})," fix(theme-translations): improve grammar of zh translation (",(0,i.jsx)(s.a,{href:"https://github.com/AkagiYui",children:"@AkagiYui"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7691",children:"#7691"})," chore(theme-translations): complete vi translations (",(0,i.jsx)(s.a,{href:"https://github.com/datlechin",children:"@datlechin"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7683",children:"#7683"})," chore(theme-translations): complete ar translations (",(0,i.jsx)(s.a,{href:"https://github.com/Altomy",children:"@Altomy"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7633",children:"#7633"})," chore(theme-translations): complete ko translations (",(0,i.jsx)(s.a,{href:"https://github.com/HyunseungLee-Travis",children:"@HyunseungLee-Travis"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7702",children:"#7702"})," feat(deploy): copy local git config to tmp repo (",(0,i.jsx)(s.a,{href:"https://github.com/ghostsquad",children:"@ghostsquad"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7600",children:"#7600"})," fix: force refresh on chunk preload error (",(0,i.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7673",children:"#7673"}),' fix(content-docs): format last update date as "Jun 19, 2020" (',(0,i.jsx)(s.a,{href:"https://github.com/sigwinch28",children:"@sigwinch28"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7671",children:"#7671"})," refactor(theme-common): rename useDynamicCallback to useEvent (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7648",children:"#7648"})," fix(theme-common): make useShallowMemoObject key-order-insensitive (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"create-docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7639",children:"#7639"})," chore(create): update the facebook template with current assets (",(0,i.jsx)(s.a,{href:"https://github.com/zpao",children:"@zpao"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7520",children:"#7520"})," feat: add engines field to templates' package.json (",(0,i.jsx)(s.a,{href:"https://github.com/johnnyreilly",children:"@johnnyreilly"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7579",children:"#7579"})," refactor(pwa): simplify registerSW code, fix ESLint errors (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7545",children:"#7545"})," feat(analytics): allow query/hash changes to be sent to GA (",(0,i.jsx)(s.a,{href:"https://github.com/lanegoolsby",children:"@lanegoolsby"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"memo-documentation",children:"\ud83d\udcdd Documentation"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["Other\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7739",children:"#7739"})," docs: swizzle react-live with eject (",(0,i.jsx)(s.a,{href:"https://github.com/SheetJSDev",children:"@SheetJSDev"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7723",children:"#7723"})," docs: add GitHub pages deployment troubleshooting guide (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7705",children:"#7705"})," docs: mention MDXContent (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7675",children:"#7675"})," docs: add docusaurus-openapi-docs to resources (",(0,i.jsx)(s.a,{href:"https://github.com/sserrata",children:"@sserrata"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7677",children:"#7677"})," docs: add more info on github cross repo deployment (",(0,i.jsx)(s.a,{href:"https://github.com/bcabanes",children:"@bcabanes"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7563",children:"#7563"})," docs: add awesome-docusaurus resource (",(0,i.jsx)(s.a,{href:"https://github.com/webbertakken",children:"@webbertakken"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7665",children:"#7665"})," docs: add link from every category index page to the guide page (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7519",children:"#7519"})," docs: multiple documentation elaborations (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7518",children:"#7518"})," docs: remove useless front matter (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7512",children:"#7512"})," docs: update Kent C. Dodds Twitter avatar (",(0,i.jsx)(s.a,{href:"https://github.com/DharsanB",children:"@DharsanB"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"create-docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7611",children:"#7611"})," docs: advise using Node 18 in deployment (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7582",children:"#7582"})," docs: make localhost links clickable (",(0,i.jsx)(s.a,{href:"https://github.com/dht",children:"@dht"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7607",children:"#7607"})," refactor(client-redirects): elaborate documentation, minor refactor (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"wrench-maintenance",children:"\ud83d\udd27 Maintenance"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7676",children:"#7676"})," refactor(theme): move LayoutProviders to Layout/Provider; composeProviders util (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7674",children:"#7674"})," chore: prevent importing theme components with relative paths (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7664",children:"#7664"})," chore: upgrade Infima to alpha.40 (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["Other\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7663",children:"#7663"})," misc: share .vscode/extensions.json (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7583",children:"#7583"})," refactor(cli): make the CLI an even thinner wrapper around command functions (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7547",children:"#7547"})," chore: update static-site-generator-webpack-plugin (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-cssnano-preset"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-logger"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-remark-plugin-npm2yarn"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-translations"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils-common"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),", ",(0,i.jsx)(s.code,{children:"eslint-plugin"}),", ",(0,i.jsx)(s.code,{children:"lqip-loader"}),", ",(0,i.jsx)(s.code,{children:"stylelint-copyright"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7586",children:"#7586"})," chore: upgrade to TS 4.7, compile with NodeNext (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"committers-51",children:"Committers: 51"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["7Wate (",(0,i.jsx)(s.a,{href:"https://github.com/7Wate",children:"@7Wate"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Ahmed Altomy (",(0,i.jsx)(s.a,{href:"https://github.com/Altomy",children:"@Altomy"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Alexander Nestorov (",(0,i.jsx)(s.a,{href:"https://github.com/alexandernst",children:"@alexandernst"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Ben Myers (",(0,i.jsx)(s.a,{href:"https://github.com/BenDMyers",children:"@BenDMyers"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Benjamin Cabanes (",(0,i.jsx)(s.a,{href:"https://github.com/bcabanes",children:"@bcabanes"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Boulet (",(0,i.jsx)(s.a,{href:"https://github.com/Boulet-",children:"@Boulet-"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Charles Ancheta (",(0,i.jsx)(s.a,{href:"https://github.com/cbebe",children:"@cbebe"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Clemie McCartney (",(0,i.jsx)(s.a,{href:"https://github.com/clemiee",children:"@clemiee"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["DOLLE (",(0,i.jsx)(s.a,{href:"https://github.com/JeremyDolle",children:"@JeremyDolle"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Dharsan B (",(0,i.jsx)(s.a,{href:"https://github.com/DharsanB",children:"@DharsanB"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Diego Fran\xe7a (",(0,i.jsx)(s.a,{href:"https://github.com/difranca",children:"@difranca"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Dima Grossman (",(0,i.jsx)(s.a,{href:"https://github.com/scopsy",children:"@scopsy"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Dzung Do (",(0,i.jsx)(s.a,{href:"https://github.com/saosangmo",children:"@saosangmo"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Fl\xe1vio Silva (",(0,i.jsx)(s.a,{href:"https://github.com/201flaviosilva",children:"@201flaviosilva"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Forresst (",(0,i.jsx)(s.a,{href:"https://github.com/forresst",children:"@forresst"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Huy Nguyen (",(0,i.jsx)(s.a,{href:"https://github.com/Smilefounder",children:"@Smilefounder"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Hyunseung Lee (",(0,i.jsx)(s.a,{href:"https://github.com/HyunseungLee-Travis",children:"@HyunseungLee-Travis"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["JP (",(0,i.jsx)(s.a,{href:"https://github.com/jpdriver",children:"@jpdriver"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Joe Harrison (",(0,i.jsx)(s.a,{href:"https://github.com/sigwinch28",children:"@sigwinch28"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["John Reilly (",(0,i.jsx)(s.a,{href:"https://github.com/johnnyreilly",children:"@johnnyreilly"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Johnie Hjelm (",(0,i.jsx)(s.a,{href:"https://github.com/johnie",children:"@johnie"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Joshua Chen (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Joshua Schmitt (",(0,i.jsx)(s.a,{href:"https://github.com/jqshuv",children:"@jqshuv"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["K\xfcr\u015fat \u015eim\u015fek (",(0,i.jsx)(s.a,{href:"https://github.com/kursatsmsek",children:"@kursatsmsek"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Lane Goolsby (",(0,i.jsx)(s.a,{href:"https://github.com/lanegoolsby",children:"@lanegoolsby"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Le Thi Van (",(0,i.jsx)(s.a,{href:"https://github.com/vannyle",children:"@vannyle"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Matthias Koch (",(0,i.jsx)(s.a,{href:"https://github.com/matkoch",children:"@matkoch"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Ng\xf4 Qu\u1ed1c \u0110\u1ea1t (",(0,i.jsx)(s.a,{href:"https://github.com/datlechin",children:"@datlechin"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Paul O\u2019Shannessy (",(0,i.jsx)(s.a,{href:"https://github.com/zpao",children:"@zpao"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Redcamel (",(0,i.jsx)(s.a,{href:"https://github.com/redcamel",children:"@redcamel"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Rein van Haaren (",(0,i.jsx)(s.a,{href:"https://github.com/reinvanhaaren",children:"@reinvanhaaren"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Rudra Sen (",(0,i.jsx)(s.a,{href:"https://github.com/RudraSen2",children:"@RudraSen2"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Steven Serrata (",(0,i.jsx)(s.a,{href:"https://github.com/sserrata",children:"@sserrata"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Sunghyun Cho (",(0,i.jsx)(s.a,{href:"https://github.com/anaclumos",children:"@anaclumos"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Szil\xe1rd D\xf3r\xf3 (",(0,i.jsx)(s.a,{href:"https://github.com/szilarddoro",children:"@szilarddoro"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Tom Mrazauskas (",(0,i.jsx)(s.a,{href:"https://github.com/mrazauskas",children:"@mrazauskas"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Webber Takken (",(0,i.jsx)(s.a,{href:"https://github.com/webbertakken",children:"@webbertakken"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Wes McNamee (",(0,i.jsx)(s.a,{href:"https://github.com/ghostsquad",children:"@ghostsquad"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Yangshun Tay (",(0,i.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/SheetJSDev",children:"@SheetJSDev"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/alewolf",children:"@alewolf"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/dpang314",children:"@dpang314"})}),"\n",(0,i.jsxs)(s.li,{children:["dht (",(0,i.jsx)(s.a,{href:"https://github.com/dht",children:"@dht"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["emattia (",(0,i.jsx)(s.a,{href:"https://github.com/emattia",children:"@emattia"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["pincman (",(0,i.jsx)(s.a,{href:"https://github.com/pincman",children:"@pincman"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["sado (",(0,i.jsx)(s.a,{href:"https://github.com/sado0823",children:"@sado0823"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["\u51f1\u6069 Kane (",(0,i.jsx)(s.a,{href:"https://github.com/Gary50613",children:"@Gary50613"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["\u674e\u5c0f\u96e8 (",(0,i.jsx)(s.a,{href:"https://github.com/metal-young",children:"@metal-young"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["\u8d64\u57ce\u7ed3\u8863 (",(0,i.jsx)(s.a,{href:"https://github.com/AkagiYui",children:"@AkagiYui"}),")"]}),"\n"]})]})}function u(e={}){const{wrapper:s}={...(0,a.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},71670:(e,s,n)=>{n.d(s,{Z:()=>c,a:()=>h});var i=n(27378);const a={},l=i.createContext(a);function h(e){const s=i.useContext(l);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:h(e.components),i.createElement(l.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/090b93b4.348231da.js b/assets/js/090b93b4.348231da.js
new file mode 100644
index 0000000000..9d7052812b
--- /dev/null
+++ b/assets/js/090b93b4.348231da.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[98796],{75736:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>r,contentTitle:()=>o,default:()=>m,frontMatter:()=>s,metadata:()=>l,toc:()=>h});var n=a(24246),i=a(71670);const s={mdx:{format:"md"},date:"2022-03-03T20:00",authors:["anicholls","arifszn","dmitryvinn","dstotijn","Josh-Cena","PatelN123","slorber","vaibhavshn"]},o="2.0.0-beta.17",l={permalink:"/changelog/2.0.0-beta.17",source:"@site/changelog/source/2.0.0-beta.17.md",title:"2.0.0-beta.17",description:"New Feature",date:"2022-03-03T20:00:00.000Z",tags:[],hasTruncateMarker:!0,authors:[{name:"Alex Nicholls",alias:"anicholls",url:"https://github.com/anicholls",imageURL:"https://github.com/anicholls.png",key:"anicholls",page:null},{name:"Ariful Alam",alias:"arifszn",url:"https://github.com/arifszn",imageURL:"https://github.com/arifszn.png",key:"arifszn",page:null},{name:"Dmitry Vinnik",alias:"dmitryvinn",url:"https://github.com/dmitryvinn",imageURL:"https://github.com/dmitryvinn.png",key:"dmitryvinn",page:null},{name:"David Stotijn",alias:"dstotijn",url:"https://github.com/dstotijn",imageURL:"https://github.com/dstotijn.png",key:"dstotijn",page:null},{name:"Joshua Chen",alias:"Josh-Cena",url:"https://github.com/Josh-Cena",imageURL:"https://github.com/Josh-Cena.png",key:"Josh-Cena",page:null},{name:"Nayan Patel",alias:"PatelN123",url:"https://github.com/PatelN123",imageURL:"https://github.com/PatelN123.png",key:"PatelN123",page:null},{name:"S\xe9bastien Lorber",alias:"slorber",url:"https://github.com/slorber",imageURL:"https://github.com/slorber.png",key:"slorber",page:null},{name:"Vaibhav Shinde",alias:"vaibhavshn",url:"https://github.com/vaibhavshn",imageURL:"https://github.com/vaibhavshn.png",key:"vaibhavshn",page:null}],frontMatter:{mdx:{format:"md"},date:"2022-03-03T20:00",authors:["anicholls","arifszn","dmitryvinn","dstotijn","Josh-Cena","PatelN123","slorber","vaibhavshn"]},unlisted:!1,prevItem:{title:"2.0.0-beta.18",permalink:"/changelog/2.0.0-beta.18"},nextItem:{title:"2.0.0-beta.16",permalink:"/changelog/2.0.0-beta.16"},listPageLink:"/changelog/page/2"},r={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},h=[];function u(t){return(0,n.jsx)(n.Fragment,{})}function m(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(u,{...t})}):u()}},71670:(t,e,a)=>{a.d(e,{Z:()=>l,a:()=>o});var n=a(27378);const i={},s=n.createContext(i);function o(t){const e=n.useContext(s);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function l(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:o(t.components),n.createElement(s.Provider,{value:e},t.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/090b93b4.a5c9059f.js b/assets/js/090b93b4.a5c9059f.js
deleted file mode 100644
index af4d4e4061..0000000000
--- a/assets/js/090b93b4.a5c9059f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[98796],{75736:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>h,contentTitle:()=>o,default:()=>c,frontMatter:()=>s,metadata:()=>r,toc:()=>l});var n=a(24246),i=a(71670);const s={mdx:{format:"md"},date:"2022-03-03T20:00",authors:["anicholls","arifszn","dmitryvinn","dstotijn","Josh-Cena","PatelN123","slorber","vaibhavshn"]},o="2.0.0-beta.17",r={permalink:"/changelog/2.0.0-beta.17",source:"@site/changelog/source/2.0.0-beta.17.md",title:"2.0.0-beta.17",description:"New Feature",date:"2022-03-03T20:00:00.000Z",tags:[],hasTruncateMarker:!0,authors:[{name:"Alex Nicholls",alias:"anicholls",url:"https://github.com/anicholls",imageURL:"https://github.com/anicholls.png",key:"anicholls"},{name:"Ariful Alam",alias:"arifszn",url:"https://github.com/arifszn",imageURL:"https://github.com/arifszn.png",key:"arifszn"},{name:"Dmitry Vinnik",alias:"dmitryvinn",url:"https://github.com/dmitryvinn",imageURL:"https://github.com/dmitryvinn.png",key:"dmitryvinn"},{name:"David Stotijn",alias:"dstotijn",url:"https://github.com/dstotijn",imageURL:"https://github.com/dstotijn.png",key:"dstotijn"},{name:"Joshua Chen",alias:"Josh-Cena",url:"https://github.com/Josh-Cena",imageURL:"https://github.com/Josh-Cena.png",key:"Josh-Cena"},{name:"Nayan Patel",alias:"PatelN123",url:"https://github.com/PatelN123",imageURL:"https://github.com/PatelN123.png",key:"PatelN123"},{name:"S\xe9bastien Lorber",alias:"slorber",url:"https://github.com/slorber",imageURL:"https://github.com/slorber.png",key:"slorber"},{name:"Vaibhav Shinde",alias:"vaibhavshn",url:"https://github.com/vaibhavshn",imageURL:"https://github.com/vaibhavshn.png",key:"vaibhavshn"}],frontMatter:{mdx:{format:"md"},date:"2022-03-03T20:00",authors:["anicholls","arifszn","dmitryvinn","dstotijn","Josh-Cena","PatelN123","slorber","vaibhavshn"]},unlisted:!1,prevItem:{title:"2.0.0-beta.18",permalink:"/changelog/2.0.0-beta.18"},nextItem:{title:"2.0.0-beta.16",permalink:"/changelog/2.0.0-beta.16"},listPageLink:"/changelog/page/2"},h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},l=[];function m(t){return(0,n.jsx)(n.Fragment,{})}function c(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(m,{...t})}):m()}},71670:(t,e,a)=>{a.d(e,{Z:()=>r,a:()=>o});var n=a(27378);const i={},s=n.createContext(i);function o(t){const e=n.useContext(s);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:o(t.components),n.createElement(s.Provider,{value:e},t.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/0938a5e1.119f4abb.js b/assets/js/0938a5e1.119f4abb.js
new file mode 100644
index 0000000000..c3df894fee
--- /dev/null
+++ b/assets/js/0938a5e1.119f4abb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8648],{40805:(e,s,r)=>{r.d(s,{Z:()=>n});const n=r.p+"assets/images/social-card-402517ac2205718a22585e627fe1351c.png"},6698:(e,s,r)=>{r.d(s,{Z:()=>l});var n=r(24246),a=(r(27378),r(40624));const t={browserWindow:"browserWindow_my1Q",browserWindowHeader:"browserWindowHeader_jXSR",row:"row_KZDM",buttons:"buttons_uHc7",right:"right_oyze",browserWindowAddressBar:"browserWindowAddressBar_Pd8y",dot:"dot_giz1",browserWindowMenuIcon:"browserWindowMenuIcon_Vhuh",bar:"bar_rrRL",browserWindowBody:"browserWindowBody_Idgs"};function o(e,s,r){return s in e?Object.defineProperty(e,s,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[s]=r,e}function i(e){for(var s=1;s{r.d(s,{Z:()=>n});const n=r.p+"assets/images/social-card-402517ac2205718a22585e627fe1351c.png"},73660:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var n=r(24246),a=r(71670),t=r(6698);const o={title:"Docusaurus 2.2",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2022-10-29T00:00:00.000Z")},i=void 0,c={permalink:"/blog/releases/2.2",editUrl:"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/2.2/index.mdx",source:"@site/blog/releases/2.2/index.mdx",title:"Docusaurus 2.2",description:"We are happy to announce Docusaurus 2.2.",date:"2022-10-29T00:00:00.000Z",tags:[{inline:!1,label:"Release",permalink:"/blog/tags/release",description:"Blog posts about Docusaurus' new releases"}],readingTime:2.2,hasTruncateMarker:!0,authors:[{name:"S\xe9bastien Lorber",title:"Docusaurus maintainer, This Week In React editor",url:"https://thisweekinreact.com",page:{permalink:"/blog/authors/slorber"},description:"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.\n",socials:{x:"https://x.com/sebastienlorber",linkedin:"https://www.linkedin.com/in/sebastienlorber/",github:"https://github.com/slorber",newsletter:"https://thisweekinreact.com"},imageURL:"https://github.com/slorber.png",key:"slorber"}],frontMatter:{title:"Docusaurus 2.2",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:"2022-10-29T00:00:00.000Z"},unlisted:!1,lastUpdatedAt:1722526249e3,lastUpdatedBy:"ozaki",prevItem:{title:"Docusaurus 2.3",permalink:"/blog/releases/2.3"},nextItem:{title:"Docusaurus 2.1",permalink:"/blog/2022/09/01/docusaurus-2.1"}},l={image:r(40805).Z,authorsImageUrls:[void 0]},d=[{value:"Highlights",id:"highlights",level:2},{value:"Mermaid diagrams",id:"mermaid-diagrams",level:3},{value:"Config headTags",id:"config-headtags",level:3},{value:"Accessibility",id:"accessibility",level:3},{value:"Developer Experience",id:"developer-experience",level:3},{value:"Translations",id:"translations",level:3},{value:"Other changes",id:"other-changes",level:2}];function h(e){const s={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",mermaid:"mermaid",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:["We are happy to announce ",(0,n.jsx)(s.strong,{children:"Docusaurus 2.2"}),"."]}),"\n",(0,n.jsxs)(s.p,{children:["The upgrade should be easy: as explained in our ",(0,n.jsx)(s.a,{href:"/community/release-process",children:"release process documentation"}),", minor versions respect ",(0,n.jsx)(s.a,{href:"https://semver.org/",children:"Semantic Versioning"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Docusaurus 2.2 social card",src:r(89686).Z+"",width:"1200",height:"600"})}),"\n","\n",(0,n.jsx)(s.h2,{id:"highlights",children:"Highlights"}),"\n",(0,n.jsx)(s.h3,{id:"mermaid-diagrams",children:"Mermaid diagrams"}),"\n",(0,n.jsxs)(s.p,{children:["In ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7490",children:"#7490"}),", we added support for Mermaid diagrams. This fills the gap between GitHub Flavored Markdown which also ",(0,n.jsx)(s.a,{href:"https://github.blog/2022-02-14-include-diagrams-markdown-files-mermaid/",children:"added support recently"}),". You can create Mermaid diagrams using Markdown code blocks:"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-md",children:"```mermaid\nsequenceDiagram\n participant Alice\n participant Bob\n Alice->>John: Hello John, how are you?\n loop Health check\n John->>John: Fight against hypochondria\n end\n Note right of John: Rational thoughts prevail!\n John--\x3e>Alice: Great!\n John->>Bob: How about you?\n Bob--\x3e>John: Jolly good!\n```\n"})}),"\n","\n",(0,n.jsx)(t.Z,{children:(0,n.jsx)(s.mermaid,{value:"sequenceDiagram\n participant Alice\n participant Bob\n Alice->>John: Hello John, how are you?\n loop Health check\n John->>John: Fight against hypochondria\n end\n Note right of John: Rational thoughts prevail!\n John--\x3e>Alice: Great!\n John->>Bob: How about you?\n Bob--\x3e>John: Jolly good!"})}),"\n",(0,n.jsxs)(s.p,{children:["Make sure to check the ",(0,n.jsx)(s.a,{href:"/docs/markdown-features/diagrams",children:"documentation"}),", and the ",(0,n.jsx)(s.a,{href:"/tests/pages/diagrams",children:"more advanced examples"})]}),"\n",(0,n.jsxs)(s.h3,{id:"config-headtags",children:["Config ",(0,n.jsx)(s.code,{children:"headTags"})]}),"\n",(0,n.jsxs)(s.p,{children:["In ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8151",children:"#8151"}),", we added the ability to apply arbitrary HTML ",(0,n.jsx)(s.code,{children:""})," tags to all pages of your site."]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"module.exports = {\n headTags: [\n {\n tagName: 'link',\n attributes: {\n rel: 'icon',\n href: '/img/docusaurus.png',\n },\n },\n ],\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"accessibility",children:"Accessibility"}),"\n",(0,n.jsx)(s.p,{children:"We did several accessibility improvements:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8207",children:"#8207"}),": improves keyboard navigation for mobile drawer hamburger button"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8161",children:"#8161"}),": improves keyboard navigation for tabs"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8204",children:"#8204"}),": makes the skip to content button support progressive enhancement"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8174",children:"#8174"}),": improves screen reader announcement when toggling between light/dark mode"]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"developer-experience",children:"Developer Experience"}),"\n",(0,n.jsx)(s.p,{children:"We made validation stricter and improved error messages:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8234",children:"#8234"}),": in case of doc processing failure, prints the problematic markdown file path in the error message"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8192",children:"#8192"})," and ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8159",children:"#8159"}),": validates ",(0,n.jsx)(s.code,{children:"siteConfig.url"})," more strictly and with better error message"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8066",children:"#8066"}),": makes config ",(0,n.jsx)(s.code,{children:"url"})," and ",(0,n.jsx)(s.code,{children:"baseUrl"})," fail-safe and less sensitive to the presence or absence of a leading or trailing slash"]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"translations",children:"Translations"}),"\n",(0,n.jsx)(s.p,{children:"We completed the default theme translation support for multiple languages:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["\ud83c\uddf9\ud83c\uddf7 ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8105",children:"#8105"}),": completes Turkish translations"]}),"\n",(0,n.jsxs)(s.li,{children:["\ud83c\uddf7\ud83c\uddfa ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8253",children:"#8253"}),": completes Russian translations"]}),"\n",(0,n.jsxs)(s.li,{children:["\ud83c\uddeb\ud83c\uddf7 ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8243",children:"#8243"}),": completes French translations"]}),"\n",(0,n.jsxs)(s.li,{children:["\ud83c\uddef\ud83c\uddf5 ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8075",children:"#8075"}),": completes Japanese translations"]}),"\n"]}),"\n",(0,n.jsx)(s.admonition,{type:"tip",children:(0,n.jsxs)(s.p,{children:["Completing theme translations is an ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/3526",children:"ongoing effort"})," and an easy way to contribute to Docusaurus. We add new theme features regularly, for which we often ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/3526",children:"need new translations"}),"."]})}),"\n",(0,n.jsx)(s.h2,{id:"other-changes",children:"Other changes"}),"\n",(0,n.jsx)(s.p,{children:"Other notable changes include:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8210",children:"#8210"}),": the ",(0,n.jsx)(s.code,{children:"docusaurus swizzle"})," CLI has a new ",(0,n.jsx)(s.code,{children:"--config"})," option"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8109",children:"#8109"}),": mobile navigation performance optimizations, prefetch resources earlier"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8059",children:"#8059"}),": versions/locales navbar dropdowns preserve hash and querystring on navigation"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8227",children:"#8227"}),": the client redirect plugin preserves hash and querystring on redirect"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Check the ",(0,n.jsx)(s.strong,{children:(0,n.jsx)(s.a,{href:"/changelog/2.2.0",children:"2.2.0 changelog entry"})})," for an exhaustive list of changes."]})]})}function u(e={}){const{wrapper:s}={...(0,a.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},71670:(e,s,r)=>{r.d(s,{Z:()=>i,a:()=>o});var n=r(27378);const a={},t=n.createContext(a);function o(e){const s=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),n.createElement(t.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/0938a5e1.21d2dbf5.js b/assets/js/0938a5e1.21d2dbf5.js
deleted file mode 100644
index ad6cf4cf84..0000000000
--- a/assets/js/0938a5e1.21d2dbf5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8648],{40805:(e,s,r)=>{r.d(s,{Z:()=>n});const n=r.p+"assets/images/social-card-402517ac2205718a22585e627fe1351c.png"},6698:(e,s,r)=>{r.d(s,{Z:()=>l});var n=r(24246),o=(r(27378),r(40624));const a={browserWindow:"browserWindow_my1Q",browserWindowHeader:"browserWindowHeader_jXSR",row:"row_KZDM",buttons:"buttons_uHc7",right:"right_oyze",browserWindowAddressBar:"browserWindowAddressBar_Pd8y",dot:"dot_giz1",browserWindowMenuIcon:"browserWindowMenuIcon_Vhuh",bar:"bar_rrRL",browserWindowBody:"browserWindowBody_Idgs"};function t(e,s,r){return s in e?Object.defineProperty(e,s,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[s]=r,e}function i(e){for(var s=1;s{r.d(s,{Z:()=>n});const n=r.p+"assets/images/social-card-402517ac2205718a22585e627fe1351c.png"},73660:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>t,metadata:()=>c,toc:()=>d});var n=r(24246),o=r(71670),a=r(6698);const t={title:"Docusaurus 2.2",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2022-10-29T00:00:00.000Z")},i=void 0,c={permalink:"/blog/releases/2.2",editUrl:"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/2.2/index.mdx",source:"@site/blog/releases/2.2/index.mdx",title:"Docusaurus 2.2",description:"We are happy to announce Docusaurus 2.2.",date:"2022-10-29T00:00:00.000Z",tags:[{inline:!1,label:"Release",permalink:"/blog/tags/release",description:"Blog posts about Docusaurus' new releases"}],readingTime:2.2,hasTruncateMarker:!0,authors:[{name:"S\xe9bastien Lorber",title:"Docusaurus maintainer, This Week In React editor",url:"https://thisweekinreact.com",socials:{x:"https://x.com/sebastienlorber",linkedin:"https://www.linkedin.com/in/sebastienlorber/",github:"https://github.com/slorber",newsletter:"https://thisweekinreact.com"},imageURL:"https://github.com/slorber.png",key:"slorber"}],frontMatter:{title:"Docusaurus 2.2",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:"2022-10-29T00:00:00.000Z"},unlisted:!1,lastUpdatedAt:1722518584e3,lastUpdatedBy:"yujonglee",prevItem:{title:"Docusaurus 2.3",permalink:"/blog/releases/2.3"},nextItem:{title:"Docusaurus 2.1",permalink:"/blog/2022/09/01/docusaurus-2.1"}},l={image:r(40805).Z,authorsImageUrls:[void 0]},d=[{value:"Highlights",id:"highlights",level:2},{value:"Mermaid diagrams",id:"mermaid-diagrams",level:3},{value:"Config headTags",id:"config-headtags",level:3},{value:"Accessibility",id:"accessibility",level:3},{value:"Developer Experience",id:"developer-experience",level:3},{value:"Translations",id:"translations",level:3},{value:"Other changes",id:"other-changes",level:2}];function h(e){const s={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",mermaid:"mermaid",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:["We are happy to announce ",(0,n.jsx)(s.strong,{children:"Docusaurus 2.2"}),"."]}),"\n",(0,n.jsxs)(s.p,{children:["The upgrade should be easy: as explained in our ",(0,n.jsx)(s.a,{href:"/community/release-process",children:"release process documentation"}),", minor versions respect ",(0,n.jsx)(s.a,{href:"https://semver.org/",children:"Semantic Versioning"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Docusaurus 2.2 social card",src:r(89686).Z+"",width:"1200",height:"600"})}),"\n","\n",(0,n.jsx)(s.h2,{id:"highlights",children:"Highlights"}),"\n",(0,n.jsx)(s.h3,{id:"mermaid-diagrams",children:"Mermaid diagrams"}),"\n",(0,n.jsxs)(s.p,{children:["In ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7490",children:"#7490"}),", we added support for Mermaid diagrams. This fills the gap between GitHub Flavored Markdown which also ",(0,n.jsx)(s.a,{href:"https://github.blog/2022-02-14-include-diagrams-markdown-files-mermaid/",children:"added support recently"}),". You can create Mermaid diagrams using Markdown code blocks:"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-md",children:"```mermaid\nsequenceDiagram\n participant Alice\n participant Bob\n Alice->>John: Hello John, how are you?\n loop Health check\n John->>John: Fight against hypochondria\n end\n Note right of John: Rational thoughts prevail!\n John--\x3e>Alice: Great!\n John->>Bob: How about you?\n Bob--\x3e>John: Jolly good!\n```\n"})}),"\n","\n",(0,n.jsx)(a.Z,{children:(0,n.jsx)(s.mermaid,{value:"sequenceDiagram\n participant Alice\n participant Bob\n Alice->>John: Hello John, how are you?\n loop Health check\n John->>John: Fight against hypochondria\n end\n Note right of John: Rational thoughts prevail!\n John--\x3e>Alice: Great!\n John->>Bob: How about you?\n Bob--\x3e>John: Jolly good!"})}),"\n",(0,n.jsxs)(s.p,{children:["Make sure to check the ",(0,n.jsx)(s.a,{href:"/docs/markdown-features/diagrams",children:"documentation"}),", and the ",(0,n.jsx)(s.a,{href:"/tests/pages/diagrams",children:"more advanced examples"})]}),"\n",(0,n.jsxs)(s.h3,{id:"config-headtags",children:["Config ",(0,n.jsx)(s.code,{children:"headTags"})]}),"\n",(0,n.jsxs)(s.p,{children:["In ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8151",children:"#8151"}),", we added the ability to apply arbitrary HTML ",(0,n.jsx)(s.code,{children:""})," tags to all pages of your site."]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"module.exports = {\n headTags: [\n {\n tagName: 'link',\n attributes: {\n rel: 'icon',\n href: '/img/docusaurus.png',\n },\n },\n ],\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"accessibility",children:"Accessibility"}),"\n",(0,n.jsx)(s.p,{children:"We did several accessibility improvements:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8207",children:"#8207"}),": improves keyboard navigation for mobile drawer hamburger button"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8161",children:"#8161"}),": improves keyboard navigation for tabs"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8204",children:"#8204"}),": makes the skip to content button support progressive enhancement"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8174",children:"#8174"}),": improves screen reader announcement when toggling between light/dark mode"]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"developer-experience",children:"Developer Experience"}),"\n",(0,n.jsx)(s.p,{children:"We made validation stricter and improved error messages:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8234",children:"#8234"}),": in case of doc processing failure, prints the problematic markdown file path in the error message"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8192",children:"#8192"})," and ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8159",children:"#8159"}),": validates ",(0,n.jsx)(s.code,{children:"siteConfig.url"})," more strictly and with better error message"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8066",children:"#8066"}),": makes config ",(0,n.jsx)(s.code,{children:"url"})," and ",(0,n.jsx)(s.code,{children:"baseUrl"})," fail-safe and less sensitive to the presence or absence of a leading or trailing slash"]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"translations",children:"Translations"}),"\n",(0,n.jsx)(s.p,{children:"We completed the default theme translation support for multiple languages:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["\ud83c\uddf9\ud83c\uddf7 ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8105",children:"#8105"}),": completes Turkish translations"]}),"\n",(0,n.jsxs)(s.li,{children:["\ud83c\uddf7\ud83c\uddfa ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8253",children:"#8253"}),": completes Russian translations"]}),"\n",(0,n.jsxs)(s.li,{children:["\ud83c\uddeb\ud83c\uddf7 ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8243",children:"#8243"}),": completes French translations"]}),"\n",(0,n.jsxs)(s.li,{children:["\ud83c\uddef\ud83c\uddf5 ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8075",children:"#8075"}),": completes Japanese translations"]}),"\n"]}),"\n",(0,n.jsx)(s.admonition,{type:"tip",children:(0,n.jsxs)(s.p,{children:["Completing theme translations is an ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/3526",children:"ongoing effort"})," and an easy way to contribute to Docusaurus. We add new theme features regularly, for which we often ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/3526",children:"need new translations"}),"."]})}),"\n",(0,n.jsx)(s.h2,{id:"other-changes",children:"Other changes"}),"\n",(0,n.jsx)(s.p,{children:"Other notable changes include:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8210",children:"#8210"}),": the ",(0,n.jsx)(s.code,{children:"docusaurus swizzle"})," CLI has a new ",(0,n.jsx)(s.code,{children:"--config"})," option"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8109",children:"#8109"}),": mobile navigation performance optimizations, prefetch resources earlier"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8059",children:"#8059"}),": versions/locales navbar dropdowns preserve hash and querystring on navigation"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8227",children:"#8227"}),": the client redirect plugin preserves hash and querystring on redirect"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Check the ",(0,n.jsx)(s.strong,{children:(0,n.jsx)(s.a,{href:"/changelog/2.2.0",children:"2.2.0 changelog entry"})})," for an exhaustive list of changes."]})]})}function u(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},71670:(e,s,r)=>{r.d(s,{Z:()=>i,a:()=>t});var n=r(27378);const o={},a=n.createContext(o);function t(e){const s=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:t(e.components),n.createElement(a.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/09b59f10.298c387c.js b/assets/js/09b59f10.298c387c.js
new file mode 100644
index 0000000000..4ce6eee960
--- /dev/null
+++ b/assets/js/09b59f10.298c387c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[16887],{35134:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>c,frontMatter:()=>s,metadata:()=>r,toc:()=>u});var o=a(24246),n=a(71670);const s={mdx:{format:"md"},date:"2020-04-28T20:00",authors:["jsjoeio","lex111","SamChou19815"]},l="2.0.0-alpha.54",r={permalink:"/changelog/2.0.0-alpha.54",source:"@site/changelog/source/2.0.0-alpha.54.md",title:"2.0.0-alpha.54",description:"HOTFIX for 2.0.0-alpha.53.",date:"2020-04-28T20:00:00.000Z",tags:[],hasTruncateMarker:!0,authors:[{name:"JavaScript Joe",alias:"jsjoeio",url:"https://github.com/jsjoeio",imageURL:"https://github.com/jsjoeio.png",key:"jsjoeio",page:null},{name:"Alexey Pyltsyn",alias:"lex111",url:"https://github.com/lex111",imageURL:"https://github.com/lex111.png",key:"lex111",page:null},{name:"Sam Zhou",alias:"SamChou19815",url:"https://github.com/SamChou19815",imageURL:"https://github.com/SamChou19815.png",key:"SamChou19815",page:null}],frontMatter:{mdx:{format:"md"},date:"2020-04-28T20:00",authors:["jsjoeio","lex111","SamChou19815"]},unlisted:!1,prevItem:{title:"2.0.0-alpha.55",permalink:"/changelog/2.0.0-alpha.55"},nextItem:{title:"2.0.0-alpha.53",permalink:"/changelog/2.0.0-alpha.53"},listPageLink:"/changelog/page/4"},i={authorsImageUrls:[void 0,void 0,void 0]},u=[];function h(e){return(0,o.jsx)(o.Fragment,{})}function c(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h()}},71670:(e,t,a)=>{a.d(t,{Z:()=>r,a:()=>l});var o=a(27378);const n={},s=o.createContext(n);function l(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/09b59f10.b39a6c93.js b/assets/js/09b59f10.b39a6c93.js
deleted file mode 100644
index 1f14881327..0000000000
--- a/assets/js/09b59f10.b39a6c93.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[16887],{35134:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>c,frontMatter:()=>s,metadata:()=>i,toc:()=>u});var o=a(24246),n=a(71670);const s={mdx:{format:"md"},date:"2020-04-28T20:00",authors:["jsjoeio","lex111","SamChou19815"]},r="2.0.0-alpha.54",i={permalink:"/changelog/2.0.0-alpha.54",source:"@site/changelog/source/2.0.0-alpha.54.md",title:"2.0.0-alpha.54",description:"HOTFIX for 2.0.0-alpha.53.",date:"2020-04-28T20:00:00.000Z",tags:[],hasTruncateMarker:!0,authors:[{name:"JavaScript Joe",alias:"jsjoeio",url:"https://github.com/jsjoeio",imageURL:"https://github.com/jsjoeio.png",key:"jsjoeio"},{name:"Alexey Pyltsyn",alias:"lex111",url:"https://github.com/lex111",imageURL:"https://github.com/lex111.png",key:"lex111"},{name:"Sam Zhou",alias:"SamChou19815",url:"https://github.com/SamChou19815",imageURL:"https://github.com/SamChou19815.png",key:"SamChou19815"}],frontMatter:{mdx:{format:"md"},date:"2020-04-28T20:00",authors:["jsjoeio","lex111","SamChou19815"]},unlisted:!1,prevItem:{title:"2.0.0-alpha.55",permalink:"/changelog/2.0.0-alpha.55"},nextItem:{title:"2.0.0-alpha.53",permalink:"/changelog/2.0.0-alpha.53"},listPageLink:"/changelog/page/4"},l={authorsImageUrls:[void 0,void 0,void 0]},u=[];function h(e){return(0,o.jsx)(o.Fragment,{})}function c(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h()}},71670:(e,t,a)=>{a.d(t,{Z:()=>i,a:()=>r});var o=a(27378);const n={},s=o.createContext(n);function r(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/09de563b.a0131276.js b/assets/js/09de563b.a0131276.js
new file mode 100644
index 0000000000..1442679604
--- /dev/null
+++ b/assets/js/09de563b.a0131276.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[66113],{21887:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>a});var s=t(24246),o=t(71670);const r={mdx:{format:"md"},date:"2024-04-04T20:00",authors:["OzakIOne","slorber"]},i="3.2.1",c={permalink:"/changelog/3.2.1",source:"@site/changelog/source/3.2.1.md",title:"3.2.1",description:"Bug Fix",date:"2024-04-04T20:00:00.000Z",tags:[],hasTruncateMarker:!0,authors:[{name:"ozaki",alias:"OzakIOne",url:"https://github.com/OzakIOne",imageURL:"https://github.com/OzakIOne.png",key:"OzakIOne",page:null},{name:"S\xe9bastien Lorber",alias:"slorber",url:"https://github.com/slorber",imageURL:"https://github.com/slorber.png",key:"slorber",page:null}],frontMatter:{mdx:{format:"md"},date:"2024-04-04T20:00",authors:["OzakIOne","slorber"]},unlisted:!1,prevItem:{title:"3.3.0",permalink:"/changelog/3.3.0"},nextItem:{title:"3.2.0",permalink:"/changelog/3.2.0"},listPageLink:"/changelog/"},l={authorsImageUrls:[void 0,void 0]},a=[{value:"\ud83d\udc1b Bug Fix",id:"bug-bug-fix",level:2},{value:"\ud83d\udcdd Documentation",id:"memo-documentation",level:2},{value:"\ud83e\udd16 Dependencies",id:"robot-dependencies",level:2},{value:"Committers: 2",id:"committers-2",level:2}];function h(e){const n={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"bug-bug-fix",children:"\ud83d\udc1b Bug Fix"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"docusaurus"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/10012",children:"#10012"})," fix(core): fix configurePostCss v3.2 regression (",(0,s.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"memo-documentation",children:"\ud83d\udcdd Documentation"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/9980",children:"#9980"})," docs: remove old github action description (",(0,s.jsx)(n.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/10014",children:"#10014"})," docs(website): fix SEO docs headTags example (",(0,s.jsx)(n.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/10004",children:"#10004"})," docs(website): Announce v3.2 on website/homepage (",(0,s.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"robot-dependencies",children:"\ud83e\udd16 Dependencies"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/10006",children:"#10006"})," chore(deps): bump actions/dependency-review-action from 4.2.4 to 4.2.5 (",(0,s.jsx)(n.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"committers-2",children:"Committers: 2"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["S\xe9bastien Lorber (",(0,s.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,s.jsxs)(n.li,{children:["ozaki (",(0,s.jsx)(n.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},71670:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>i});var s=t(27378);const o={},r=s.createContext(o);function i(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/09de563b.f697e2bb.js b/assets/js/09de563b.f697e2bb.js
deleted file mode 100644
index 8623d6e022..0000000000
--- a/assets/js/09de563b.f697e2bb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[66113],{21887:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>a});var s=t(24246),o=t(71670);const r={mdx:{format:"md"},date:"2024-04-04T20:00",authors:["OzakIOne","slorber"]},i="3.2.1",c={permalink:"/changelog/3.2.1",source:"@site/changelog/source/3.2.1.md",title:"3.2.1",description:"Bug Fix",date:"2024-04-04T20:00:00.000Z",tags:[],hasTruncateMarker:!0,authors:[{name:"ozaki",alias:"OzakIOne",url:"https://github.com/OzakIOne",imageURL:"https://github.com/OzakIOne.png",key:"OzakIOne"},{name:"S\xe9bastien Lorber",alias:"slorber",url:"https://github.com/slorber",imageURL:"https://github.com/slorber.png",key:"slorber"}],frontMatter:{mdx:{format:"md"},date:"2024-04-04T20:00",authors:["OzakIOne","slorber"]},unlisted:!1,prevItem:{title:"3.3.0",permalink:"/changelog/3.3.0"},nextItem:{title:"3.2.0",permalink:"/changelog/3.2.0"},listPageLink:"/changelog/"},l={authorsImageUrls:[void 0,void 0]},a=[{value:"\ud83d\udc1b Bug Fix",id:"bug-bug-fix",level:2},{value:"\ud83d\udcdd Documentation",id:"memo-documentation",level:2},{value:"\ud83e\udd16 Dependencies",id:"robot-dependencies",level:2},{value:"Committers: 2",id:"committers-2",level:2}];function h(e){const n={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"bug-bug-fix",children:"\ud83d\udc1b Bug Fix"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"docusaurus"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/10012",children:"#10012"})," fix(core): fix configurePostCss v3.2 regression (",(0,s.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"memo-documentation",children:"\ud83d\udcdd Documentation"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/9980",children:"#9980"})," docs: remove old github action description (",(0,s.jsx)(n.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/10014",children:"#10014"})," docs(website): fix SEO docs headTags example (",(0,s.jsx)(n.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/10004",children:"#10004"})," docs(website): Announce v3.2 on website/homepage (",(0,s.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"robot-dependencies",children:"\ud83e\udd16 Dependencies"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/10006",children:"#10006"})," chore(deps): bump actions/dependency-review-action from 4.2.4 to 4.2.5 (",(0,s.jsx)(n.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"committers-2",children:"Committers: 2"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["S\xe9bastien Lorber (",(0,s.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,s.jsxs)(n.li,{children:["ozaki (",(0,s.jsx)(n.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},71670:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>i});var s=t(27378);const o={},r=s.createContext(o);function i(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/09f49407.0d1a5bdb.js b/assets/js/09f49407.1d87d30c.js
similarity index 77%
rename from assets/js/09f49407.0d1a5bdb.js
rename to assets/js/09f49407.1d87d30c.js
index 1aff2977da..3c61719183 100644
--- a/assets/js/09f49407.0d1a5bdb.js
+++ b/assets/js/09f49407.1d87d30c.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[85668],{61132:(e,t,n)=>{n.d(t,{Z:()=>s});var r=n(24246),o=(n(27378),n(40624));const l={tabItem:"tabItem_pnkT"};function s({children:e,hidden:t,className:n}){return(0,r.jsx)("div",{role:"tabpanel",className:(0,o.Z)(l.tabItem,n),hidden:t,children:e})}},97555:(e,t,n)=>{n.d(t,{Z:()=>D});var r=n(24246),o=n(27378),l=n(40624),s=n(75527),a=n(3620),i=n(44479),u=n(62821),c=n(52196),d=n(53589);function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function g(e){var t,n;return null!==(n=null===(t=o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})))||void 0===t?void 0:t.filter(Boolean))&&void 0!==n?n:[]}function f(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=null!=t?t:function(e){return g(e).map((({props:{value:e,label:t,attributes:n,default:r}})=>({value:e,label:t,attributes:n,default:r})))}(n);return function(e){const t=(0,c.lx)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function m({value:e,tabValues:t}){return t.some((t=>t.value===e))}function h({queryString:e=!1,groupId:t}){const n=(0,a.k6)(),r=function({queryString:e=!1,groupId:t}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!t)throw new Error('Docusaurus error: The 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 null!=t?t:null}({queryString:e,groupId:t}),l=(0,u._X)(r),s=(0,o.useCallback)((e=>{if(!r)return;const t=new URLSearchParams(n.location.search);t.set(r,e),n.replace(b(function(e){for(var t=1;tfunction({defaultValue:e,tabValues:t}){if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(e){if(!m({value:e,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}var n;const r=null!==(n=t.find((e=>e.default)))&&void 0!==n?n:t[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:l}))),[u,c]=h({queryString:n,groupId:r}),[p,b]=function({groupId:e}){const t=function(e){return e?`docusaurus.tab.${e}`:null}(e),[n,r]=(0,d.Nk)(t);return[n,(0,o.useCallback)((e=>{t&&r.set(e)}),[t,r])]}({groupId:r}),g=(()=>{const e=null!=u?u:p;return m({value:e,tabValues:l})?e:null})();(0,i.Z)((()=>{g&&a(g)}),[g]);return{selectedValue:s,selectValue:(0,o.useCallback)((e=>{if(!m({value:e,tabValues:l}))throw new Error(`Can't select invalid tab value=${e}`);a(e),c(e),b(e)}),[c,b,l]),tabValues:l}}var y=n(29088);const j={tabList:"tabList_Qoir",tabItem:"tabItem_AQgk"};function x(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function O(e){for(var t=1;t{const t=e.currentTarget,r=i.indexOf(t),l=a[r].value;l!==n&&(u(t),o(l))},d=e=>{let t=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const r=i.indexOf(e.currentTarget)+1;var n;t=null!==(n=i[r])&&void 0!==n?n:i[0];break}case"ArrowLeft":{const n=i.indexOf(e.currentTarget)-1;var r;t=null!==(r=i[n])&&void 0!==r?r:i[i.length-1];break}}null==t||t.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":t},e),children:a.map((({value:e,label:t,attributes:o})=>(0,r.jsx)("li",w(O({role:"tab",tabIndex:n===e?0:-1,"aria-selected":n===e,ref:e=>i.push(e),onKeyDown:d,onClick:c},o),{className:(0,l.Z)("tabs__item",j.tabItem,null==o?void 0:o.className,{"tabs__item--active":n===e}),children:null!=t?t:e}),e)))})}function P({lazy:e,children:t,selectedValue:n}){const s=(Array.isArray(t)?t:[t]).filter(Boolean);if(e){const e=s.find((e=>e.props.value===n));return e?(0,o.cloneElement)(e,{className:(0,l.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==n})))})}function S(e){const t=v(e);return(0,r.jsxs)("div",{className:(0,l.Z)("tabs-container",j.tabList),children:[(0,r.jsx)(k,O({},t,e)),(0,r.jsx)(P,O({},t,e))]})}function D(e){const t=(0,y.Z)();return(0,r.jsx)(S,w(O({},e),{children:g(e.children)}),String(t))}},43316:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>g,frontMatter:()=>a,metadata:()=>u,someExport:()=>d,toc:()=>p});var r=n(24246),o=n(71670),l=n(97555),s=n(61132);const a={title:"Blog post MDX Feed tests",authors:["slorber"],tags:["paginated-tag","blog","docusaurus","long-long","long-long-long","long-long-long-long"],hide_reading_time:!0},i=void 0,u={permalink:"/tests/blog/2021/10/07/blog-post-mdx-feed-tests",editUrl:"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-10-07-blog-post-mdx-feed-tests.mdx",source:"@site/_dogfooding/_blog tests/2021-10-07-blog-post-mdx-feed-tests.mdx",title:"Blog post MDX Feed tests",description:"Some MDX tests, mostly to test how the RSS feed render those",date:"2021-10-07T00:00:00.000Z",tags:[{inline:!1,label:"Paginated-tag",permalink:"/tests/blog/tags/paginated-tag"},{inline:!1,label:"Blog",permalink:"/tests/blog/tags/blog"},{inline:!1,label:"Docusaurus",permalink:"/tests/blog/tags/docusaurus"},{inline:!1,label:"Long-long",permalink:"/tests/blog/tags/long-long"},{inline:!1,label:"Long-long-long",permalink:"/tests/blog/tags/long-long-long"},{inline:!1,label:"Long-long-long-long",permalink:"/tests/blog/tags/long-long-long-long"}],hasTruncateMarker:!0,authors:[{name:"Sebastien Lorber",title:"Docusaurus maintainer",url:"https://sebastienlorber.com",twitter:"sebastienlorber",imageURL:"https://github.com/slorber.png",key:"slorber"}],frontMatter:{title:"Blog post MDX Feed tests",authors:["slorber"],tags:["paginated-tag","blog","docusaurus","long-long","long-long-long","long-long-long-long"],hide_reading_time:!0},unlisted:!1,prevItem:{title:"Blog post MDX require Feed tests",permalink:"/tests/blog/2021/10/08/blog-post-mdx-require-feed-tests"},nextItem:{title:"Post with duplicate title",permalink:"/tests/blog/2021/09/13/dup-title"}},c={authorsImageUrls:[void 0]},d=42,p=[{value:"Imports",id:"imports",level:2},{value:"Exports",id:"exports",level:2},{value:"Tabs test",id:"tabs-test",level:2}];function b(e){const t={code:"code",h2:"h2",p:"p",...(0,o.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"Some MDX tests, mostly to test how the RSS feed render those"}),"\n","\n",(0,r.jsx)(t.h2,{id:"imports",children:"Imports"}),"\n",(0,r.jsx)(t.p,{children:"Here are some imports:"}),"\n","\n",(0,r.jsx)(t.h2,{id:"exports",children:"Exports"}),"\n",(0,r.jsx)(t.p,{children:"Here are some exports:"}),"\n","\n",(0,r.jsx)(t.h2,{id:"tabs-test",children:"Tabs test"}),"\n",(0,r.jsx)(t.p,{children:"Here are some tabs:"}),"\n",(0,r.jsxs)(l.Z,{children:[(0,r.jsx)(s.Z,{value:"apple",label:"Apple",children:(0,r.jsx)(t.p,{children:"This is an apple \ud83c\udf4e"})}),(0,r.jsx)(s.Z,{value:"orange",label:"Orange",children:(0,r.jsx)(t.p,{children:"This is an orange \ud83c\udf4a"})})]}),"\n",(0,r.jsxs)(t.p,{children:["Here are some tabs, inside ",(0,r.jsx)(t.code,{children:"mdx-code-block"}),":"]}),"\n",(0,r.jsxs)(l.Z,{children:[(0,r.jsx)(s.Z,{value:"apple",label:"Apple",children:(0,r.jsx)(t.p,{children:"This is an apple \ud83c\udf4e"})}),(0,r.jsx)(s.Z,{value:"orange",label:"Orange",children:(0,r.jsx)(t.p,{children:"This is an orange \ud83c\udf4a"})})]})]})}function g(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(b,{...e})}):b(e)}},71670:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>s});var r=n(27378);const o={},l=r.createContext(o);function s(e){const t=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),r.createElement(l.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[85668],{61132:(e,t,n)=>{n.d(t,{Z:()=>s});var r=n(24246),o=(n(27378),n(40624));const l={tabItem:"tabItem_pnkT"};function s({children:e,hidden:t,className:n}){return(0,r.jsx)("div",{role:"tabpanel",className:(0,o.Z)(l.tabItem,n),hidden:t,children:e})}},97555:(e,t,n)=>{n.d(t,{Z:()=>D});var r=n(24246),o=n(27378),l=n(40624),s=n(75527),a=n(3620),i=n(44479),u=n(62821),c=n(52196),d=n(53589);function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function g(e){var t,n;return null!==(n=null===(t=o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})))||void 0===t?void 0:t.filter(Boolean))&&void 0!==n?n:[]}function f(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=null!=t?t:function(e){return g(e).map((({props:{value:e,label:t,attributes:n,default:r}})=>({value:e,label:t,attributes:n,default:r})))}(n);return function(e){const t=(0,c.lx)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function m({value:e,tabValues:t}){return t.some((t=>t.value===e))}function h({queryString:e=!1,groupId:t}){const n=(0,a.k6)(),r=function({queryString:e=!1,groupId:t}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!t)throw new Error('Docusaurus error: The 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 null!=t?t:null}({queryString:e,groupId:t}),l=(0,u._X)(r),s=(0,o.useCallback)((e=>{if(!r)return;const t=new URLSearchParams(n.location.search);t.set(r,e),n.replace(b(function(e){for(var t=1;tfunction({defaultValue:e,tabValues:t}){if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(e){if(!m({value:e,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}var n;const r=null!==(n=t.find((e=>e.default)))&&void 0!==n?n:t[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:l}))),[u,c]=h({queryString:n,groupId:r}),[p,b]=function({groupId:e}){const t=function(e){return e?`docusaurus.tab.${e}`:null}(e),[n,r]=(0,d.Nk)(t);return[n,(0,o.useCallback)((e=>{t&&r.set(e)}),[t,r])]}({groupId:r}),g=(()=>{const e=null!=u?u:p;return m({value:e,tabValues:l})?e:null})();(0,i.Z)((()=>{g&&a(g)}),[g]);return{selectedValue:s,selectValue:(0,o.useCallback)((e=>{if(!m({value:e,tabValues:l}))throw new Error(`Can't select invalid tab value=${e}`);a(e),c(e),b(e)}),[c,b,l]),tabValues:l}}var y=n(29088);const j={tabList:"tabList_Qoir",tabItem:"tabItem_AQgk"};function x(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function O(e){for(var t=1;t{const t=e.currentTarget,r=i.indexOf(t),l=a[r].value;l!==n&&(u(t),o(l))},d=e=>{let t=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const r=i.indexOf(e.currentTarget)+1;var n;t=null!==(n=i[r])&&void 0!==n?n:i[0];break}case"ArrowLeft":{const n=i.indexOf(e.currentTarget)-1;var r;t=null!==(r=i[n])&&void 0!==r?r:i[i.length-1];break}}null==t||t.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":t},e),children:a.map((({value:e,label:t,attributes:o})=>(0,r.jsx)("li",w(O({role:"tab",tabIndex:n===e?0:-1,"aria-selected":n===e,ref:e=>i.push(e),onKeyDown:d,onClick:c},o),{className:(0,l.Z)("tabs__item",j.tabItem,null==o?void 0:o.className,{"tabs__item--active":n===e}),children:null!=t?t:e}),e)))})}function P({lazy:e,children:t,selectedValue:n}){const s=(Array.isArray(t)?t:[t]).filter(Boolean);if(e){const e=s.find((e=>e.props.value===n));return e?(0,o.cloneElement)(e,{className:(0,l.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==n})))})}function S(e){const t=v(e);return(0,r.jsxs)("div",{className:(0,l.Z)("tabs-container",j.tabList),children:[(0,r.jsx)(k,O({},t,e)),(0,r.jsx)(P,O({},t,e))]})}function D(e){const t=(0,y.Z)();return(0,r.jsx)(S,w(O({},e),{children:g(e.children)}),String(t))}},43316:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>g,frontMatter:()=>a,metadata:()=>u,someExport:()=>d,toc:()=>p});var r=n(24246),o=n(71670),l=n(97555),s=n(61132);const a={title:"Blog post MDX Feed tests",authors:["slorber"],tags:["paginated-tag","blog","docusaurus","long-long","long-long-long","long-long-long-long"],hide_reading_time:!0},i=void 0,u={permalink:"/tests/blog/2021/10/07/blog-post-mdx-feed-tests",editUrl:"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-10-07-blog-post-mdx-feed-tests.mdx",source:"@site/_dogfooding/_blog tests/2021-10-07-blog-post-mdx-feed-tests.mdx",title:"Blog post MDX Feed tests",description:"Some MDX tests, mostly to test how the RSS feed render those",date:"2021-10-07T00:00:00.000Z",tags:[{inline:!1,label:"Paginated-tag",permalink:"/tests/blog/tags/paginated-tag"},{inline:!1,label:"Blog",permalink:"/tests/blog/tags/blog"},{inline:!1,label:"Docusaurus",permalink:"/tests/blog/tags/docusaurus"},{inline:!1,label:"Long-long",permalink:"/tests/blog/tags/long-long"},{inline:!1,label:"Long-long-long",permalink:"/tests/blog/tags/long-long-long"},{inline:!1,label:"Long-long-long-long",permalink:"/tests/blog/tags/long-long-long-long"}],hasTruncateMarker:!0,authors:[{name:"Sebastien Lorber",title:"Docusaurus maintainer",url:"https://sebastienlorber.com",twitter:"sebastienlorber",page:{permalink:"/tests/blog/authors/slorber"},imageURL:"https://github.com/slorber.png",key:"slorber"}],frontMatter:{title:"Blog post MDX Feed tests",authors:["slorber"],tags:["paginated-tag","blog","docusaurus","long-long","long-long-long","long-long-long-long"],hide_reading_time:!0},unlisted:!1,prevItem:{title:"Blog post MDX require Feed tests",permalink:"/tests/blog/2021/10/08/blog-post-mdx-require-feed-tests"},nextItem:{title:"Post with duplicate title",permalink:"/tests/blog/2021/09/13/dup-title"}},c={authorsImageUrls:[void 0]},d=42,p=[{value:"Imports",id:"imports",level:2},{value:"Exports",id:"exports",level:2},{value:"Tabs test",id:"tabs-test",level:2}];function b(e){const t={code:"code",h2:"h2",p:"p",...(0,o.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"Some MDX tests, mostly to test how the RSS feed render those"}),"\n","\n",(0,r.jsx)(t.h2,{id:"imports",children:"Imports"}),"\n",(0,r.jsx)(t.p,{children:"Here are some imports:"}),"\n","\n",(0,r.jsx)(t.h2,{id:"exports",children:"Exports"}),"\n",(0,r.jsx)(t.p,{children:"Here are some exports:"}),"\n","\n",(0,r.jsx)(t.h2,{id:"tabs-test",children:"Tabs test"}),"\n",(0,r.jsx)(t.p,{children:"Here are some tabs:"}),"\n",(0,r.jsxs)(l.Z,{children:[(0,r.jsx)(s.Z,{value:"apple",label:"Apple",children:(0,r.jsx)(t.p,{children:"This is an apple \ud83c\udf4e"})}),(0,r.jsx)(s.Z,{value:"orange",label:"Orange",children:(0,r.jsx)(t.p,{children:"This is an orange \ud83c\udf4a"})})]}),"\n",(0,r.jsxs)(t.p,{children:["Here are some tabs, inside ",(0,r.jsx)(t.code,{children:"mdx-code-block"}),":"]}),"\n",(0,r.jsxs)(l.Z,{children:[(0,r.jsx)(s.Z,{value:"apple",label:"Apple",children:(0,r.jsx)(t.p,{children:"This is an apple \ud83c\udf4e"})}),(0,r.jsx)(s.Z,{value:"orange",label:"Orange",children:(0,r.jsx)(t.p,{children:"This is an orange \ud83c\udf4a"})})]})]})}function g(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(b,{...e})}):b(e)}},71670:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>s});var r=n(27378);const o={},l=r.createContext(o);function s(e){const t=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),r.createElement(l.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/0a544fe9.11f90fc9.js b/assets/js/0a544fe9.11f90fc9.js
new file mode 100644
index 0000000000..f90082ff1c
--- /dev/null
+++ b/assets/js/0a544fe9.11f90fc9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[76271],{53945:(e,t,r)=>{r.d(t,{n4:()=>s,Ne:()=>E,ci:()=>N,CS:()=>g,wj:()=>l,nO:()=>u,iZ:()=>h,cH:()=>D});var n=r(24246),o=r(27378),c=r(51114),i=r(32451);function l(){var e;const t=(0,i.Z)(),r=null==t||null===(e=t.data)||void 0===e?void 0:e.blogMetadata;if(!r)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return r}const a=o.createContext(null);function s({children:e,content:t,isBlogPostPage:r=!1}){const c=function({content:e,isBlogPostPage:t}){return(0,o.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,toc:e.toc,isBlogPostPage:t})),[e,t])}({content:t,isBlogPostPage:r});return(0,n.jsx)(a.Provider,{value:c,children:e})}function u(){const e=(0,o.useContext)(a);if(null===e)throw new c.i6("BlogPostProvider");return e}var b=r(66448),f=r(4423);function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function O(e){for(var t=1;tnew Date(e).toISOString();function j(e){const t=e.map(w);return{author:1===t.length?t[0]:t}}function m(e,t,r){return e?{image:P({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${r}`})}:{}}function g(e){const{siteConfig:t}=(0,f.Z)(),{withBaseUrl:r}=(0,b.Cg)(),{metadata:{blogDescription:n,blogTitle:o,permalink:c}}=e,i=`${t.url}${c}`;return{"@context":"https://schema.org","@type":"Blog","@id":i,mainEntityOfPage:i,headline:o,description:n,blogPost:e.items.map((e=>function(e,t,r){const{assets:n,frontMatter:o,metadata:c}=e,{date:i,title:l,description:a,lastUpdatedAt:s}=c;var u;const b=null!==(u=n.image)&&void 0!==u?u:o.image;var f;const p=null!==(f=o.keywords)&&void 0!==f?f:[],d=`${t.url}${c.permalink}`,g=s?y(s):void 0;return O({"@type":"BlogPosting","@id":d,mainEntityOfPage:d,url:d,headline:l,name:l,description:a,datePublished:i},g?{dateModified:g}:{},j(c.authors),m(b,r,l),p?{keywords:p}:{})}(e.content,t,r)))}}function h(){const e=l(),{assets:t,metadata:r}=u(),{siteConfig:n}=(0,f.Z)(),{withBaseUrl:o}=(0,b.Cg)(),{date:c,title:i,description:a,frontMatter:s,lastUpdatedAt:p}=r;var g;const h=null!==(g=t.image)&&void 0!==g?g:s.image;var w;const P=null!==(w=s.keywords)&&void 0!==w?w:[],v=p?y(p):void 0,x=`${n.url}${r.permalink}`;return d(O({"@context":"https://schema.org","@type":"BlogPosting","@id":x,mainEntityOfPage:x,url:x,headline:i,name:i,description:a,datePublished:c},v?{dateModified:v}:{},j(r.authors),m(h,o,i),P?{keywords:P}:{}),{isPartOf:{"@type":"Blog","@id":`${n.url}${e.blogBasePath}`,name:e.blogTitle}})}function w(e){return O({"@type":"Person"},e.name?{name:e.name}:{},e.title?{description:e.title}:{},e.url?{url:e.url}:{},e.email?{email:e.email}:{},e.imageURL?{image:e.imageURL}:{})}function P({imageUrl:e,caption:t}){return{"@type":"ImageObject","@id":e,url:e,contentUrl:e,caption:t}}var v=r(3620),x=r(41428),k=r(52196),S=r(39779);function D(e){const{pathname:t}=(0,v.TH)();return(0,o.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,S.Mg)(e.permalink,t))}(e,t)))),[e,t])}function N(e){const t=(0,k.vM)(e,(e=>`${new Date(e.date).getFullYear()}`)),r=Object.entries(t);return r.reverse(),r}function E({items:e,ulClassName:t,liClassName:r,linkClassName:o,linkActiveClassName:c}){return(0,n.jsx)("ul",{className:t,children:e.map((e=>(0,n.jsx)("li",{className:r,children:(0,n.jsx)(x.Z,{isNavLink:!0,to:e.permalink,className:o,activeClassName:c,children:e.title})},e.permalink)))})}},35434:(e,t,r)=>{r.d(t,{Z:()=>i});var n=r(24246);r(27378);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function i(e){return(0,n.jsx)("svg",c(function(e){for(var t=1;t{r.d(t,{Z:()=>le});var n=r(24246),o=r(27378);function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function l(e){const{mdxAdmonitionTitle:t,rest:r}=function(e){const t=o.Children.toArray(e),r=t.find((e=>o.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),c=t.filter((e=>e!==r));return{mdxAdmonitionTitle:null==r?void 0:r.props.children,rest:c.length>0?(0,n.jsx)(n.Fragment,{children:c}):null}}(e.children);var l;const a=null!==(l=e.title)&&void 0!==l?l:t;return i(function(e){for(var t=1;t(0,n.jsx)(P,X({title:"secondary"},e)),important:e=>(0,n.jsx)(L,X({title:"important"},e)),success:e=>(0,n.jsx)(E,X({title:"success"},e)),caution:function(e){return(0,n.jsx)(d,q(function(e){for(var t=1;t{r.d(t,{Z:()=>_});var n=r(24246),o=(r(27378),r(40624)),c=r(41428);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}const a="githubSvg_jqE4";function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}const b="xSvg_Q0g7";function f(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function O(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function j(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function g(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}const h=function(e){return(0,n.jsxs)("svg",g(function(e){for(var t=1;t(0,n.jsx)(v,{platform:e,link:t},e)))})}var k=r(52615);const S={authorImage:"authorImage_p8ow","author-as-h1":"author-as-h1_Pd3R","author-as-h2":"author-as-h2_UaZL",authorDetails:"authorDetails_dWdF",authorName:"authorName_Y8Hr",authorTitle:"authorTitle_Slpj",authorBlogPostCount:"authorBlogPostCount_FxU_"};function D(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function N(e){return e.href?(0,n.jsx)(c.Z,function(e){for(var t=1;t{r.d(t,{Z:()=>T});var n=r(24246),o=r(27378),c=r(40624),i=r(95623),l=r(60029),a=r(36712),s=r(53945),u=r(73919),b=r(52615);function f({year:e,yearGroupHeadingClassName:t,children:r}){return(0,n.jsxs)("div",{role:"group",children:[(0,n.jsx)(b.Z,{as:"h3",className:t,children:e}),r]})}function p({items:e,yearGroupHeadingClassName:t,ListComponent:r}){if((0,u.L)().blog.sidebar.groupByYear){const o=(0,s.ci)(e);return(0,n.jsx)(n.Fragment,{children:o.map((([e,o])=>(0,n.jsx)(f,{year:e,yearGroupHeadingClassName:t,children:(0,n.jsx)(r,{items:o})},e)))})}return(0,n.jsx)(r,{items:e})}const O=(0,o.memo)(p),d="sidebar_P3nc",y="sidebarItemTitle_VrjY",j="sidebarItemList_OSkG",m="sidebarItem_WJ0y",g="sidebarItemLink_Qrfg",h="sidebarItemLinkActive_nUeK",w="yearGroupHeading_lECJ",P=({items:e})=>(0,n.jsx)(s.Ne,{items:e,ulClassName:(0,c.Z)(j,"clean-list"),liClassName:m,linkClassName:g,linkActiveClassName:h});function v({sidebar:e}){const t=(0,s.cH)(e.items);return(0,n.jsx)("aside",{className:"col col--3",children:(0,n.jsxs)("nav",{className:(0,c.Z)(d,"thin-scrollbar"),"aria-label":(0,a.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,n.jsx)("div",{className:(0,c.Z)(y,"margin-bottom--md"),children:e.title}),(0,n.jsx)(O,{items:t,ListComponent:P,yearGroupHeadingClassName:w})]})})}const x=(0,o.memo)(v);var k=r(35612);const S={yearGroupHeading:"yearGroupHeading_Ruz9"},D=({items:e})=>(0,n.jsx)(s.Ne,{items:e,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"});function N({sidebar:e}){const t=(0,s.cH)(e.items);return(0,n.jsx)(O,{items:t,ListComponent:D,yearGroupHeadingClassName:S.yearGroupHeading})}function E(e){return(0,n.jsx)(k.Zo,{component:N,props:e})}const Z=(0,o.memo)(E);function C({sidebar:e}){const t=(0,l.i)();return(null==e?void 0:e.items.length)?"mobile"===t?(0,n.jsx)(Z,{sidebar:e}):(0,n.jsx)(x,{sidebar:e}):null}function _(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function B(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function L(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function T(e){const{sidebar:t,toc:r,children:o}=e,l=L(e,["sidebar","toc","children"]),a=t&&t.items.length>0;return(0,n.jsx)(i.Z,B(function(e){for(var t=1;t{r.d(t,{Z:()=>i});var n=r(24246),o=(r(27378),r(36712)),c=r(6649);function i(e){const{metadata:t}=e,{previousPage:r,nextPage:i}=t;return(0,n.jsxs)("nav",{className:"pagination-nav","aria-label":(0,o.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[r&&(0,n.jsx)(c.Z,{permalink:r,title:(0,n.jsx)(o.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer Entries"})}),i&&(0,n.jsx)(c.Z,{permalink:i,title:(0,n.jsx)(o.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older Entries"}),isNext:!0})]})}},53543:(e,t,r)=>{r.d(t,{Z:()=>o});var n=r(24246);r(27378);function o({children:e,className:t}){return(0,n.jsx)("article",{className:t,children:e})}},53635:(e,t,r)=>{r.d(t,{Z:()=>a});var n=r(24246),o=(r(27378),r(40624)),c=r(86632),i=r(53945),l=r(23387);function a({children:e,className:t}){const{isBlogPostPage:r}=(0,i.nO)();return(0,n.jsx)("div",{id:r?c.uR:void 0,className:(0,o.Z)("markdown",t),children:(0,n.jsx)(l.Z,{children:e})})}},71422:(e,t,r)=>{r.d(t,{Z:()=>p});var n=r(24246),o=(r(27378),r(40624)),c=r(36712),i=r(7812),l=r(54461),a=r(53945);const s={container:"container_x5Un"};function u({readingTime:e}){const t=function(){const{selectMessage:e}=(0,i.c)();return t=>{const r=Math.ceil(t);return e(r,(0,c.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:r}))}}();return(0,n.jsx)(n.Fragment,{children:t(e)})}function b({date:e,formattedDate:t}){return(0,n.jsx)("time",{dateTime:e,children:t})}function f(){return(0,n.jsx)(n.Fragment,{children:" \xb7 "})}function p({className:e}){const{metadata:t}=(0,a.nO)(),{date:r,readingTime:c}=t,i=(0,l.P)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,n.jsxs)("div",{className:(0,o.Z)(s.container,"margin-vert--md",e),children:[(0,n.jsx)(b,{date:r,formattedDate:(p=r,i.format(new Date(p)))}),void 0!==c&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(f,{}),(0,n.jsx)(u,{readingTime:c})]})]});var p}},35253:(e,t,r)=>{r.d(t,{Z:()=>a});var n=r(24246),o=(r(27378),r(40624)),c=r(41428),i=r(53945);const l={title:"title_UBNu"};function a({className:e}){const{metadata:t,isBlogPostPage:r}=(0,i.nO)(),{permalink:a,title:s}=t,u=r?"h1":"h2";return(0,n.jsx)(u,{className:(0,o.Z)(l.title,e),children:r?s:(0,n.jsx)(c.Z,{to:a,children:s})})}},34352:(e,t,r)=>{r.d(t,{Z:()=>N});var n=r(24246),o=(r(27378),r(40624)),c=r(53945),i=r(53543),l=r(35253),a=r(71422),s=r(26323);const u={authorCol:"authorCol_bvyx",imageOnlyAuthorRow:"imageOnlyAuthorRow_L2DM",imageOnlyAuthorCol:"imageOnlyAuthorCol_oyze"};function b(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e){for(var t=1;t!e)),l=1===t.length;var a;return(0,n.jsx)("div",{className:(0,o.Z)("margin-top--md margin-bottom--sm",i?u.imageOnlyAuthorRow:"row",e),children:t.map(((e,t)=>(0,n.jsx)("div",{className:(0,o.Z)(!i&&(l?"col col--12":"col col--6"),i?u.imageOnlyAuthorCol:u.authorCol),children:(0,n.jsx)(s.Z,{author:p(f({},e),{imageURL:null!==(a=r.authorsImageUrls[t])&&void 0!==a?a:e.imageURL})})},t)))})}function d(){return(0,n.jsxs)("header",{children:[(0,n.jsx)(l.Z,{}),(0,n.jsx)(a.Z,{}),(0,n.jsx)(O,{})]})}var y=r(53635),j=r(89583),m=r(71628),g=r(62804),h=r(36712),w=r(41428);function P(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function v(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function x(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function k(){return(0,n.jsx)("b",{children:(0,n.jsx)(h.Z,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read More"})})}function S(e){const{blogPostTitle:t}=e,r=x(e,["blogPostTitle"]);return(0,n.jsx)(w.Z,v(function(e){for(var t=1;t0;if(!(f||b||l))return null;if(t){const e=!!(l||u||s);return(0,n.jsxs)("footer",{className:"docusaurus-mt-lg",children:[f&&(0,n.jsx)("div",{className:(0,o.Z)("row","margin-top--sm",j.k.blog.blogFooterEditMetaRow),children:(0,n.jsx)("div",{className:"col",children:(0,n.jsx)(g.Z,{tags:r})})}),e&&(0,n.jsx)(m.Z,{className:(0,o.Z)("margin-top--sm",j.k.blog.blogFooterEditMetaRow),editUrl:l,lastUpdatedAt:u,lastUpdatedBy:s})]})}return(0,n.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[f&&(0,n.jsx)("div",{className:(0,o.Z)("col",{"col--9":b}),children:(0,n.jsx)(g.Z,{tags:r})}),b&&(0,n.jsx)("div",{className:(0,o.Z)("col text--right",{"col--3":f}),children:(0,n.jsx)(S,{blogPostTitle:i,to:e.permalink})})]})}function N({children:e,className:t}){const r=function(){const{isBlogPostPage:e}=(0,c.nO)();return e?void 0:"margin-bottom--xl"}();return(0,n.jsxs)(i.Z,{className:(0,o.Z)(r,t),children:[(0,n.jsx)(d,{}),(0,n.jsx)(y.Z,{children:e}),(0,n.jsx)(D,{})]})}},17277:(e,t,r)=>{r.d(t,{Z:()=>i});var n=r(24246),o=(r(27378),r(53945)),c=r(34352);function i({items:e,component:t=c.Z}){return(0,n.jsx)(n.Fragment,{children:e.map((({content:e})=>(0,n.jsx)(o.n4,{content:e,children:(0,n.jsx)(t,{children:(0,n.jsx)(e,{})})},e.metadata.permalink)))})}},5254:(e,t,r)=>{r.d(t,{Z:()=>w});var n=r(24246),o=r(27378),c=r(40624),i=r(80474),l=r(29088),a=r(14929);const s={details:"details_Nokh",isBrowser:"isBrowser_QrB5",collapsibleContent:"collapsibleContent_EoA1"};function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function b(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function f(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function p(e){return!!e&&("SUMMARY"===e.tagName||p(e.parentElement))}function O(e,t){return!!e&&(e===t||O(e.parentElement,t))}function d(e){var{summary:t,children:r}=e,d=f(e,["summary","children"]);(0,i.Z)().collectAnchor(d.id);const y=(0,l.Z)(),j=(0,o.useRef)(null),{collapsed:m,setCollapsed:g}=(0,a.u)({initialState:!d.open}),[h,w]=(0,o.useState)(d.open),P=o.isValidElement(t)?t:(0,n.jsx)("summary",{children:null!=t?t:"Details"});return(0,n.jsxs)("details",b(function(e){for(var t=1;t{p(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;p(t)&&O(t,j.current)&&(e.preventDefault(),m?(g(!1),w(!0)):g(!0))},children:[P,(0,n.jsx)(a.z,{lazy:!1,collapsed:m,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{g(e),w(!e)},children:(0,n.jsx)("div",{className:s.collapsibleContent,children:r})})]}))}const y={details:"details_Cn_P"};function j(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(){return m=Object.assign||function(e){for(var t=1;t{r.d(t,{Z:()=>g});var n=r(24246),o=(r(27378),r(40624)),c=r(36712),i=r(89583),l=r(41428);const a={iconEdit:"iconEdit_IMw_"};function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function b(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function f(e){var{className:t}=e,r=b(e,["className"]);return(0,n.jsx)("svg",u(function(e){for(var t=1;t{r.d(t,{Z:()=>ne});var n=r(24246),o=r(27378),c=r(71670),i=r(97134),l=r(38112);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e){return(0,n.jsx)("code",function(e){for(var t=1;t"string"==typeof e&&!e.includes("\n")))}(e)?(0,n.jsx)(s,b({},e)):(0,n.jsx)(l.Z,b({},e))}var p=r(41428);function O(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var d=r(5254);function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function j(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function m(e){const t=o.Children.toArray(e.children),r=t.find((e=>o.isValidElement(e)&&"summary"===e.type)),c=(0,n.jsx)(n.Fragment,{children:t.filter((e=>e!==r))});return(0,n.jsx)(d.Z,j(function(e){for(var t=1;tR(function(e){for(var t=1;t{(async function({id:e,text:t,config:r}){I.N.mermaidAPI.initialize(r);try{return await I.N.render(e,t)}catch(o){var n;throw null===(n=document.querySelector(`#d${e}`))||void 0===n||n.remove(),o}})({id:c,text:e,config:l}).then(n).catch((e=>{n((()=>{throw e}))}))}),[c,e,l]),r}const $={container:"container_RUsj"};function F(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function W(e){for(var t=1;t{var r;const n=t.current;null===(r=e.bindFunctions)||void 0===r||r.call(e,n)}),[e]),(0,n.jsx)("div",{ref:t,className:`${U} ${$.container}`,dangerouslySetInnerHTML:{__html:e.svg}})}function V({value:e}){const t=z({text:e});return null===t?null:(0,n.jsx)(G,{renderResult:t})}function q(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Q(e){for(var t=1;t(0,n.jsx)(w,Q({as:"h1"},e)),h2:e=>(0,n.jsx)(w,Q({as:"h2"},e)),h3:e=>(0,n.jsx)(w,Q({as:"h3"},e)),h4:e=>(0,n.jsx)(w,Q({as:"h4"},e)),h5:e=>(0,n.jsx)(w,Q({as:"h5"},e)),h6:e=>(0,n.jsx)(w,Q({as:"h6"},e)),admonition:_.Z,mermaid:function(e){return(0,n.jsx)(B.Z,{fallback:e=>(0,n.jsx)(L.Ac,W({},e)),children:(0,n.jsx)(V,W({},e))})}};const X="tweetQuote_h8Rz",J="avatarImg_b51M";function K(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const ee=(te=function(e){for(var t=1;t{r.d(t,{Z:()=>i});var n=r(24246),o=(r(27378),r(40624)),c=r(41428);function i(e){const{permalink:t,title:r,subLabel:i,isNext:l}=e;return(0,n.jsxs)(c.Z,{className:(0,o.Z)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[i&&(0,n.jsx)("div",{className:"pagination-nav__sublabel",children:i}),(0,n.jsx)("div",{className:"pagination-nav__label",children:r})]})}},52977:(e,t,r)=>{r.d(t,{Z:()=>l});var n=r(24246),o=(r(27378),r(40624)),c=r(41428);const i={tag:"tag_Nd8t",tagRegular:"tagRegular_TiLs",tagWithCount:"tagWithCount_AQg7"};function l({permalink:e,label:t,count:r,description:l}){return(0,n.jsxs)(c.Z,{href:e,title:l,className:(0,o.Z)(i.tag,r?i.tagWithCount:i.tagRegular),children:[t,r&&(0,n.jsx)("span",{children:r})]})}},62804:(e,t,r)=>{r.d(t,{Z:()=>u});var n=r(24246),o=(r(27378),r(40624)),c=r(36712),i=r(52977);const l={tags:"tags_rTaS",tag:"tag_l5va"};function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e){for(var t=1;t(0,n.jsx)("li",{className:l.tag,children:(0,n.jsx)(i.Z,s({},e))},e.permalink)))})]})}},54461:(e,t,r)=>{r.d(t,{P:()=>c});var n=r(4423);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e={}){const{i18n:{currentLocale:t}}=(0,n.Z)(),r=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,n.Z)();return t[e].calendar}();return new Intl.DateTimeFormat(t,function(e){for(var t=1;t{r.d(t,{c:()=>s});var n=r(27378),o=r(4423);const c=["zero","one","two","few","many","other"];function i(e){return c.filter((t=>e.includes(t)))}const l={locale:"en",pluralForms:i(["one","other"]),select:e=>1===e?"one":"other"};function a(){const{i18n:{currentLocale:e}}=(0,o.Z)();return(0,n.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:i(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),l}}),[e])}function s(){const e=a();return{selectMessage:(t,r)=>function(e,t,r){const n=e.split("|");if(1===n.length)return n[0];n.length>r.pluralForms.length&&console.error(`For locale=${r.locale}, a maximum of ${r.pluralForms.length} plural forms are expected (${r.pluralForms.join(",")}), but the message contains ${n.length}: ${e}`);const o=r.select(t),c=r.pluralForms.indexOf(o);return n[Math.min(c,n.length-1)]}(r,t,e)}}},94544:(e,t,r)=>{r.d(t,{Z:()=>c});var n=r(24246),o=(r(27378),r(29088));function c({children:e,fallback:t}){return(0,o.Z)()?(0,n.jsx)(n.Fragment,{children:null==e?void 0:e()}):null!=t?t:null}},57520:(e,t,r)=>{r.d(t,{Z:()=>N});var n=r(24246),o=r(27378),c=r(53945),i=r(35253),l=r(71422),a=r(40624),s=r(41428);const u={image:"image_oRbT"};function b({author:e,className:t}){const{name:r,url:o,imageURL:c}=e;return(0,n.jsx)("div",{className:(0,a.Z)("avatar margin-bottom--sm",t),children:c&&(0,n.jsx)(s.Z,{className:"avatar__photo-link avatar__photo",href:o,children:(0,n.jsx)("img",{className:u.image,src:c,alt:r,onError:e=>{e.currentTarget.src='data:image/svg+xml,'}})})})}function f(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function y(e){var{expanded:t}=e,r=d(e,["expanded"]);return t?(0,n.jsx)("svg",O(p({viewBox:"0 0 1024 1024",width:"20",height:"20",fill:"currentColor"},r),{children:(0,n.jsx)("path",{d:"M783.915092 1009.031953l-271.898251-277.615587-271.930737 277.550617a49.214558 49.214558 0 0 1-70.752018 0 51.780862 51.780862 0 0 1 0-72.246322l307.274261-313.706262a49.279528 49.279528 0 0 1 70.784503 0l307.33923 313.706262a51.975771 51.975771 0 0 1 0 72.311292 49.409467 49.409467 0 0 1-70.816988 0z m-307.306745-608.05155L169.269117 87.274141A51.975771 51.975771 0 0 1 169.269117 14.96285a49.409467 49.409467 0 0 1 70.816987 0l271.930737 277.615586L783.850122 14.96285a49.409467 49.409467 0 0 1 70.816988 0 51.975771 51.975771 0 0 1 0 72.311291l-307.33923 313.706262a49.376982 49.376982 0 0 1-70.719533 0z"})})):(0,n.jsx)("svg",O(p({viewBox:"0 0 1024 1024",width:"20",height:"20",fill:"currentColor"},r),{children:(0,n.jsx)("path",{d:"M476.612887 1009.12034L169.240699 695.380437a51.981345 51.981345 0 0 1 0-72.319045 49.382277 49.382277 0 0 1 70.824582 0l271.959897 277.645356 271.862433-277.645356a49.382277 49.382277 0 0 1 70.824582 0 51.981345 51.981345 0 0 1 0 72.319045l-307.307212 313.739903a49.447254 49.447254 0 0 1-70.792094 0z m307.274724-608.116755L511.99269 123.455693l-271.959897 277.645357a49.382277 49.382277 0 0 1-70.824582 0 51.981345 51.981345 0 0 1 0-72.319045L476.580399 15.042102a49.382277 49.382277 0 0 1 70.727117 0l307.372188 313.739903a51.981345 51.981345 0 0 1 0 72.319045 49.414766 49.414766 0 0 1-70.824582 0z"})}))}const j={authorCol:"authorCol_mDBc",imageOnlyAuthorRow:"imageOnlyAuthorRow_WiD6",imageOnlyAuthorCol:"imageOnlyAuthorCol_uiac",toggleButton:"toggleButton_WvRg",toggleButtonIconExpanded:"toggleButtonIconExpanded_ERxv"};function m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function g(e){for(var t=1;t(0,n.jsx)("div",{className:j.imageOnlyAuthorCol,children:(0,n.jsx)(b,{author:h(g({},e),{imageURL:null!==(u=r.authorsImageUrls[t])&&void 0!==u?u:e.imageURL})})},t))),t.length>10&&(0,n.jsx)("button",{className:(0,a.Z)("clean-btn",j.toggleButton),type:"button",onClick:()=>l((e=>!e)),"aria-label":"expand",children:(0,n.jsx)(y,{expanded:i})})]})}const P={changelogItemTitleList:"changelogItemTitleList_sueG"};function v(){const{isBlogPostPage:e}=(0,c.nO)();return(0,n.jsx)(i.Z,{className:e?void 0:P.changelogItemTitleList})}function x(){return(0,n.jsxs)("header",{children:[(0,n.jsx)(v,{}),(0,n.jsx)(l.Z,{}),(0,n.jsx)(w,{})]})}var k=r(53543),S=r(53635);const D={changelogItemContainer:"changelogItemContainer_jeDt"};function N({children:e}){return(0,n.jsxs)(k.Z,{className:D.changelogItemContainer,children:[(0,n.jsx)(x,{}),(0,n.jsx)(S.Z,{children:e})]})}},99238:(e,t,r)=>{r.r(t),r.d(t,{default:()=>v});var n=r(24246),o=(r(27378),r(40624)),c=r(44008),i=r(89583),l=r(76341),a=r(41069),s=r(17277),u=r(10057),b=r(57520),f=r(36712),p=r(41428),O=r(52615);const d={rss:"rss_fOa_",twitter:"twitter_LekN"};function y(){return(0,n.jsxs)(p.Z,{href:"https://twitter.com/docusaurus",className:d.twitter,children:[(0,n.jsx)("b",{children:"Twitter"}),(0,n.jsx)("svg",{style:{fill:"#1da1f2",position:"relative",left:4,top:1,marginRight:8},width:"16",height:"16",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:(0,n.jsx)("path",{d:"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"})})]})}function j(){return(0,n.jsxs)(p.Z,{href:"pathname:///changelog/rss.xml",className:d.rss,children:[(0,n.jsx)("b",{children:(0,n.jsx)(f.Z,{id:"changelog.description.rssLink",children:"RSS feeds"})}),(0,n.jsx)("svg",{style:{fill:"#f26522",position:"relative",left:4,top:1,marginRight:8},xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{d:"M6.503 20.752c0 1.794-1.456 3.248-3.251 3.248-1.796 0-3.252-1.454-3.252-3.248 0-1.794 1.456-3.248 3.252-3.248 1.795.001 3.251 1.454 3.251 3.248zm-6.503-12.572v4.811c6.05.062 10.96 4.966 11.022 11.009h4.817c-.062-8.71-7.118-15.758-15.839-15.82zm0-3.368c10.58.046 19.152 8.594 19.183 19.188h4.817c-.03-13.231-10.755-23.954-24-24v4.812z"})})]})}function m({blogTitle:e}){return(0,n.jsxs)("header",{className:"margin-bottom--lg",children:[(0,n.jsx)(O.Z,{as:"h1",style:{fontSize:"3rem"},children:e}),(0,n.jsx)("p",{children:(0,n.jsx)(f.Z,{id:"changelog.description",values:{twitterLink:(0,n.jsx)(y,{}),rssLink:(0,n.jsx)(j,{})},children:"Subscribe through {rssLink} or follow us on {twitterLink} to stay up-to-date with new releases!"})})]})}function g(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(e){for(var t=1;t{r.d(t,{Z:()=>Me});var n={};r.r(n),r.d(n,{ButtonExample:()=>B});var o=r(24246),c=r(27378),i=r(40624),l=r(29088),a=r(32711),s=r(36712),u=r(4423),b=r(94544),f=r(30691),p=r(78844),O=r(73919);function d(){const{prism:e}=(0,O.L)(),{colorMode:t}=(0,p.I)(),r=e.theme,n=e.darkTheme||r;return"dark"===t?n:r}var y=r(88941);const j={playgroundContainer:"playgroundContainer_6Ior",playgroundHeader:"playgroundHeader_Tvsk",playgroundEditor:"playgroundEditor_TySg",playgroundPreview:"playgroundPreview_mApW"};function m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function g(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function P({children:e}){return(0,o.jsx)("div",{className:(0,i.Z)(j.playgroundHeader),children:e})}function v(){return(0,o.jsx)("div",{children:"Loading..."})}function x(){return(0,o.jsx)(b.Z,{fallback:(0,o.jsx)(v,{}),children:()=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(y.Z,{fallback:e=>(0,o.jsx)(f.Ac,g({},e)),children:(0,o.jsx)(a.i5,{})}),(0,o.jsx)(a.IF,{})]})})}function k(){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(P,{children:(0,o.jsx)(s.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,o.jsx)("div",{className:j.playgroundPreview,children:(0,o.jsx)(x,{})})]})}function S(){const e=(0,l.Z)();return(0,o.jsx)(a.uz,{className:j.playgroundEditor},String(e))}function D(){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(P,{children:(0,o.jsx)(s.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,o.jsx)(S,{})]})}const N=e=>`${e};`;function E(e){var t,{children:r,transformCode:n}=e,c=w(e,["children","transformCode"]);const{siteConfig:{themeConfig:i}}=(0,u.Z)(),{liveCodeBlock:{playgroundPosition:l}}=i,s=d();var b;const f=null!==(b=null===(t=c.metastring)||void 0===t?void 0:t.includes("noInline"))&&void 0!==b&&b;return(0,o.jsx)("div",{className:j.playgroundContainer,children:(0,o.jsx)(a.nu,h(g({code:null==r?void 0:r.replace(/\n$/,""),noInline:f,transformCode:null!=n?n:N,theme:s},c),{children:"top"===l?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(k,{}),(0,o.jsx)(D,{})]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(D,{}),(0,o.jsx)(k,{})]})}))})}function Z(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function C(e){for(var t=1;t[\"'])(?.*?)\\1"),$=RegExp("\\{(?[\\d,-]+)\\}"),F={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},W=(G=function(e){for(var t=1;t",end:""}})?V:{},Object.getOwnPropertyDescriptors?Object.defineProperties(G,Object.getOwnPropertyDescriptors(V)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(V)).forEach((function(e){Object.defineProperty(G,e,Object.getOwnPropertyDescriptor(V,e))})),G);var G,V;const q=Object.keys(F);function Q(e,t){const r=e.map((e=>{const{start:r,end:n}=W[e];return`(?:${r}\\s*(${t.flatMap((e=>{var t,r;return[e.line,null===(t=e.block)||void 0===t?void 0:t.start,null===(r=e.block)||void 0===r?void 0:r.end].filter(Boolean)})).join("|")})\\s*${n})`})).join("|");return new RegExp(`^\\s*(?:${r})\\s*$`)}function Y(e,t){let r=e.replace(/\n$/,"");const{language:n,magicComments:o,metastring:c}=t;if(c&&$.test(c)){const e=c.match($).groups.range;if(0===o.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${c}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=o[0].className,n=U()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(n),code:r}}if(void 0===n)return{lineClassNames:{},code:r};const i=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return Q(["js","jsBlock"],t);case"jsx":case"tsx":return Q(["js","jsBlock","jsx"],t);case"html":return Q(["js","jsBlock","html"],t);case"python":case"py":case"bash":return Q(["bash"],t);case"markdown":case"md":return Q(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return Q(["tex"],t);case"lua":case"haskell":case"sql":return Q(["lua"],t);case"wasm":return Q(["wasm"],t);case"vb":case"vba":case"visual-basic":return Q(["vb","rem"],t);case"vbnet":return Q(["vbnet","rem"],t);case"batch":return Q(["rem"],t);case"basic":return Q(["rem","f90"],t);case"fsharp":return Q(["js","ml"],t);case"ocaml":case"sml":return Q(["ml"],t);case"fortran":return Q(["f90"],t);case"cobol":return Q(["cobol"],t);default:return Q(q,t)}}(n,o),l=r.split("\n"),a=Object.fromEntries(o.map((e=>[e.className,{start:0,range:""}]))),s=Object.fromEntries(o.filter((e=>e.line)).map((({className:e,line:t})=>[t,e]))),u=Object.fromEntries(o.filter((e=>e.block)).map((({className:e,block:t})=>[t.start,e]))),b=Object.fromEntries(o.filter((e=>e.block)).map((({className:e,block:t})=>[t.end,e])));for(let p=0;pvoid 0!==e));s[t]?a[s[t]].range+=`${p},`:u[t]?a[u[t]].start=p:b[t]&&(a[b[t]].range+=`${a[b[t]].start}-${p-1},`),l.splice(p,1)}r=l.join("\n");const f={};return Object.entries(a).forEach((([e,{range:t}])=>{U()(t).forEach((t=>{var r;null!==(r=(M=f)[I=t])&&void 0!==r||(M[I]=[]),f[t].push(e)}))})),{lineClassNames:f,code:r}}const X={codeBlockContainer:"codeBlockContainer_jDV4"};function J(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function K(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function ee(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function te(e){var{as:t}=e,r=ee(e,["as"]);const n=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},r={};return Object.entries(e.plain).forEach((([e,n])=>{const o=t[e];o&&"string"==typeof n&&(r[o]=n)})),r}(d());return(0,o.jsx)(t,K(function(e){for(var t=1;t{var t;n(null===(t=e.current)||void 0===t?void 0:t.closest("[role=tabpanel][hidden]"))}),[e,n]);(0,c.useEffect)((()=>{o()}),[o]),function(e,t,r=ce){const n=(0,oe.zX)(t),o=(0,oe.Ql)(r);(0,c.useEffect)((()=>{const t=new MutationObserver(n);return e&&t.observe(e,o),()=>t.disconnect()}),[e,n,o])}(r,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),o())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var le=r(26101);const ae={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function se(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ue(e){for(var t=1;t(0,o.jsx)("span",ue({},c({token:e})),t)));return(0,o.jsxs)("span",be(ue({},l),{children:[r?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("span",{className:ae.codeLineNumber}),(0,o.jsx)("span",{className:ae.codeLineContent,children:a})]}):a,(0,o.jsx)("br",{})]}))}var pe=r(34370);function Oe(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function de(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function ye(e){return(0,o.jsx)("svg",de(function(e){for(var t=1;t{(0,pe.Z)(e),n(!0),l.current=window.setTimeout((()=>{n(!1)}),1e3)}),[e]);return(0,c.useEffect)((()=>()=>window.clearTimeout(l.current)),[]),(0,o.jsx)("button",{type:"button","aria-label":r?(0,s.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,s.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,s.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,i.Z)("clean-btn",t,he.copyButton,r&&he.copyButtonCopied),onClick:a,children:(0,o.jsxs)("span",{className:he.copyButtonIcons,"aria-hidden":"true",children:[(0,o.jsx)(ye,{className:he.copyButtonIcon}),(0,o.jsx)(ge,{className:he.copyButtonSuccessIcon})]})})}function Pe(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ve(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function xe(e){return(0,o.jsx)("svg",ve(function(e){for(var t=1;te.startsWith("language-")));return null==t?void 0:t.replace(/language-/,"")}(t))&&void 0!==b?b:s),p=d(),y=function(){const[e,t]=(0,c.useState)(!1),[r,n]=(0,c.useState)(!1),o=(0,c.useRef)(null),i=(0,c.useCallback)((()=>{const r=o.current.querySelector("code");e?r.removeAttribute("style"):(r.style.whiteSpace="pre-wrap",r.style.overflowWrap="anywhere"),t((e=>!e))}),[o,e]),l=(0,c.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=o.current,r=e>t||o.current.querySelector("code").hasAttribute("style");n(r)}),[o]);return ie(o,l),(0,c.useEffect)((()=>{l()}),[e,l]),(0,c.useEffect)((()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)})),[l]),{codeBlockRef:o,isEnabled:e,isCodeScrollable:r,toggle:i}}(),j=function(e){var t,r;return null!==(r=null===(t=null==e?void 0:e.match(z))||void 0===t?void 0:t.groups.title)&&void 0!==r?r:""}(r)||n,{lineClassNames:m,code:g}=Y(e,{metastring:r,language:f,magicComments:u}),h=null!=l?l:function(e){return Boolean(null==e?void 0:e.includes("showLineNumbers"))}(r);return(0,o.jsxs)(te,{as:"div",className:(0,i.Z)(t,f&&!t.includes(`language-${f}`)&&`language-${f}`),children:[j&&(0,o.jsx)("div",{className:re.codeBlockTitle,children:j}),(0,o.jsxs)("div",{className:re.codeBlockContent,children:[(0,o.jsx)(le.y$,{theme:p,code:g,language:null!=f?f:"text",children:({className:e,style:t,tokens:r,getLineProps:n,getTokenProps:c})=>(0,o.jsx)("pre",{tabIndex:0,ref:y.codeBlockRef,className:(0,i.Z)(e,re.codeBlock,"thin-scrollbar"),style:t,children:(0,o.jsx)("code",{className:(0,i.Z)(re.codeBlockLines,h&&re.codeBlockLinesWithNumbering),children:r.map(((e,t)=>(0,o.jsx)(fe,{line:e,getLineProps:n,getTokenProps:c,classNames:m[t],showLineNumbers:h},t)))})})}),(0,o.jsxs)("div",{className:re.buttonGroup,children:[(y.isEnabled||y.isCodeScrollable)&&(0,o.jsx)(Se,{className:re.codeButton,onClick:()=>y.toggle(),isEnabled:y.isEnabled}),(0,o.jsx)(we,{className:re.codeButton,code:g})]})]})]})}function Ne(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ee(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function Ze(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Ce(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _e(e){for(var t=1;t(0,c.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),a="string"==typeof i?De:ne;return(0,o.jsx)(a,Ee(function(e){for(var t=1;t{r.d(t,{n4:()=>s,Ne:()=>E,ci:()=>N,CS:()=>m,wj:()=>l,nO:()=>u,iZ:()=>h,cH:()=>D});var n=r(24246),o=r(27378),c=r(51114),i=r(32451);function l(){var e;const t=(0,i.Z)(),r=null==t||null===(e=t.data)||void 0===e?void 0:e.blogMetadata;if(!r)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return r}const a=o.createContext(null);function s({children:e,content:t,isBlogPostPage:r=!1}){const c=function({content:e,isBlogPostPage:t}){return(0,o.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,toc:e.toc,isBlogPostPage:t})),[e,t])}({content:t,isBlogPostPage:r});return(0,n.jsx)(a.Provider,{value:c,children:e})}function u(){const e=(0,o.useContext)(a);if(null===e)throw new c.i6("BlogPostProvider");return e}var b=r(66448),f=r(4423);function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function O(e){for(var t=1;tnew Date(e).toISOString();function j(e){const t=e.map(w);return{author:1===t.length?t[0]:t}}function g(e,t,r){return e?{image:P({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${r}`})}:{}}function m(e){const{siteConfig:t}=(0,f.Z)(),{withBaseUrl:r}=(0,b.Cg)(),{metadata:{blogDescription:n,blogTitle:o,permalink:c}}=e,i=`${t.url}${c}`;return{"@context":"https://schema.org","@type":"Blog","@id":i,mainEntityOfPage:i,headline:o,description:n,blogPost:e.items.map((e=>function(e,t,r){const{assets:n,frontMatter:o,metadata:c}=e,{date:i,title:l,description:a,lastUpdatedAt:s}=c;var u;const b=null!==(u=n.image)&&void 0!==u?u:o.image;var f;const p=null!==(f=o.keywords)&&void 0!==f?f:[],d=`${t.url}${c.permalink}`,m=s?y(s):void 0;return O({"@type":"BlogPosting","@id":d,mainEntityOfPage:d,url:d,headline:l,name:l,description:a,datePublished:i},m?{dateModified:m}:{},j(c.authors),g(b,r,l),p?{keywords:p}:{})}(e.content,t,r)))}}function h(){const e=l(),{assets:t,metadata:r}=u(),{siteConfig:n}=(0,f.Z)(),{withBaseUrl:o}=(0,b.Cg)(),{date:c,title:i,description:a,frontMatter:s,lastUpdatedAt:p}=r;var m;const h=null!==(m=t.image)&&void 0!==m?m:s.image;var w;const P=null!==(w=s.keywords)&&void 0!==w?w:[],v=p?y(p):void 0,x=`${n.url}${r.permalink}`;return d(O({"@context":"https://schema.org","@type":"BlogPosting","@id":x,mainEntityOfPage:x,url:x,headline:i,name:i,description:a,datePublished:c},v?{dateModified:v}:{},j(r.authors),g(h,o,i),P?{keywords:P}:{}),{isPartOf:{"@type":"Blog","@id":`${n.url}${e.blogBasePath}`,name:e.blogTitle}})}function w(e){return O({"@type":"Person"},e.name?{name:e.name}:{},e.title?{description:e.title}:{},e.url?{url:e.url}:{},e.email?{email:e.email}:{},e.imageURL?{image:e.imageURL}:{})}function P({imageUrl:e,caption:t}){return{"@type":"ImageObject","@id":e,url:e,contentUrl:e,caption:t}}var v=r(3620),x=r(41428),k=r(52196),S=r(39779);function D(e){const{pathname:t}=(0,v.TH)();return(0,o.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,S.Mg)(e.permalink,t))}(e,t)))),[e,t])}function N(e){const t=(0,k.vM)(e,(e=>`${new Date(e.date).getFullYear()}`)),r=Object.entries(t);return r.reverse(),r}function E({items:e,ulClassName:t,liClassName:r,linkClassName:o,linkActiveClassName:c}){return(0,n.jsx)("ul",{className:t,children:e.map((e=>(0,n.jsx)("li",{className:r,children:(0,n.jsx)(x.Z,{isNavLink:!0,to:e.permalink,className:o,activeClassName:c,children:e.title})},e.permalink)))})}},35434:(e,t,r)=>{r.d(t,{Z:()=>i});var n=r(24246);r(27378);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function i(e){return(0,n.jsx)("svg",c(function(e){for(var t=1;t{r.d(t,{Z:()=>le});var n=r(24246),o=r(27378);function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function l(e){const{mdxAdmonitionTitle:t,rest:r}=function(e){const t=o.Children.toArray(e),r=t.find((e=>o.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),c=t.filter((e=>e!==r));return{mdxAdmonitionTitle:null==r?void 0:r.props.children,rest:c.length>0?(0,n.jsx)(n.Fragment,{children:c}):null}}(e.children);var l;const a=null!==(l=e.title)&&void 0!==l?l:t;return i(function(e){for(var t=1;t(0,n.jsx)(P,X({title:"secondary"},e)),important:e=>(0,n.jsx)(L,X({title:"important"},e)),success:e=>(0,n.jsx)(E,X({title:"success"},e)),caution:function(e){return(0,n.jsx)(d,q(function(e){for(var t=1;t{r.d(t,{Z:()=>T});var n=r(24246),o=r(27378),c=r(40624),i=r(95623),l=r(60029),a=r(36712),s=r(53945),u=r(73919),b=r(52615);function f({year:e,yearGroupHeadingClassName:t,children:r}){return(0,n.jsxs)("div",{role:"group",children:[(0,n.jsx)(b.Z,{as:"h3",className:t,children:e}),r]})}function p({items:e,yearGroupHeadingClassName:t,ListComponent:r}){if((0,u.L)().blog.sidebar.groupByYear){const o=(0,s.ci)(e);return(0,n.jsx)(n.Fragment,{children:o.map((([e,o])=>(0,n.jsx)(f,{year:e,yearGroupHeadingClassName:t,children:(0,n.jsx)(r,{items:o})},e)))})}return(0,n.jsx)(r,{items:e})}const O=(0,o.memo)(p),d="sidebar_P3nc",y="sidebarItemTitle_VrjY",j="sidebarItemList_OSkG",g="sidebarItem_WJ0y",m="sidebarItemLink_Qrfg",h="sidebarItemLinkActive_nUeK",w="yearGroupHeading_lECJ",P=({items:e})=>(0,n.jsx)(s.Ne,{items:e,ulClassName:(0,c.Z)(j,"clean-list"),liClassName:g,linkClassName:m,linkActiveClassName:h});function v({sidebar:e}){const t=(0,s.cH)(e.items);return(0,n.jsx)("aside",{className:"col col--3",children:(0,n.jsxs)("nav",{className:(0,c.Z)(d,"thin-scrollbar"),"aria-label":(0,a.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,n.jsx)("div",{className:(0,c.Z)(y,"margin-bottom--md"),children:e.title}),(0,n.jsx)(O,{items:t,ListComponent:P,yearGroupHeadingClassName:w})]})})}const x=(0,o.memo)(v);var k=r(35612);const S={yearGroupHeading:"yearGroupHeading_Ruz9"},D=({items:e})=>(0,n.jsx)(s.Ne,{items:e,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"});function N({sidebar:e}){const t=(0,s.cH)(e.items);return(0,n.jsx)(O,{items:t,ListComponent:D,yearGroupHeadingClassName:S.yearGroupHeading})}function E(e){return(0,n.jsx)(k.Zo,{component:N,props:e})}const Z=(0,o.memo)(E);function C({sidebar:e}){const t=(0,l.i)();return(null==e?void 0:e.items.length)?"mobile"===t?(0,n.jsx)(Z,{sidebar:e}):(0,n.jsx)(x,{sidebar:e}):null}function _(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function B(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function L(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function T(e){const{sidebar:t,toc:r,children:o}=e,l=L(e,["sidebar","toc","children"]),a=t&&t.items.length>0;return(0,n.jsx)(i.Z,B(function(e){for(var t=1;t{r.d(t,{Z:()=>i});var n=r(24246),o=(r(27378),r(36712)),c=r(6649);function i(e){const{metadata:t}=e,{previousPage:r,nextPage:i}=t;return(0,n.jsxs)("nav",{className:"pagination-nav","aria-label":(0,o.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[r&&(0,n.jsx)(c.Z,{permalink:r,title:(0,n.jsx)(o.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer Entries"})}),i&&(0,n.jsx)(c.Z,{permalink:i,title:(0,n.jsx)(o.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older Entries"}),isNext:!0})]})}},53543:(e,t,r)=>{r.d(t,{Z:()=>o});var n=r(24246);r(27378);function o({children:e,className:t}){return(0,n.jsx)("article",{className:t,children:e})}},53635:(e,t,r)=>{r.d(t,{Z:()=>a});var n=r(24246),o=(r(27378),r(40624)),c=r(86632),i=r(53945),l=r(23387);function a({children:e,className:t}){const{isBlogPostPage:r}=(0,i.nO)();return(0,n.jsx)("div",{id:r?c.uR:void 0,className:(0,o.Z)("markdown",t),children:(0,n.jsx)(l.Z,{children:e})})}},71422:(e,t,r)=>{r.d(t,{Z:()=>p});var n=r(24246),o=(r(27378),r(40624)),c=r(36712),i=r(7812),l=r(54461),a=r(53945);const s={container:"container_x5Un"};function u({readingTime:e}){const t=function(){const{selectMessage:e}=(0,i.c)();return t=>{const r=Math.ceil(t);return e(r,(0,c.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:r}))}}();return(0,n.jsx)(n.Fragment,{children:t(e)})}function b({date:e,formattedDate:t}){return(0,n.jsx)("time",{dateTime:e,children:t})}function f(){return(0,n.jsx)(n.Fragment,{children:" \xb7 "})}function p({className:e}){const{metadata:t}=(0,a.nO)(),{date:r,readingTime:c}=t,i=(0,l.P)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,n.jsxs)("div",{className:(0,o.Z)(s.container,"margin-vert--md",e),children:[(0,n.jsx)(b,{date:r,formattedDate:(p=r,i.format(new Date(p)))}),void 0!==c&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(f,{}),(0,n.jsx)(u,{readingTime:c})]})]});var p}},35253:(e,t,r)=>{r.d(t,{Z:()=>a});var n=r(24246),o=(r(27378),r(40624)),c=r(41428),i=r(53945);const l={title:"title_UBNu"};function a({className:e}){const{metadata:t,isBlogPostPage:r}=(0,i.nO)(),{permalink:a,title:s}=t,u=r?"h1":"h2";return(0,n.jsx)(u,{className:(0,o.Z)(l.title,e),children:r?s:(0,n.jsx)(c.Z,{to:a,children:s})})}},94244:(e,t,r)=>{r.d(t,{Z:()=>X});var n=r(24246),o=(r(27378),r(40624)),c=r(53945),i=r(53543),l=r(35253),a=r(71422),s=r(41428);function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function b(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}const f="githubSvg_jqE4";function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function O(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}const d="xSvg_Q0g7";function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function j(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function g(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function h(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function w(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function P(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function v(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}const x=function(e){return(0,n.jsxs)("svg",v(function(e){for(var t=1;t(0,n.jsx)(D,{platform:e,link:t},e)))})}const E={authorName:"authorName_HPyT",authorTitle:"authorTitle_bPKN"};function Z(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function C(e){return e.href?(0,n.jsx)(s.Z,function(e){for(var t=1;t0;return(0,n.jsxs)("div",{className:(0,o.Z)("avatar margin-bottom--sm",t),children:[a&&(0,n.jsx)(C,{href:u,className:"avatar__photo-link",children:(0,n.jsx)("img",{className:"avatar__photo",src:a,alt:r})}),(r||c)&&(0,n.jsxs)("div",{className:"avatar__intro",children:[(0,n.jsx)("div",{className:"avatar__name",children:(0,n.jsx)(C,{href:u,children:(0,n.jsx)("span",{className:E.authorName,children:r})})}),!!c&&(0,n.jsx)(_,{title:c}),b&&(0,n.jsx)(N,{author:e})]})]})}const L={authorCol:"authorCol_bvyx",imageOnlyAuthorRow:"imageOnlyAuthorRow_L2DM",imageOnlyAuthorCol:"imageOnlyAuthorCol_oyze"};function T(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function M(e){for(var t=1;t!e)),l=1===t.length;var a;return(0,n.jsx)("div",{className:(0,o.Z)("margin-top--md margin-bottom--sm",i?L.imageOnlyAuthorRow:"row",e),children:t.map(((e,t)=>(0,n.jsx)("div",{className:(0,o.Z)(!i&&(l?"col col--12":"col col--6"),i?L.imageOnlyAuthorCol:L.authorCol),children:(0,n.jsx)(B,{singleAuthor:l,author:I(M({},e),{imageURL:null!==(a=r.authorsImageUrls[t])&&void 0!==a?a:e.imageURL})})},t)))})}function R(){return(0,n.jsxs)("header",{children:[(0,n.jsx)(l.Z,{}),(0,n.jsx)(a.Z,{}),(0,n.jsx)(A,{})]})}var U=r(53635),H=r(89583),z=r(71628),$=r(62804),F=r(36712);function W(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function G(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function V(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function q(){return(0,n.jsx)("b",{children:(0,n.jsx)(F.Z,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read More"})})}function Q(e){const{blogPostTitle:t}=e,r=V(e,["blogPostTitle"]);return(0,n.jsx)(s.Z,G(function(e){for(var t=1;t0;if(!(f||b||l))return null;if(t){const e=!!(l||u||s);return(0,n.jsxs)("footer",{className:"docusaurus-mt-lg",children:[f&&(0,n.jsx)("div",{className:(0,o.Z)("row","margin-top--sm",H.k.blog.blogFooterEditMetaRow),children:(0,n.jsx)("div",{className:"col",children:(0,n.jsx)($.Z,{tags:r})})}),e&&(0,n.jsx)(z.Z,{className:(0,o.Z)("margin-top--sm",H.k.blog.blogFooterEditMetaRow),editUrl:l,lastUpdatedAt:u,lastUpdatedBy:s})]})}return(0,n.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[f&&(0,n.jsx)("div",{className:(0,o.Z)("col",{"col--9":b}),children:(0,n.jsx)($.Z,{tags:r})}),b&&(0,n.jsx)("div",{className:(0,o.Z)("col text--right",{"col--3":f}),children:(0,n.jsx)(Q,{blogPostTitle:i,to:e.permalink})})]})}function X({children:e,className:t}){const r=function(){const{isBlogPostPage:e}=(0,c.nO)();return e?void 0:"margin-bottom--xl"}();return(0,n.jsxs)(i.Z,{className:(0,o.Z)(r,t),children:[(0,n.jsx)(R,{}),(0,n.jsx)(U.Z,{children:e}),(0,n.jsx)(Y,{})]})}},17277:(e,t,r)=>{r.d(t,{Z:()=>i});var n=r(24246),o=(r(27378),r(53945)),c=r(94244);function i({items:e,component:t=c.Z}){return(0,n.jsx)(n.Fragment,{children:e.map((({content:e})=>(0,n.jsx)(o.n4,{content:e,children:(0,n.jsx)(t,{children:(0,n.jsx)(e,{})})},e.metadata.permalink)))})}},5254:(e,t,r)=>{r.d(t,{Z:()=>w});var n=r(24246),o=r(27378),c=r(40624),i=r(80474),l=r(29088),a=r(14929);const s={details:"details_Nokh",isBrowser:"isBrowser_QrB5",collapsibleContent:"collapsibleContent_EoA1"};function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function b(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function f(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function p(e){return!!e&&("SUMMARY"===e.tagName||p(e.parentElement))}function O(e,t){return!!e&&(e===t||O(e.parentElement,t))}function d(e){var{summary:t,children:r}=e,d=f(e,["summary","children"]);(0,i.Z)().collectAnchor(d.id);const y=(0,l.Z)(),j=(0,o.useRef)(null),{collapsed:g,setCollapsed:m}=(0,a.u)({initialState:!d.open}),[h,w]=(0,o.useState)(d.open),P=o.isValidElement(t)?t:(0,n.jsx)("summary",{children:null!=t?t:"Details"});return(0,n.jsxs)("details",b(function(e){for(var t=1;t{p(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;p(t)&&O(t,j.current)&&(e.preventDefault(),g?(m(!1),w(!0)):m(!0))},children:[P,(0,n.jsx)(a.z,{lazy:!1,collapsed:g,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{m(e),w(!e)},children:(0,n.jsx)("div",{className:s.collapsibleContent,children:r})})]}))}const y={details:"details_Cn_P"};function j(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function g(){return g=Object.assign||function(e){for(var t=1;t{r.d(t,{Z:()=>m});var n=r(24246),o=(r(27378),r(40624)),c=r(36712),i=r(89583),l=r(41428);const a={iconEdit:"iconEdit_IMw_"};function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function b(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function f(e){var{className:t}=e,r=b(e,["className"]);return(0,n.jsx)("svg",u(function(e){for(var t=1;t{r.d(t,{Z:()=>ne});var n=r(24246),o=r(27378),c=r(71670),i=r(97134),l=r(38112);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e){return(0,n.jsx)("code",function(e){for(var t=1;t"string"==typeof e&&!e.includes("\n")))}(e)?(0,n.jsx)(s,b({},e)):(0,n.jsx)(l.Z,b({},e))}var p=r(41428);function O(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var d=r(5254);function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function j(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function g(e){const t=o.Children.toArray(e.children),r=t.find((e=>o.isValidElement(e)&&"summary"===e.type)),c=(0,n.jsx)(n.Fragment,{children:t.filter((e=>e!==r))});return(0,n.jsx)(d.Z,j(function(e){for(var t=1;tR(function(e){for(var t=1;t{(async function({id:e,text:t,config:r}){I.N.mermaidAPI.initialize(r);try{return await I.N.render(e,t)}catch(o){var n;throw null===(n=document.querySelector(`#d${e}`))||void 0===n||n.remove(),o}})({id:c,text:e,config:l}).then(n).catch((e=>{n((()=>{throw e}))}))}),[c,e,l]),r}const $={container:"container_RUsj"};function F(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function W(e){for(var t=1;t{var r;const n=t.current;null===(r=e.bindFunctions)||void 0===r||r.call(e,n)}),[e]),(0,n.jsx)("div",{ref:t,className:`${U} ${$.container}`,dangerouslySetInnerHTML:{__html:e.svg}})}function V({value:e}){const t=z({text:e});return null===t?null:(0,n.jsx)(G,{renderResult:t})}function q(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Q(e){for(var t=1;t(0,n.jsx)(w,Q({as:"h1"},e)),h2:e=>(0,n.jsx)(w,Q({as:"h2"},e)),h3:e=>(0,n.jsx)(w,Q({as:"h3"},e)),h4:e=>(0,n.jsx)(w,Q({as:"h4"},e)),h5:e=>(0,n.jsx)(w,Q({as:"h5"},e)),h6:e=>(0,n.jsx)(w,Q({as:"h6"},e)),admonition:_.Z,mermaid:function(e){return(0,n.jsx)(B.Z,{fallback:e=>(0,n.jsx)(L.Ac,W({},e)),children:(0,n.jsx)(V,W({},e))})}};const X="tweetQuote_h8Rz",J="avatarImg_b51M";function K(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const ee=(te=function(e){for(var t=1;t{r.d(t,{Z:()=>i});var n=r(24246),o=(r(27378),r(40624)),c=r(41428);function i(e){const{permalink:t,title:r,subLabel:i,isNext:l}=e;return(0,n.jsxs)(c.Z,{className:(0,o.Z)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[i&&(0,n.jsx)("div",{className:"pagination-nav__sublabel",children:i}),(0,n.jsx)("div",{className:"pagination-nav__label",children:r})]})}},52977:(e,t,r)=>{r.d(t,{Z:()=>l});var n=r(24246),o=(r(27378),r(40624)),c=r(41428);const i={tag:"tag_Nd8t",tagRegular:"tagRegular_TiLs",tagWithCount:"tagWithCount_AQg7"};function l({permalink:e,label:t,count:r,description:l}){return(0,n.jsxs)(c.Z,{href:e,title:l,className:(0,o.Z)(i.tag,r?i.tagWithCount:i.tagRegular),children:[t,r&&(0,n.jsx)("span",{children:r})]})}},62804:(e,t,r)=>{r.d(t,{Z:()=>u});var n=r(24246),o=(r(27378),r(40624)),c=r(36712),i=r(52977);const l={tags:"tags_rTaS",tag:"tag_l5va"};function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e){for(var t=1;t(0,n.jsx)("li",{className:l.tag,children:(0,n.jsx)(i.Z,s({},e))},e.permalink)))})]})}},54461:(e,t,r)=>{r.d(t,{P:()=>c});var n=r(4423);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e={}){const{i18n:{currentLocale:t}}=(0,n.Z)(),r=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,n.Z)();return t[e].calendar}();return new Intl.DateTimeFormat(t,function(e){for(var t=1;t{r.d(t,{c:()=>s});var n=r(27378),o=r(4423);const c=["zero","one","two","few","many","other"];function i(e){return c.filter((t=>e.includes(t)))}const l={locale:"en",pluralForms:i(["one","other"]),select:e=>1===e?"one":"other"};function a(){const{i18n:{currentLocale:e}}=(0,o.Z)();return(0,n.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:i(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),l}}),[e])}function s(){const e=a();return{selectMessage:(t,r)=>function(e,t,r){const n=e.split("|");if(1===n.length)return n[0];n.length>r.pluralForms.length&&console.error(`For locale=${r.locale}, a maximum of ${r.pluralForms.length} plural forms are expected (${r.pluralForms.join(",")}), but the message contains ${n.length}: ${e}`);const o=r.select(t),c=r.pluralForms.indexOf(o);return n[Math.min(c,n.length-1)]}(r,t,e)}}},94544:(e,t,r)=>{r.d(t,{Z:()=>c});var n=r(24246),o=(r(27378),r(29088));function c({children:e,fallback:t}){return(0,o.Z)()?(0,n.jsx)(n.Fragment,{children:null==e?void 0:e()}):null!=t?t:null}},57520:(e,t,r)=>{r.d(t,{Z:()=>N});var n=r(24246),o=r(27378),c=r(53945),i=r(35253),l=r(71422),a=r(40624),s=r(41428);const u={image:"image_oRbT"};function b({author:e,className:t}){const{name:r,url:o,imageURL:c}=e;return(0,n.jsx)("div",{className:(0,a.Z)("avatar margin-bottom--sm",t),children:c&&(0,n.jsx)(s.Z,{className:"avatar__photo-link avatar__photo",href:o,children:(0,n.jsx)("img",{className:u.image,src:c,alt:r,onError:e=>{e.currentTarget.src='data:image/svg+xml,'}})})})}function f(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function y(e){var{expanded:t}=e,r=d(e,["expanded"]);return t?(0,n.jsx)("svg",O(p({viewBox:"0 0 1024 1024",width:"20",height:"20",fill:"currentColor"},r),{children:(0,n.jsx)("path",{d:"M783.915092 1009.031953l-271.898251-277.615587-271.930737 277.550617a49.214558 49.214558 0 0 1-70.752018 0 51.780862 51.780862 0 0 1 0-72.246322l307.274261-313.706262a49.279528 49.279528 0 0 1 70.784503 0l307.33923 313.706262a51.975771 51.975771 0 0 1 0 72.311292 49.409467 49.409467 0 0 1-70.816988 0z m-307.306745-608.05155L169.269117 87.274141A51.975771 51.975771 0 0 1 169.269117 14.96285a49.409467 49.409467 0 0 1 70.816987 0l271.930737 277.615586L783.850122 14.96285a49.409467 49.409467 0 0 1 70.816988 0 51.975771 51.975771 0 0 1 0 72.311291l-307.33923 313.706262a49.376982 49.376982 0 0 1-70.719533 0z"})})):(0,n.jsx)("svg",O(p({viewBox:"0 0 1024 1024",width:"20",height:"20",fill:"currentColor"},r),{children:(0,n.jsx)("path",{d:"M476.612887 1009.12034L169.240699 695.380437a51.981345 51.981345 0 0 1 0-72.319045 49.382277 49.382277 0 0 1 70.824582 0l271.959897 277.645356 271.862433-277.645356a49.382277 49.382277 0 0 1 70.824582 0 51.981345 51.981345 0 0 1 0 72.319045l-307.307212 313.739903a49.447254 49.447254 0 0 1-70.792094 0z m307.274724-608.116755L511.99269 123.455693l-271.959897 277.645357a49.382277 49.382277 0 0 1-70.824582 0 51.981345 51.981345 0 0 1 0-72.319045L476.580399 15.042102a49.382277 49.382277 0 0 1 70.727117 0l307.372188 313.739903a51.981345 51.981345 0 0 1 0 72.319045 49.414766 49.414766 0 0 1-70.824582 0z"})}))}const j={authorCol:"authorCol_mDBc",imageOnlyAuthorRow:"imageOnlyAuthorRow_WiD6",imageOnlyAuthorCol:"imageOnlyAuthorCol_uiac",toggleButton:"toggleButton_WvRg",toggleButtonIconExpanded:"toggleButtonIconExpanded_ERxv"};function g(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e){for(var t=1;t(0,n.jsx)("div",{className:j.imageOnlyAuthorCol,children:(0,n.jsx)(b,{author:h(m({},e),{imageURL:null!==(u=r.authorsImageUrls[t])&&void 0!==u?u:e.imageURL})})},t))),t.length>10&&(0,n.jsx)("button",{className:(0,a.Z)("clean-btn",j.toggleButton),type:"button",onClick:()=>l((e=>!e)),"aria-label":"expand",children:(0,n.jsx)(y,{expanded:i})})]})}const P={changelogItemTitleList:"changelogItemTitleList_sueG"};function v(){const{isBlogPostPage:e}=(0,c.nO)();return(0,n.jsx)(i.Z,{className:e?void 0:P.changelogItemTitleList})}function x(){return(0,n.jsxs)("header",{children:[(0,n.jsx)(v,{}),(0,n.jsx)(l.Z,{}),(0,n.jsx)(w,{})]})}var k=r(53543),S=r(53635);const D={changelogItemContainer:"changelogItemContainer_jeDt"};function N({children:e}){return(0,n.jsxs)(k.Z,{className:D.changelogItemContainer,children:[(0,n.jsx)(x,{}),(0,n.jsx)(S.Z,{children:e})]})}},99238:(e,t,r)=>{r.r(t),r.d(t,{default:()=>v});var n=r(24246),o=(r(27378),r(40624)),c=r(44008),i=r(89583),l=r(76341),a=r(41069),s=r(17277),u=r(10057),b=r(57520),f=r(36712),p=r(41428),O=r(52615);const d={rss:"rss_fOa_",twitter:"twitter_LekN"};function y(){return(0,n.jsxs)(p.Z,{href:"https://twitter.com/docusaurus",className:d.twitter,children:[(0,n.jsx)("b",{children:"Twitter"}),(0,n.jsx)("svg",{style:{fill:"#1da1f2",position:"relative",left:4,top:1,marginRight:8},width:"16",height:"16",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:(0,n.jsx)("path",{d:"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"})})]})}function j(){return(0,n.jsxs)(p.Z,{href:"pathname:///changelog/rss.xml",className:d.rss,children:[(0,n.jsx)("b",{children:(0,n.jsx)(f.Z,{id:"changelog.description.rssLink",children:"RSS feeds"})}),(0,n.jsx)("svg",{style:{fill:"#f26522",position:"relative",left:4,top:1,marginRight:8},xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{d:"M6.503 20.752c0 1.794-1.456 3.248-3.251 3.248-1.796 0-3.252-1.454-3.252-3.248 0-1.794 1.456-3.248 3.252-3.248 1.795.001 3.251 1.454 3.251 3.248zm-6.503-12.572v4.811c6.05.062 10.96 4.966 11.022 11.009h4.817c-.062-8.71-7.118-15.758-15.839-15.82zm0-3.368c10.58.046 19.152 8.594 19.183 19.188h4.817c-.03-13.231-10.755-23.954-24-24v4.812z"})})]})}function g({blogTitle:e}){return(0,n.jsxs)("header",{className:"margin-bottom--lg",children:[(0,n.jsx)(O.Z,{as:"h1",style:{fontSize:"3rem"},children:e}),(0,n.jsx)("p",{children:(0,n.jsx)(f.Z,{id:"changelog.description",values:{twitterLink:(0,n.jsx)(y,{}),rssLink:(0,n.jsx)(j,{})},children:"Subscribe through {rssLink} or follow us on {twitterLink} to stay up-to-date with new releases!"})})]})}function m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(e){for(var t=1;t{r.d(t,{Z:()=>Me});var n={};r.r(n),r.d(n,{ButtonExample:()=>B});var o=r(24246),c=r(27378),i=r(40624),l=r(29088),a=r(32711),s=r(36712),u=r(4423),b=r(94544),f=r(30691),p=r(78844),O=r(73919);function d(){const{prism:e}=(0,O.L)(),{colorMode:t}=(0,p.I)(),r=e.theme,n=e.darkTheme||r;return"dark"===t?n:r}var y=r(88941);const j={playgroundContainer:"playgroundContainer_6Ior",playgroundHeader:"playgroundHeader_Tvsk",playgroundEditor:"playgroundEditor_TySg",playgroundPreview:"playgroundPreview_mApW"};function g(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function P({children:e}){return(0,o.jsx)("div",{className:(0,i.Z)(j.playgroundHeader),children:e})}function v(){return(0,o.jsx)("div",{children:"Loading..."})}function x(){return(0,o.jsx)(b.Z,{fallback:(0,o.jsx)(v,{}),children:()=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(y.Z,{fallback:e=>(0,o.jsx)(f.Ac,m({},e)),children:(0,o.jsx)(a.i5,{})}),(0,o.jsx)(a.IF,{})]})})}function k(){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(P,{children:(0,o.jsx)(s.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,o.jsx)("div",{className:j.playgroundPreview,children:(0,o.jsx)(x,{})})]})}function S(){const e=(0,l.Z)();return(0,o.jsx)(a.uz,{className:j.playgroundEditor},String(e))}function D(){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(P,{children:(0,o.jsx)(s.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,o.jsx)(S,{})]})}const N=e=>`${e};`;function E(e){var t,{children:r,transformCode:n}=e,c=w(e,["children","transformCode"]);const{siteConfig:{themeConfig:i}}=(0,u.Z)(),{liveCodeBlock:{playgroundPosition:l}}=i,s=d();var b;const f=null!==(b=null===(t=c.metastring)||void 0===t?void 0:t.includes("noInline"))&&void 0!==b&&b;return(0,o.jsx)("div",{className:j.playgroundContainer,children:(0,o.jsx)(a.nu,h(m({code:null==r?void 0:r.replace(/\n$/,""),noInline:f,transformCode:null!=n?n:N,theme:s},c),{children:"top"===l?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(k,{}),(0,o.jsx)(D,{})]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(D,{}),(0,o.jsx)(k,{})]})}))})}function Z(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function C(e){for(var t=1;t[\"'])(?.*?)\\1"),$=RegExp("\\{(?[\\d,-]+)\\}"),F={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},W=(G=function(e){for(var t=1;t",end:""}})?V:{},Object.getOwnPropertyDescriptors?Object.defineProperties(G,Object.getOwnPropertyDescriptors(V)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(V)).forEach((function(e){Object.defineProperty(G,e,Object.getOwnPropertyDescriptor(V,e))})),G);var G,V;const q=Object.keys(F);function Q(e,t){const r=e.map((e=>{const{start:r,end:n}=W[e];return`(?:${r}\\s*(${t.flatMap((e=>{var t,r;return[e.line,null===(t=e.block)||void 0===t?void 0:t.start,null===(r=e.block)||void 0===r?void 0:r.end].filter(Boolean)})).join("|")})\\s*${n})`})).join("|");return new RegExp(`^\\s*(?:${r})\\s*$`)}function Y(e,t){let r=e.replace(/\n$/,"");const{language:n,magicComments:o,metastring:c}=t;if(c&&$.test(c)){const e=c.match($).groups.range;if(0===o.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${c}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=o[0].className,n=U()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(n),code:r}}if(void 0===n)return{lineClassNames:{},code:r};const i=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return Q(["js","jsBlock"],t);case"jsx":case"tsx":return Q(["js","jsBlock","jsx"],t);case"html":return Q(["js","jsBlock","html"],t);case"python":case"py":case"bash":return Q(["bash"],t);case"markdown":case"md":return Q(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return Q(["tex"],t);case"lua":case"haskell":case"sql":return Q(["lua"],t);case"wasm":return Q(["wasm"],t);case"vb":case"vba":case"visual-basic":return Q(["vb","rem"],t);case"vbnet":return Q(["vbnet","rem"],t);case"batch":return Q(["rem"],t);case"basic":return Q(["rem","f90"],t);case"fsharp":return Q(["js","ml"],t);case"ocaml":case"sml":return Q(["ml"],t);case"fortran":return Q(["f90"],t);case"cobol":return Q(["cobol"],t);default:return Q(q,t)}}(n,o),l=r.split("\n"),a=Object.fromEntries(o.map((e=>[e.className,{start:0,range:""}]))),s=Object.fromEntries(o.filter((e=>e.line)).map((({className:e,line:t})=>[t,e]))),u=Object.fromEntries(o.filter((e=>e.block)).map((({className:e,block:t})=>[t.start,e]))),b=Object.fromEntries(o.filter((e=>e.block)).map((({className:e,block:t})=>[t.end,e])));for(let p=0;pvoid 0!==e));s[t]?a[s[t]].range+=`${p},`:u[t]?a[u[t]].start=p:b[t]&&(a[b[t]].range+=`${a[b[t]].start}-${p-1},`),l.splice(p,1)}r=l.join("\n");const f={};return Object.entries(a).forEach((([e,{range:t}])=>{U()(t).forEach((t=>{var r;null!==(r=(M=f)[I=t])&&void 0!==r||(M[I]=[]),f[t].push(e)}))})),{lineClassNames:f,code:r}}const X={codeBlockContainer:"codeBlockContainer_jDV4"};function J(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function K(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function ee(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function te(e){var{as:t}=e,r=ee(e,["as"]);const n=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},r={};return Object.entries(e.plain).forEach((([e,n])=>{const o=t[e];o&&"string"==typeof n&&(r[o]=n)})),r}(d());return(0,o.jsx)(t,K(function(e){for(var t=1;t{var t;n(null===(t=e.current)||void 0===t?void 0:t.closest("[role=tabpanel][hidden]"))}),[e,n]);(0,c.useEffect)((()=>{o()}),[o]),function(e,t,r=ce){const n=(0,oe.zX)(t),o=(0,oe.Ql)(r);(0,c.useEffect)((()=>{const t=new MutationObserver(n);return e&&t.observe(e,o),()=>t.disconnect()}),[e,n,o])}(r,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),o())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var le=r(26101);const ae={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function se(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ue(e){for(var t=1;t(0,o.jsx)("span",ue({},c({token:e})),t)));return(0,o.jsxs)("span",be(ue({},l),{children:[r?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("span",{className:ae.codeLineNumber}),(0,o.jsx)("span",{className:ae.codeLineContent,children:a})]}):a,(0,o.jsx)("br",{})]}))}var pe=r(34370);function Oe(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function de(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function ye(e){return(0,o.jsx)("svg",de(function(e){for(var t=1;t{(0,pe.Z)(e),n(!0),l.current=window.setTimeout((()=>{n(!1)}),1e3)}),[e]);return(0,c.useEffect)((()=>()=>window.clearTimeout(l.current)),[]),(0,o.jsx)("button",{type:"button","aria-label":r?(0,s.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,s.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,s.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,i.Z)("clean-btn",t,he.copyButton,r&&he.copyButtonCopied),onClick:a,children:(0,o.jsxs)("span",{className:he.copyButtonIcons,"aria-hidden":"true",children:[(0,o.jsx)(ye,{className:he.copyButtonIcon}),(0,o.jsx)(me,{className:he.copyButtonSuccessIcon})]})})}function Pe(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ve(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function xe(e){return(0,o.jsx)("svg",ve(function(e){for(var t=1;te.startsWith("language-")));return null==t?void 0:t.replace(/language-/,"")}(t))&&void 0!==b?b:s),p=d(),y=function(){const[e,t]=(0,c.useState)(!1),[r,n]=(0,c.useState)(!1),o=(0,c.useRef)(null),i=(0,c.useCallback)((()=>{const r=o.current.querySelector("code");e?r.removeAttribute("style"):(r.style.whiteSpace="pre-wrap",r.style.overflowWrap="anywhere"),t((e=>!e))}),[o,e]),l=(0,c.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=o.current,r=e>t||o.current.querySelector("code").hasAttribute("style");n(r)}),[o]);return ie(o,l),(0,c.useEffect)((()=>{l()}),[e,l]),(0,c.useEffect)((()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)})),[l]),{codeBlockRef:o,isEnabled:e,isCodeScrollable:r,toggle:i}}(),j=function(e){var t,r;return null!==(r=null===(t=null==e?void 0:e.match(z))||void 0===t?void 0:t.groups.title)&&void 0!==r?r:""}(r)||n,{lineClassNames:g,code:m}=Y(e,{metastring:r,language:f,magicComments:u}),h=null!=l?l:function(e){return Boolean(null==e?void 0:e.includes("showLineNumbers"))}(r);return(0,o.jsxs)(te,{as:"div",className:(0,i.Z)(t,f&&!t.includes(`language-${f}`)&&`language-${f}`),children:[j&&(0,o.jsx)("div",{className:re.codeBlockTitle,children:j}),(0,o.jsxs)("div",{className:re.codeBlockContent,children:[(0,o.jsx)(le.y$,{theme:p,code:m,language:null!=f?f:"text",children:({className:e,style:t,tokens:r,getLineProps:n,getTokenProps:c})=>(0,o.jsx)("pre",{tabIndex:0,ref:y.codeBlockRef,className:(0,i.Z)(e,re.codeBlock,"thin-scrollbar"),style:t,children:(0,o.jsx)("code",{className:(0,i.Z)(re.codeBlockLines,h&&re.codeBlockLinesWithNumbering),children:r.map(((e,t)=>(0,o.jsx)(fe,{line:e,getLineProps:n,getTokenProps:c,classNames:g[t],showLineNumbers:h},t)))})})}),(0,o.jsxs)("div",{className:re.buttonGroup,children:[(y.isEnabled||y.isCodeScrollable)&&(0,o.jsx)(Se,{className:re.codeButton,onClick:()=>y.toggle(),isEnabled:y.isEnabled}),(0,o.jsx)(we,{className:re.codeButton,code:m})]})]})]})}function Ne(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ee(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function Ze(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Ce(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _e(e){for(var t=1;t(0,c.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),a="string"==typeof i?De:ne;return(0,o.jsx)(a,Ee(function(e){for(var t=1;t{t.d(n,{Z:()=>i});var r=t(24246),o=(t(27378),t(40624));const s={tabItem:"tabItem_pnkT"};function i({children:e,hidden:n,className:t}){return(0,r.jsx)("div",{role:"tabpanel",className:(0,o.Z)(s.tabItem,t),hidden:n,children:e})}},97555:(e,n,t)=>{t.d(n,{Z:()=>S});var r=t(24246),o=t(27378),s=t(40624),i=t(75527),c=t(3620),l=t(44479),a=t(62821),d=t(52196),u=t(53589);function h(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function p(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):function(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})),e}function g(e){var n,t;return null!==(t=null===(n=o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.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 child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})))||void 0===n?void 0:n.filter(Boolean))&&void 0!==t?t:[]}function m(e){const{values:n,children:t}=e;return(0,o.useMemo)((()=>{const e=null!=n?n:function(e){return g(e).map((({props:{value:e,label:n,attributes:t,default:r}})=>({value:e,label:n,attributes:t,default:r})))}(t);return function(e){const n=(0,d.lx)(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 . Every value needs to be unique.`)}(e),e}),[n,t])}function b({value:e,tabValues:n}){return n.some((n=>n.value===e))}function j({queryString:e=!1,groupId:n}){const t=(0,c.k6)(),r=function({queryString:e=!1,groupId:n}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!n)throw new Error('Docusaurus error: The 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 null!=n?n:null}({queryString:e,groupId:n}),s=(0,a._X)(r),i=(0,o.useCallback)((e=>{if(!r)return;const n=new URLSearchParams(t.location.search);n.set(r,e),t.replace(p(function(e){for(var n=1;nfunction({defaultValue:e,tabValues:n}){if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(e){if(!b({value:e,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}var t;const r=null!==(t=n.find((e=>e.default)))&&void 0!==t?t:n[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:n,tabValues:s}))),[a,d]=j({queryString:t,groupId:r}),[h,p]=function({groupId:e}){const n=function(e){return e?`docusaurus.tab.${e}`:null}(e),[t,r]=(0,u.Nk)(n);return[t,(0,o.useCallback)((e=>{n&&r.set(e)}),[n,r])]}({groupId:r}),g=(()=>{const e=null!=a?a:h;return b({value:e,tabValues:s})?e:null})();(0,l.Z)((()=>{g&&c(g)}),[g]);return{selectedValue:i,selectValue:(0,o.useCallback)((e=>{if(!b({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);c(e),d(e),p(e)}),[d,p,s]),tabValues:s}}var y=t(29088);const x={tabList:"tabList_Qoir",tabItem:"tabItem_AQgk"};function v(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function w(e){for(var n=1;n{const n=e.currentTarget,r=l.indexOf(n),s=c[r].value;s!==t&&(a(n),o(s))},u=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const r=l.indexOf(e.currentTarget)+1;var t;n=null!==(t=l[r])&&void 0!==t?t:l[0];break}case"ArrowLeft":{const t=l.indexOf(e.currentTarget)-1;var r;n=null!==(r=l[t])&&void 0!==r?r:l[l.length-1];break}}null==n||n.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":n},e),children:c.map((({value:e,label:n,attributes:o})=>(0,r.jsx)("li",O(w({role:"tab",tabIndex:t===e?0:-1,"aria-selected":t===e,ref:e=>l.push(e),onKeyDown:u,onClick:d},o),{className:(0,s.Z)("tabs__item",x.tabItem,null==o?void 0:o.className,{"tabs__item--active":t===e}),children:null!=n?n:e}),e)))})}function P({lazy:e,children:n,selectedValue:t}){const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(e){const e=i.find((e=>e.props.value===t));return e?(0,o.cloneElement)(e,{className:(0,s.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:i.map(((e,n)=>(0,o.cloneElement)(e,{key:n,hidden:e.props.value!==t})))})}function N(e){const n=f(e);return(0,r.jsxs)("div",{className:(0,s.Z)("tabs-container",x.tabList),children:[(0,r.jsx)(k,w({},n,e)),(0,r.jsx)(P,w({},n,e))]})}function S(e){const n=(0,y.Z)();return(0,r.jsx)(N,O(w({},e),{children:g(e.children)}),String(n))}},94544:(e,n,t)=>{t.d(n,{Z:()=>s});var r=t(24246),o=(t(27378),t(29088));function s({children:e,fallback:n}){return(0,o.Z)()?(0,r.jsx)(r.Fragment,{children:null==e?void 0:e()}):null!=n?n:null}},6698:(e,n,t)=>{t.d(n,{Z:()=>a});var r=t(24246),o=(t(27378),t(40624));const s={browserWindow:"browserWindow_my1Q",browserWindowHeader:"browserWindowHeader_jXSR",row:"row_KZDM",buttons:"buttons_uHc7",right:"right_oyze",browserWindowAddressBar:"browserWindowAddressBar_Pd8y",dot:"dot_giz1",browserWindowMenuIcon:"browserWindowMenuIcon_Vhuh",bar:"bar_rrRL",browserWindowBody:"browserWindowBody_Idgs"};function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function c(e){for(var n=1;n{t.d(n,{Z:()=>He});var r={};t.r(r),t.d(r,{ButtonExample:()=>E});var o=t(24246),s=t(27378),i=t(40624),c=t(29088),l=t(32711),a=t(36712),d=t(4423),u=t(94544),h=t(30691),p=t(78844),g=t(73919);function m(){const{prism:e}=(0,g.L)(),{colorMode:n}=(0,p.I)(),t=e.theme,r=e.darkTheme||t;return"dark"===n?r:t}var b=t(88941);const j={playgroundContainer:"playgroundContainer_6Ior",playgroundHeader:"playgroundHeader_Tvsk",playgroundEditor:"playgroundEditor_TySg",playgroundPreview:"playgroundPreview_mApW"};function f(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function y(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}function w({children:e}){return(0,o.jsx)("div",{className:(0,i.Z)(j.playgroundHeader),children:e})}function O(){return(0,o.jsx)("div",{children:"Loading..."})}function k(){return(0,o.jsx)(u.Z,{fallback:(0,o.jsx)(O,{}),children:()=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(b.Z,{fallback:e=>(0,o.jsx)(h.Ac,y({},e)),children:(0,o.jsx)(l.i5,{})}),(0,o.jsx)(l.IF,{})]})})}function P(){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(w,{children:(0,o.jsx)(a.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,o.jsx)("div",{className:j.playgroundPreview,children:(0,o.jsx)(k,{})})]})}function N(){const e=(0,c.Z)();return(0,o.jsx)(l.uz,{className:j.playgroundEditor},String(e))}function S(){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(w,{children:(0,o.jsx)(a.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,o.jsx)(N,{})]})}const C=e=>`${e};`;function D(e){var n,{children:t,transformCode:r}=e,s=v(e,["children","transformCode"]);const{siteConfig:{themeConfig:i}}=(0,d.Z)(),{liveCodeBlock:{playgroundPosition:c}}=i,a=m();var u;const h=null!==(u=null===(n=s.metastring)||void 0===n?void 0:n.includes("noInline"))&&void 0!==u&&u;return(0,o.jsx)("div",{className:j.playgroundContainer,children:(0,o.jsx)(l.nu,x(y({code:null==t?void 0:t.replace(/\n$/,""),noInline:h,transformCode:null!=r?r:C,theme:a},s),{children:"top"===c?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(P,{}),(0,o.jsx)(S,{})]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(S,{}),(0,o.jsx)(P,{})]})}))})}function I(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function B(e){for(var n=1;n